давайте посмотрим на эти два правила iptables, которые часто используются для разрешения исходящих DNS:
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 --dport 1024:65535
-m state --state ESTABLISHED -j ACCEPT
Мой вопрос: как именно я должен понимать состояние ESTABLISHED в UDP? UDP не имеет состояния.
Вот моя интуиция - я хотел бы знать, если или где это неправильно:
Страница руководства говорит мне это:
государство
Этот модуль, в сочетании с отслеживанием соединения, обеспечивает доступ к состояние отслеживания соединения для этого пакета. --государство ...
Итак, iptables в основном запоминает номер порта, который использовался для исходящего пакета (что еще он может запомнить для UDP-пакета?) , А затем разрешает первый входящий пакет, который отправляется обратно в течение короткого периода времени? Злоумышленник должен угадать номер порта (это будет слишком сложно?)
О том, как избежать конфликтов:
Ядро отслеживает, какие порты заблокированы (другими службами или предыдущими исходящими UDP-пакетами), чтобы эти порты не использовались для новых исходящих DNS-пакетов в течение определенного периода времени? (Что произойдет, если я случайно попытаюсь запустить службу на этом порту в течение определенного периода времени - будет ли эта попытка отклонена / заблокирована?)
Пожалуйста, найдите все ошибки в приведенном выше тексте :-) Спасибо,
Крис