conntrack 刪除不會停止執行大檔案的副本

conntrack 刪除不會停止執行大檔案的副本

我有一個配置了 nat 連接埠轉送的路由器。我透過 nat 啟動了大文件的 http 副本。 http 伺服器託管在 LAN PC 上,其中包含要下載的大檔案。我啟動了從 WAN PC 下載檔案。我在檔案複製運行時禁用了 nat 規則。文件副本保留。當我使用 conntrack-tool 停用 nat 轉送規則時,我想停止檔案的副本。

在此輸入影像描述

我的 conntrack 清單包含以下 conntrack 會話

# 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

我嘗試使用以下命令刪除它:

# 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.

我可以在以下命令中看到 conntrack 會話已刪除。但是創建了另一個 conntrack 會話,其 src ip 位址是已刪除的 conntrack 的 lan 位址

# 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.

我嘗試刪除新的 conntrack 但它仍然保留

# 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

我缺什麼?

答案1

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.

因此,已建立的連線會被即時偵測(不涉及 SYN/SYN+ACK/ACK),並作為新的 conntrack 條目加入回來。由於這是一個新的conntrack條目,因此將再次遍歷nat表並再次應用DNAT規則。即使一種方法不能立即起作用(如果除了 DNAT 規則之外沒有定義 SNAT/MASQUERADE,http 伺服器的傳出資料包可能會在 WAN 上短暫顯示為 192.168.3.17,並被 192.168.33.13 拒絕/忽略) ,一旦其他方式再次嘗試(從192.168.33.13 重試ACK...),這將匹配。

輸入:

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

並再次嘗試刪除 conntrack 條目conntrack -D...

這有望阻止創建新的 conntrack 條目並減少下載。

相關內容