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