Содержание

Conntrack

Компонент netfilter, обеспечивающий отслеживание состояния соединения и классификацию пакетов по принадлежности к соединениям, что обеспечивает stateful-фильтрацию.

Сведения

Классифицирует каждый пакет либо как открывающий новое соединение, либо относящийся к уже установленному. При этом, понятие «состояние соединения» искусственно вводится даже для протоколов не использующих его (UDP, ICMP).
Отслеживание связанных соединений, ICMP-ответы на TCP и UDP, FTP сессии с несколькими соединениями и т.д.
Механизм анализирует все пакеты, кроме помеченных NOTRACK в таблице raw, функция удобна например во время DDoS-атаки, что бы не тратить ресурсы на отслеживание с этих хостов.

Критерий состояния соединения

Критерий conntrack позволяет классифицировать пакеты на основании их отношения к соединениям.
Возможные состояния (–ctstate):

Возможные состояния (–ctstatus):

conntrack пришел на замену старому критерию state (использование его уже не рекомендуется).

Маркировка соединений

Позволяет классифицировать соединение в целом на основании одного пакета. Маркировку автоматически приобретают все пакеты в данном соединении и связанными с ним.

Статистика по соединениям

Критерий connbytes позволяет контролировать кол-во байт или пакетов, переданных по каждому конкретному соединению (возможность квот или приоритетов загрузки).

Количество соединений

Критерий connlimit позволяет ограничивать число одновременно открытых TCP-соединений с каждого хоста или подсети.

Модули

Часть функционала содержится в модулях, некоторые из них нужно включать вручную, например nf_conntrack_ftp, модуль для распознавания связанных ftp соединений.
Просмотреть список модулей в системе:

# lsmod

Включить модуль nf_conntrack_ftp:

# modprobe nf_conntrack_ftp

Утилиты (conntrack-tools)

Комплект conntrack-tools содержит две утилиты: