Обычно называют filter, nat, mangle и raw; пятая таблица — security. В filter цепочка INPUT обрабатывает пакеты локальным сокетам, OUTPUT — созданные локально, FORWARD — маршрутизируемые через хост. Транзитный пакет не становится OUTPUT только потому, что выходит через сетевой интерфейс.
Какие таблицы есть в iptables и как распределяется трафик между цепочками filter?
Назначение filter, nat, mangle, raw и security. Как отличить локальный входящий, локальный исходящий и транзитный трафик.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В классической модели iptables выделяют пять таблиц; их наличие зависит от конфигурации ядра и модулей. Согласно iptables(8):
filter— фильтрация пакетов; выбирается по умолчанию.nat— преобразование адресов и портов. Правила используются при создании соединения, затем преобразование учитывается механизмом отслеживания соединений.mangle— специальные изменения пакетов, например отдельных полей заголовка.raw— прежде всего исключения из connection tracking.security— сетевые правила обязательного контроля доступа, связанные, например, с SELinux.
У filter три встроенные цепочки:
| Цепочка | Какой трафик |
|---|---|
| INPUT | Назначенный локальным сокетам хоста |
| OUTPUT | Созданный локально |
| FORWARD | Пересылаемый хостом между сетями |
Например, обращение к SSH самого сервера проходит через INPUT, исходящее соединение его приложения — через OUTPUT, а пересылка пакета маршрутизатором — через FORWARD.
Не путайте направление интерфейса с выбором цепочки: выходящий через интерфейс транзитный пакет остаётся пересылаемым. Здесь описаны таблицы iptables; у нативного nftables другая модель организации правил.