iptables и отслеживание соединений

7.6. iptables и отслеживание соединений

В состав iptables включён модуль, позволяющий администраторам наблюдать и ограничивать подключения к службам, работающим во внутренней сети, с помощью так называемого отслеживания соединений. Подсистема отслеживания соединений запоминает соединения в таблице, благодаря чему администраторы могут разрешать или запрещать доступ, исходя из следующих состояний соединения:

  • NEW (Новое) — Пакет запрашивает новое соединение, как, например, HTTP-запрос.

  • ESTABLISHED (Установлено) — пакет относится к существующему соединению.

  • RELATED (Связанный) — Пакет запрашивает новое подключение, но оно является частью существующего, как в случае с активными FTP-соединениями, когда подключение идёт к порту 20, а передача выполняется через любой неиспользуемый порт выше 1023.

  • INVALID (Неверный) — Пакет не является частью ни одного из соединения в таблице отслеживания соединений.

Вы можете использовать функциональность сохранения состояния, предлагаемую средством отслеживания соединений iptables с любым сетевым протоколом, даже если сам протокол состояние не поддерживает (как, например, UDP). Ниже показано правило, в котором отслеживание соединения используется для пересылки только пакетов, связанных с внешним соединением:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ALLOW