Я читаю это Howto, и есть что-то вроде этого:
Мы можем разрешить установленным сеансам получать трафик:
$ sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Приведенное выше правило не имеет пробелов по обе стороны от запятой в ESTABLISHED, RELATED
Если приведенная выше строка не работает, возможно, вы используете кастрированный VPS, поставщик которого не предоставил расширение, и в этом случае в качестве крайней меры можно использовать более низкую версию:
$ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Есть ли значительная разница в работе между -m conntrack --ctstate
и -m state --state
? Они говорят, что можно не работать, но они не говорят, почему. Почему я должен предпочесть одно другому?
state
это псевдонимconntrack
. Так что это не имеет значения. Я полагаю, что в какой-то момент в будущем они могутstate
полностью удалиться, но пока не имеет значения, используете ли вы его.Ответы:
Я не претендую на звание эксперта по
iptables
правилам, но первая команда использует расширение отслеживания соединений (conntrack
), а вторая используетstate
расширение.Точка данных № 1
Согласно этому документу
conntrack
расширение вытесненыstate
.Точка данных № 2
Тем не менее, я нашел этот SF Q & A под названием: Вопросы брандмауэра о состоянии и политике? где ФП заявил, что задал этот вопрос на IRC в # iptables @ freenode. Обсудив это, он пришел к выводу, что:
Точка данных № 3
Наконец, я нашел этот SF Q & A под названием: Iptables, в чем разница между -m state и -m conntrack? , Ответ на этот вопрос, вероятно, является лучшим доказательством и советом о том, как рассматривать использование
conntrack
иstate
.выдержка
Точка данных № 4
Я нашел эту ветку в обсуждениях netfilter@vger.kernel.org netfilte / iptables под названием: сопоставление состояний устарело в версии 1.4.17 , которая говорит, что
state
это просто псевдоним,conntrack
поэтому не имеет значения, какой вы используете, в оба обстоятельства вы используетеconntrack
.выдержка
Рекомендации
источник
Я не эксперт по netfilter, но я заглянул в man-страницу iptables-extension и удивился, вот она
Таким образом, state является частью conntrack и просто его более простой версией, если вам действительно нужно - состояние, а не более причудливые функции conntrack.
источник