Какие таблицы есть в iptables и как распределяется трафик между цепочками filter?

Назначение filter, nat, mangle, raw и security. Как отличить локальный входящий, локальный исходящий и транзитный трафик.

Короткий ответ

Что ответить на собеседовании

Обычно называют filter, nat, mangle и raw; пятая таблица — security. В filter цепочка INPUT обрабатывает пакеты локальным сокетам, OUTPUT — созданные локально, FORWARD — маршрутизируемые через хост. Транзитный пакет не становится OUTPUT только потому, что выходит через сетевой интерфейс.

Подробный разбор

Ответ с пояснениями

В классической модели iptables выделяют пять таблиц; их наличие зависит от конфигурации ядра и модулей. Согласно iptables(8):

  • filter — фильтрация пакетов; выбирается по умолчанию.
  • nat — преобразование адресов и портов. Правила используются при создании соединения, затем преобразование учитывается механизмом отслеживания соединений.
  • mangle — специальные изменения пакетов, например отдельных полей заголовка.
  • raw — прежде всего исключения из connection tracking.
  • security — сетевые правила обязательного контроля доступа, связанные, например, с SELinux.

У filter три встроенные цепочки:

Цепочка Какой трафик
INPUT Назначенный локальным сокетам хоста
OUTPUT Созданный локально
FORWARD Пересылаемый хостом между сетями

Например, обращение к SSH самого сервера проходит через INPUT, исходящее соединение его приложения — через OUTPUT, а пересылка пакета маршрутизатором — через FORWARD.

Не путайте направление интерфейса с выбором цепочки: выходящий через интерфейс транзитный пакет остаётся пересылаемым. Здесь описаны таблицы iptables; у нативного nftables другая модель организации правил.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку