
netfilter
scheint abgelehnten Datenverkehr aus meiner INPUT
Kette durchzulassen OUTPUT
. Hier sind die Regeln aus der INPUT
Kette, die auf die betreffenden Pakete angewendet werden:
LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "ICATCH:"
REJECT-PKT all -- * * 0.0.0.0/0 0.0.0.0/0
Die benutzerdefinierte REJECT-PKT
Kette und ihre relevante Regel:
REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp reject-with tcp-reset
Hier ist das protokollierte Ergebnis:
May 15 06:41:51 li51-144 kernel: ICATCH:IN=eth0 OUT= MAC=f2:3c:91:1f:61:44:84:78:ac:0d:97:c1:08:00 SRC=188.138.135.9 DST=<my IP> LEN=40 TOS=0x00 PREC=0x00 TTL=46 ID=46841 PROTO=TCP SPT=8838 DPT=23 WINDOW=22014 RES=0x00 SYN URGP=0
May 15 06:41:51 li51-144 kernel: OCATCH:IN= OUT=eth0 SRC=<my IP> DST=188.138.135.9 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=23 DPT=8838 WINDOW=0 RES=0x00 ACK RST URGP=0
Die zweite Zeile ergibt sich aus der folgenden (vorletzten) Regel der OUTPUT
Tabelle:
LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "OCATCH:"
Ich hatte den Eindruck, dass abgelehnte Pakete irgendwie vom Kernel markiert wurden und dass TCP-Verkehr mit einem RST
aus iptables
Regeln resultierenden Flag nicht von der Firewall verarbeitet wurde.
Was habe ich falsch verstanden?
Antwort1
Wie @Aaron sagte, das ist normal.
Wenn ein eingehendes Paket REJECT
die Regel erreicht, wird es vom Netzfilter verarbeitet und dem Absender wird mit RST
einem Paket und einer Nachricht geantwortet.
Wenn Sie es jedoch auf DROP
stattdessen setzen, erhält die Quelle keine Nachricht.
Überprüfen Sie diesen Link: Unterschied zwischen DROP und REJECT
Es lohnt sich, es auszuführen tcpdump
oder wireshark
die Ausgabe zu erfassen und zu sehen, was unter dem Hub vor sich geht.