Iptables, яка різниця між -m станом та -m conntrack?


48

Яка практична різниця між:

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

і

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Який із них найкраще використовувати?

Дякую.


9
Зауважте, що для Linux Kernel 3.7 та пізніших версій стан було видалено. Доступний лише контрейдер.
Містер X

У мене працює 3.10.0 і стан все ще підтримується ...

1
стан є застарілим на користь conntrack, і може бути, а може і не бути складеним залежно від того, як побудовано ваше ядро.
Майкл Хемптон

Відповіді:


26

Обидва використовують однакові внутрішні ядра під ними (підсистема відстеження з'єднання).

Заголовок xt_conntrack.c:

xt_conntrack - Netfilter module to match connection tracking
information. (Superset of Rusty's minimalistic state match.)

Тому я б сказав - модуль стану простіший (і, можливо, менше схильний до помилок). Це також довше в ядрі. Conntrack з іншого боку має більше можливостей та можливостей [1].

Мій дзвінок - використовувати conntrack, якщо вам потрібні його функції, інакше дотримуйтесь модуля стану.

Аналогічне запитання щодо netfilter maillist.

[1] Настільки корисний, як "-m conntrack --ctstate DNAT -j MASQUERADE" маршрутизація / налаштування DNAT ;-)


8

Немає різниці в результатах цих двох правил. Обидва розширення відповідності використовують однакові дані для відповідності стану відстеження з'єднання. state - це "старе" розширення відповідності, а conrack є новим і має набагато більше варіантів, ніж просто відповідати стану відстеження з'єднання.


1

Iptables Doc

Як говориться в документації:

Контракційний збіг - це розширена версія збігу стану, яка дає можливість зіставляти пакети набагато більш детально. Давайте давайте розглянемо інформацію, безпосередньо доступну в системі відстеження з'єднань, без будь-яких систем «фронтенд», наприклад, у матчі стану. Щоб отримати додаткові відомості про систему відстеження з'єднання, перегляньте розділ Стан машини.


посилання вже не працює
prosti

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.