如何停止crontrack会话

如何停止crontrack会话

问题描述:

我有基于linux系统的路由器。我有相关的SDK来定制路由器的Linux系统。如何停止crontrack会话

当我禁用iptables规则的端口转发时,正在运行的crontack会话不会关闭并保持建立状态。

我想停止所有正在运行的crontack会话,当我禁用从iptable规则的端口转发。我的意思是,只删除与删除的规则相关的crontack会话。因此,停止使用dest IP(lan IP)=所删除规则的dest IP的所有crontack会话。

如何在内核空间中做到这一点?如何开发一个覆盖所有crontack会话的核心模块,并检查目标IP并只删除给定ipaddress的会话?有没有一些链接?

否则是用户空间方式(C函数或Linux命令)来停止特定的crontack会话吗?

+0

Stack Overflow是用于编程和发展问题的站点。这个问题似乎是无关紧要的,因为它不是关于编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://*.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

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条目,所以将再次遍历nat表并再次应用DNAT规则。即使有一种方法不能立即工作(如果除了DNAT规则之外没有定义SNAT/MASQUERADE,http服务器的传出数据包可能会在WAN上显示为192.168.3.17一会儿而被拒绝/被192.168.33.13忽略) ,一旦另一种方式再次尝试(ACK重试从192.168.33.13 ...)这将匹配。

键入:

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

并尝试再次conntrack -D删除跟踪连接条目...

这样应该可以防止创建新的跟踪连接条目,减少了下载。

这个答案被复制从:https://superuser.com/questions/1258689/conntrack-delete-does-not-stop-runnig-copy-of-big-file