Как я могу объединить эти два правила в одно правило iptables?
iptables -A FORWARD -d 192.168.1.64/26 -j ACCEPT
iptables -A FORWARD -s 192.168.1.64/26 -j ACCEPT
ОБНОВЛЕНИЕ
Я искал способ получить что-то похожее на хост tcpdump 1.2.3.4
(источник совпадения или место назначения в одном параметре / правиле).
Спасибо @Zoredache, который заявил, что такого не существует в iptables . Мой вопрос был мотивирован тем, что было трудно поверить, что, когда я погуглил, я ничего не нашел (и такой сахар синтеакс может упростить / уменьшить множество правил iptables, установленных в некоторых случаях), поэтому я задал этот вопрос здесь, чтобы быть уверенным.
Я подумал, что это справедливый вопрос, и что правильно отрицать любого, кто пытается дать ответ, явно не отвечающий на мой простой вопрос.
Я не собирался быть грубым и не оскорблять никого, кто пытался помочь, я просто пытался поощрять уместные и хорошие ответы (например, те, что дал мне @Zoredache) на этом сайте. То, как люди реагируют на мой голос против, показывает мне, что такое отношение не принято в этом сообществе, и я приношу извинения за это.
Вы просто не можете сделать это с помощью базовой фильтрации. Как вы думаете, какую пользу это принесет? В чем проблема наличия двух правил?
Наиболее близким решением, вероятно, было бы использовать ipset , а затем написать правило, выполняющее - match-set
. Но использование набора, вероятно, потребует выполнения еще большего количества команд и, вероятно, не даст вам никаких улучшений производительности или чего-то еще.
Ну, вы можете определить только один раз, если этого достаточно для ваших целей:
for h in 192.168.1.64/26 ; do
iptables -A FORWARD -d $h -j ACCEPT
iptables -A FORWARD -s $h -j ACCEPT
done