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

Рисунок ниже более наглядно демонстрирует это:

Этот рисунок дает довольно ясное представление о порядке прохождения
пакетов через различные цепочки. В первой точке принятия решения о
маршрутизации (routing decision) все пакеты, предназначенные данному хосту
направляются в цепочку INPUT, остальные - в цепочку FORWARD.
Обратите внимание также на тот факт, что пакеты, с адресом назначения
на брандмауэр, могут претерпеть изменение сетевого адреса назначения (DNAT)
в цепочке PREROUTING таблицы nat и соответственно дальнейшая маршрутизация в
первой точке будет выполняться в зависимости от произведенных изменений.
Запомните - все пакеты проходят через таблицы и цепочки по тому или иному
маршруту. Даже если выполняется DNAT в ту же сеть, откуда пакет пришел, то
он все равно продолжит движение по цепочкам.

СОВЕТ: В сценарии rc.test-iptables.txt вы сможете найти дополнительную
информацию о порядке прохождения пакетов.

3.2. Таблица Mangle

Как уже упоминалось выше, эта таблица предназначена, главным образом
для внесения изменений в заголовки пакетов (mangle - искажать, изменять.
прим. перев.). Т.е. в этой таблице вы можете устанавливать биты TOS (Type Of
Service) и т.д.

ОСТОРОЖНО: Еще раз напоминаю вам, что в этой таблице не следует
производить любого рода фильтрацию, маскировку или преобразование адресов
(DNAT, SNAT, MASQUERADE).

В этой таблице допускается выполнять только нижеперечисленные действия:

TOS
TTL
MARK

Действие TOS выполняет установку битов поля Type of Service в пакете.
Это поле используется для назначения сетевой политики обслуживания пакета,
т.е. задает желаемый вариант маршрутизации. Однако, следует заметить, что
данное свойство в действительности используется на незначительном количестве
маршрутизаторов в Интернете. Другими словами, не следует изменять состояние
этого поля для пакетов, уходящих в Интернет, потому что на роутерах, которые
таки обслуживают это поле, может быть принято неправильное решение при
выборе маршрута.
Действие TTL используется для установки значения поля TTL (Time To
Live) пакета. Есть одно неплохое применение этому действию. Мы можем
присваивать определенное значение этому полю, чтобы скрыть наш брандмауэр от
чересчур любопытных провайдеров (Internet Service Providers). Дело в том,
что отдельные провайдеры очень не любят когда одно подключение разделяется
несколькими компьютерами. и тогда они начинают проверять значение TTL
приходящих пакетов и используют его как один из критериев определения того,
один компьютер "сидит" на подключении или несколько.