我有一个NAT端口转发configuration的路由器。 我通过NAT启动了一个大文件的http副本。 http服务器托pipe在包含要下载的大文件的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会话创build与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
我错过了什么?
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.
因此,已经build立的连接被即时检测(不涉及SYN / SYN + ACK / ACK),并作为新的conntrack条目添加回来。 由于这是一个新的conntrack条目,所以nat表将再次遍历,再次应用DNAT规则。 即使有一种方法不能立即生效(如果除了DNAT规则之外没有定义SNAT / MASQUERADE,http服务器的外发数据包可能在WAN上显示为192.168.3.17一小段时间,并被192.168.33.13拒绝/忽略) ,一旦另一种方式再次尝试(ACK重试从192.168.33.13 …)这将匹配。
input这个:
echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose
并尝试再次删除conntrack条目conntrack -D …
这应该有希望阻止创build一个新的conntrack条目,并减less下载。
这个答案是从复制: https : //superuser.com/questions/1258689/conntrack-delete-does-not-stop-runnig-copy-of-big-file