Frage Iptables, was ist der Unterschied zwischen -m Zustand und -m Conntrack?


Was ist der praktische Unterschied zwischen:

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

und

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

Welcher ist am besten zu benutzen?

Vielen Dank.


48
2018-02-10 22:56


Ursprung


Beachten Sie, dass für Linux Kernel 3.7 und höher der Status entfernt wurde. Nur Conntrack ist verfügbar. - Mr. X
Ich verwende 3.10.0 und state wird noch unterstützt ...
state wird zugunsten von conntrack veraltet und kann abhängig davon, wie Ihr Kernel erstellt wurde, möglicherweise nicht kompiliert werden. - Michael Hampton♦


Antworten:


Beide verwenden dieselben Kernel-Interna darunter (Verbindungs-Tracking-Subsystem).

Header von xt_conntrack.c:

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

Also ich würde sagen - State-Modul ist einfacher (und vielleicht weniger fehleranfällig). Es ist auch länger im Kernel. Conntrack auf der anderen Seite hat mehr Optionen und Funktionen [1].

Mein Anruf ist, Conntrack zu verwenden, wenn Sie seine Eigenschaften benötigen, andernfalls haften Sie mit Zustandsmodul.

Ähnliche Fragen zu netfilter maillist.

[1] Ziemlich nützlich wie "-m conntrack --ctstate DNAT -j MASQUERADE" routing / DNAT-Korrektur ;-)


26
2018-02-11 00:29





Es gibt keinen Unterschied im Ergebnis dieser beiden Regeln. Beide Übereinstimmungserweiterungen verwenden dieselben Daten, um den Verbindungsverfolgungsstatus zu ermitteln. state ist die "alte" Übereinstimmungserweiterung und conntrack ist neuer und hat viel mehr Optionen als nur den Verbindungs-Tracking-Status zu erfüllen.


8
2018-02-11 00:21





Iptables Doc

Wie die Dokumentation sagt:

Die Conntrack-Übereinstimmung ist eine erweiterte Version der Statusübereinstimmung, die es ermöglicht, Pakete viel granularer abzugleichen. Sie können sich die Informationen ansehen, die direkt im Verbindungs-Tracking-System verfügbar sind, ohne "Frontend" -Systeme, wie z. B. in der Statusübereinstimmung. Weitere Informationen zum Verbindungs-Tracking-System finden Sie im Kapitel Die State-Machine.


1
2017-09-28 10:10



Referenz funktioniert nicht mehr - prosti