Conntrack Delete stoppt das Ausführen einer Kopie einer großen Datei nicht

Conntrack Delete stoppt das Ausführen einer Kopie einer großen Datei nicht

Ich habe einen Router mit konfigurierter NAT-Portweiterleitung. Ich habe eine HTTP-Kopie einer großen Datei über NAT gestartet. Der HTTP-Server wird auf dem LAN-PC gehostet, der die große herunterzuladende Datei enthält. Ich habe den Dateidownload vom WAN-PC gestartet. Ich habe die NAT-Regel deaktiviert, während die Dateikopie ausgeführt wird. Die Kopie der Datei bleibt bestehen. Ich möchte das Kopieren der Datei stoppen, wenn ich die NAT-Weiterleitungsregel mit dem Conntrack-Tool deaktiviere.

Bildbeschreibung hier eingeben

meine Conntrack-Liste enthält die folgende Conntrack-Sitzung

# conntrack -L | grep "33.13"
tcp      6 431988 ESTABLISHED src=192.168.33.13 dst=192.168.33.215 sport=52722 dport=80 src=192.168.3.17 dst=192.168.33.13 sport=80 dport=52722 [ASSURED] use=1

Ich habe versucht, es mit dem folgenden Befehl zu entfernen:

# conntrack -D --orig-src 192.168.33.13
tcp      6 431982 ESTABLISHED src=192.168.33.13 dst=192.168.33.215 sport=52722 dport=80 src=192.168.3.17 dst=192.168.33.13 sport=80 dport=52722 [ASSURED] use=1
conntrack v1.4.3 (conntrack-tools): 1 flow entries have been deleted.

die Conntrack-Sitzung wird entfernt, wie ich im folgenden Befehl sehen kann. Aber eine andere Conntrack-Sitzung wurde mit der Quell-IP-Adresse erstellt, die die LAN-Adresse der entfernten Conntrack-Sitzung ist

# conntrack -L | grep "33.13"
tcp      6 431993 ESTABLISHED src=192.168.3.17 dst=192.168.33.13 sport=80 dport=52722 src=192.168.33.13 dst=192.168.33.215 sport=52722 dport=80 [ASSURED] use=1
conntrack v1.4.3 (conntrack-tools): 57 flow entries have been shown.

Ich habe versucht, den neuen Conntrack zu entfernen, aber er bleibt bestehen

# conntrack -D --orig-src 192.168.3.17

# conntrack -L | grep "33.13"
conntrack v1.4.3 (conntrack-tools): 11 flow entries have been shown.
tcp      6 431981 ESTABLISHED src=192.168.3.17 dst=192.168.33.13 sport=80 dport=52722 src=192.168.33.13 dst=192.168.33.215 sport=52722 dport=80 [ASSURED] use=1

Was fehlt mir?

Antwort1

https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt

nf_conntrack_tcp_loose - BOOLEAN
0 - disabled not 0 - enabled (default)
If it is set to zero, we disable picking up already established connections.

Die bereits hergestellte Verbindung wird also im laufenden Betrieb erkannt (ohne dass SYN/SYN+ACK/ACK beteiligt ist) und als neuer Conntrack-Eintrag wieder hinzugefügt. Da es sich um einen neuen Conntrack-Eintrag handelt, wird die NAT-Tabelle erneut durchlaufen und die DNAT-Regel erneut angewendet. Selbst wenn eine Möglichkeit nicht sofort funktioniert (wenn zusätzlich zur DNAT-Regel kein SNAT/MASQUERADE definiert ist, erscheinen die ausgehenden Pakete des HTTP-Servers möglicherweise für kurze Zeit im WAN als 192.168.3.17 und werden von 192.168.33.13 abgelehnt/ignoriert), wird dies übereinstimmen, sobald die andere Möglichkeit es erneut versucht (ACK-Wiederholung von 192.168.33.13...).

Geben Sie Folgendes ein:

echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose

Und versuchen Sie erneut, den Conntrack-Eintrag mit conntrack -D... zu löschen.

Dies sollte hoffentlich die Erstellung eines neuen Conntrack-Eintrags verhindern und den Download unterbrechen.

verwandte Informationen