давайте розглянемо ці два правила 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
Моє запитання: як саме я повинен розуміти встановлений стан в UDP? UDP є без громадянства.
Ось моя інтуїція - я хотів би знати, чи це неправильно:
Сторінка людини повідомляє мені це:
держава
Цей модуль у поєднанні з відстеженням з'єднання дозволяє отримати доступ до стан відстеження з'єднання для цього пакету. - держава ...
Отже, iptables в основному запам'ятовує номер порту, який використовувався для вихідного пакету (що ще він міг запам'ятати для пакету UDP?) , А потім дозволяє перший вхідний пакет, який надсилається назад за короткий проміжок часу? Зловмиснику доведеться відгадати номер порту (чи справді це буде занадто важко?)
Про уникнення конфліктів:
Ядро відслідковує, які порти заблоковані (або іншими службами, або попередніми вихідними пакетами UDP), щоб ці порти не використовувались для нових вихідних пакетів DNS в межах часу? (Що буде, якби я випадково спробував запустити послугу на цьому порту в межах строку - чи спроба буде відхилена / заблокована?)
Будь ласка, знайдіть усі помилки у вищенаведеному тексті :-) Дякую,
Кріс