Was bedeutet "-m tcp" in dieser iptables-Regel?

11

Firewall-Konfiguration von System-Config-Firewall geschrieben

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Trekkerboy
quelle

Antworten:

10

Laut Handbuch handelt es sich um einen ungewöhnlichen, aber harmlosen expliziten Aufruf des tcpiptables-Moduls. Dieses Modul wird implizit aufgerufen, wenn -p tcp(TCP-Protokoll) angegeben wird, und funktioniert nur, wenn -p tcpes trotzdem angegeben ist, aber anscheinend glaubte derjenige, der den Regelgenerator der System-Config-Firewall geschrieben hat, an die Theorie der Zuverlässigkeit von Gürtel und Hosenträgern.

Aaron Miller
quelle
ip {, 6} tables-save fügt es standardmäßig explizit hinzu.
Selurvedu
5

Aus der Handbuchseite von iptables:

-m, --match match

Gibt eine zu verwendende Übereinstimmung an, dh ein Erweiterungsmodul, das auf eine bestimmte Eigenschaft testet. Die Übereinstimmungsmenge bildet die Bedingung, unter der ein Ziel aufgerufen wird. Übereinstimmungen werden zuerst wie zuletzt ausgewertet, wie in der Befehlszeile angegeben, und funktionieren kurzgeschlossen. Wenn also eine Erweiterung false ergibt, wird die Auswertung gestoppt.

In diesem Fall TCP matchwird verwendet.

Was es macht:

TCP-Übereinstimmungen

Diese Übereinstimmungen sind protokollspezifisch und nur bei der Arbeit mit TCP-Paketen und -Streams verfügbar. Um diese Übereinstimmungen zu verwenden, müssen Sie in --protocol tcpder Befehlszeile angeben , bevor Sie versuchen, sie zu verwenden. Beachten Sie, dass die --protocol tcpÜbereinstimmung links von den protokollspezifischen Übereinstimmungen liegen muss. Diese Übereinstimmungen werden in gewissem Sinne implizit geladen, genauso wie die UDP- und ICMP-Übereinstimmungen implizit geladen werden. Die anderen Übereinstimmungen werden in der Fortsetzung dieses Abschnitts nach dem Abschnitt TCP-Übereinstimmungen überprüft.

VL-80
quelle