"Oskar Andreasson. Iptables Tutorial 1.1.19 " - читать интересную книгу автора

характеристиками ожидаемого пакета ответа. Сюда включаются адреса
отправителя и получателя. Что касается типа и кода ICMP пакета, то они
соответствуют правильным значениям ожидаемого пакета ICMP Echo Reply.
Идентификатор пакета-ответа тот же, что и в пакете запроса.
Пакет ответа распознается уже как ESTABLISHED. Однако, мы знаем, что
после передачи пакета ответа, через это соединение уже ничего не ожидается,
поэтому после прохождения ответа через netfilter, запись в таблице
трассировщика уничтожается.
В любом случае запрос рассматривается как NEW, а ответ как ESTABLISHED.

ПРИМЕЧАНИЕ: Заметьте при этом, что пакет ответа должен совпадать по
своим характеристикам (адреса отправителя и получателя, тип, код и
идентификатор) с указанными в записи в таблице трассировщика, это
справедливо и для всех остальных типов трафика.

ICMP запросы имеют таймаут, по-умолчанию, 30 секунд. Этого времени, в
большинстве случаев, вполне достаточно. Время таймаута можно изменить в
/proc/sys/net/ipv4/netfilter/ip_ct_icmp_timeout. ( Напоминаю, что переменные
типа /proc/sys/net/ipv4/netfilter/ip_ct_* становятся доступны только после
установки "заплаты" tcp-window-tracking из patch-o-matic прим. перев.).
Значительная часть ICMP используется для передачи сообщений о том, что
происходит с тем или иным UDP или TCP соединением. Всвязи с этим они очень
часто распознаются как связанные (RELATED) с существующим соединением.
Простым примером могут служить сообщения ICMP Host Unreachable или ICMP
Network Unreachable. Они всегда порождаются при попытке соединиться с узлом
сети когда этот узел или сеть недоступны, в этом случае последний
маршрутизатор вернет соответствующий ICMP пакет, который будет распознан как
RELATED. На рисунке ниже показано как это происходит.

В этом примере некоторому узлу передается запрос на соединение (SYN
пакет). Он приобретает статус NEW на брандмауэре. Однако, в этот момент
времени, сеть оказывается недоступной, поэтому роутер возвращает пакет ICMP
Network Unreachable. Трассировщик соединений распознает этот пакет как
RELATED, благодаря уже имеющейся записи в таблице, так что пакет
благополучно будет передан клиенту, который затем оборвет неудачное
соединение. Тем временем, брандмауэр уничтожит запись в таблице, поскольку
для данного соединения было получено сообщение об ошибке.
То же самое происходит и с UDP соединениями - если обнаруживаются
подобные проблемы. Все сообщения ICMP, передаваемые в ответ на UDP
соединение, рассматриваются как RELATED. Взгляните на следующий рисунок.

Датаграмма UDP передается на сервер. Соединению присваивается статус
NEW. Однако доступ к сети запрещен (брандмауэром или роутером), поэтому
обратно возвращается сообщение ICMP Network Prohibited. Брандмауэр
распознает это сообщение как связанное с открытым UDP соединением,
присваивает ему статус RELATED и передает клиенту. После чего запись в
таблице трассировщика уничтожается, а клиент благополучно обрывает
соединение.

4.7. Поведение по-умолчанию