Beachten Sie, dass der Status für Linux Kernel 3.7 und höher entfernt wurde. Es ist nur conntrack verfügbar.
Mr. X
Ich lasse 3.10.0 laufen und Zustand wird noch gestützt ...
1
state ist zugunsten von conntrack veraltet und kann je nach dem, wie Ihr Kernel erstellt wurde, kompiliert werden oder nicht.
Michael Hampton
Antworten:
26
Beide verwenden die gleichen Kernel-Interna (Connection Tracking Subsystem).
Header von xt_conntrack.c:
xt_conntrack - Netfilter module to match connection tracking
information. (Superset of Rusty's minimalistic state match.)
Also würde ich sagen - Zustandsmodul ist einfacher (und vielleicht weniger fehleranfällig). Es ist auch länger im Kernel. Conntrack auf der anderen Seite bietet mehr Optionen und Funktionen [1].
Mein Aufruf ist, conntrack zu verwenden, wenn Sie dessen Funktionen benötigen, ansonsten bleiben Sie beim Zustandsmodul.
Das Ergebnis dieser beiden Regeln unterscheidet sich nicht. Beide Übereinstimmungserweiterungen verwenden dieselben Daten, um den Verbindungsverfolgungsstatus abzugleichen. state ist die "alte" Übereinstimmungserweiterung und conntrack ist neuer und bietet viel mehr Optionen als nur das Übereinstimmen mit dem Verbindungsverfolgungsstatus.
Die Conntrack-Übereinstimmung ist eine erweiterte Version der Zustandsübereinstimmung, die es ermöglicht, Pakete viel genauer abzugleichen. Hiermit können Sie Informationen anzeigen, die direkt im Verbindungsverfolgungssystem verfügbar sind, ohne "Frontend" -Systeme, wie z. B. im Statusvergleich. Weitere Informationen zum Verbindungsverfolgungssystem finden Sie im Kapitel Die Zustandsmaschine.
Antworten:
Beide verwenden die gleichen Kernel-Interna (Connection Tracking Subsystem).
Header von xt_conntrack.c:
Also würde ich sagen - Zustandsmodul ist einfacher (und vielleicht weniger fehleranfällig). Es ist auch länger im Kernel. Conntrack auf der anderen Seite bietet mehr Optionen und Funktionen [1].
Mein Aufruf ist, conntrack zu verwenden, wenn Sie dessen Funktionen benötigen, ansonsten bleiben Sie beim Zustandsmodul.
Ähnliche Frage zu netfilter maillist.
[1] Sehr nützlich wie "-m conntrack --ctstate DNAT -j MASQUERADE" Routing / DNAT Fixup ;-)
quelle
Das Ergebnis dieser beiden Regeln unterscheidet sich nicht. Beide Übereinstimmungserweiterungen verwenden dieselben Daten, um den Verbindungsverfolgungsstatus abzugleichen. state ist die "alte" Übereinstimmungserweiterung und conntrack ist neuer und bietet viel mehr Optionen als nur das Übereinstimmen mit dem Verbindungsverfolgungsstatus.
quelle
Iptables Doc
Wie die Dokumentation sagt:
quelle