Примечание:Входной сетевой интерфейс (например, eth0)
Шаг:3
Таблица:mangle
Цепочка:PREROUTING
Примечание:Обычно используется для внесения изменений в заголовок пакета, например для установки битов TOS и пр.
Шаг:4
Таблица:nat
Цепочка:PREROUTING
Примечание:Преобразование адресов ( Destination Network Address Translation ). Фильтрация пакетов здесь допускается только в исключительных случаях.
Шаг:5
Таблица:–
Цепочка:-
Примечание:Принятие решения о маршрутизации.
Шаг:6
Таблица:mangle
Цепочка:INPUT
Примечание:Пакет попадает в цепочку INPUT таблицы mangle. Здесь внесятся изменения в заголовок пакета перед тем как он будет передан локальному приложению.
Шаг:7
Таблица:filter
Цепочка:INPUT
Примечание:Здесь производится фильтрация входящего трафика. Помните, что все входящие пакеты, адресованные нам, проходят через эту цепочку, независимо от того с какого интерфейса они поступили.
Шаг:8
Таблица:–
Цепочка:-
Примечание: Локальный процесс/приложение (т.е., программа-сервер или программа-клиент)
Важно помнить, что на этот раз пакеты идут через цепочку INPUT , а не через FORWARD .
И в заключение мы рассмотрим порядок движения пакетов, созданных локальными процессами.
Таблица 3-3. От локальных процессов
(Шаг – Таблица – Цепочка – Примечание)
Шаг:1
Таблица:–
Цепочка:-
Примечание: Локальный процесс (т.е., программа-сервер или программа-клиент).
Шаг:2
Таблица:–
Цепочка:-
Примечание: Принятие решения о маршрутизации. Здесь решается куда пойдет пакет дальше – на какой адрес, через какой сетевой интерфейс и пр.
Шаг:3
Таблица:mangle
Цепочка:OUTPUT
Примечание: Здесь производится внесение изменений в заголовок пакета. Выполнение фильтрации в этой цепочке может иметь негативные последствия.
Шаг:4
Таблица:nat
Цепочка:OUTPUT
Примечание: Эта цепочка используется для трансляции сетевых адресов (NAT) в пакетах, исходящих от локальных процессов брандмауэра.
Шаг:5
Таблица:Filter
Цепочка:OUTPUT
Примечание: Здесь фильтруется исходящий траффик.
Шаг:6
Таблица:mangle
Цепочка:POSTROUTING
Примечание: Цепочка POSTROUTING таблицы mangle в основном используется для правил, которые должны вносить изменения в заголовок пакета перед тем, как он покинет брандмауэр, но уже после принятия решения о маршрутизации. В эту цепочку попадают все пакеты, как транзитные, так и созданные локальными процессами брандмауэра.
Шаг:7
Таблица:nat
Цепочка:POSTROUTING
Примечание: Здесь выполняется Source Network Address Translation . Не следует в этой цепочке производить фильтрацию пакетов во избежание нежелательных побочных эффектов. Однако и здесь можно останавливать пакеты, применяя политику по-умолчанию DROP.
Шаг:8
Таблица:-
Цепочка:-
Примечание: Сетевой интерфейс (например, eth0)
Шаг:9
Таблица:-
Цепочка:-
Примечание: Кабель (т.е., Internet)
Теперь мы знаем, что есть три различных варианта прохождения пакетов. Рисунок ниже более наглядно демонстрирует это:
Этот рисунок дает довольно ясное представление о порядке прохождения пакетов через различные цепочки. В первой точке принятия решения о маршрутизации (routing decision) все пакеты, предназначенные данному хосту направляются в цепочку INPUT , остальные – в цепочку FORWARD .
Обратите внимание также на тот факт, что пакеты, с адресом назначения на брандмауэр, могут претерпеть изменение сетевого адреса назначения (DNAT) в цепочке PREROUTING таблицы nat и соответственно дальнейшая маршрутизация в первой точке будет выполняться в зависимости от произведенных изменений. Запомните – все пакеты проходят через таблицы и цепочки по тому или иному маршруту. Даже если выполняется DNAT в ту же сеть, откуда пакет пришел, то он все равно продолжит движение по цепочкам.
Читать дальше