Как комбинируются параметры iptables?

Как комбинируются параметры iptables?

Я искал и искал, но не смог найти никакой информации о том, как комбинируются параметры iptables.

Если я хочу сопоставить трафик с IP-адреса или на него, могу ли я сделать -s a.b.c.d -d a.b.c.d? То есть, объединены ли параметры -sи как-dили(пакет соответствует любому) илии(пакет соответствует всем)?

Немного связано, как взаимодействуют -m iprangeи -sи -d? То есть, могу ли я использовать -m iprange --src-range 10.0.0.1-10.0.0.8для указания диапазона, а затем добавить -s !10.0.0.5, чтобы сделать исключение?

решение1

Лучший способ узнать — это проверить. Да, вы можете объединить -sи -d, однако, имеет ли это смысл, зависит от того, в какой таблице вы используете правило.

Все параметры одного правила AND. Если хотите OR, можете создать таблицу, в которую будете отправлять трафик.

Некоторые комбинации могут привести к ошибкам, поэтому лучше всего попробовать.

Допустим, ваша политика — принять, и вы хотите сопоставлять только если правило соответствует. Добавьте правило, iptables -A OUTPUT -s x.x.x.x -d x.x.x.x -j ACCEPTтак как цель будет такой же, как по умолчанию, оно не окажет никакого влияния, но оно будет отображаться iptables -vnLи иметь счетчики.

Есть более продвинутое ведение журнала и т. д., но это быстрый и простой способ быстрой проверки правил. (И, конечно, tcpdump — ваш друг)

В отношении iprangeя бы снова сказал, что лучше всего протестировать. В худшем случае попытка добавить правило приведет к ошибке. (надеюсь, кто-то другой сможет дать вам лучшие ответы на эту часть вашего вопроса)

Связанный контент