logo NodeSeekbeta

启用ufw或nftables时大量持续tcping导致网络中断的解决办法

当vps启用的ufw或nftables服务器时大量持续tcping会导致中断几分钟后才会恢复,如使用itdog的tcping全选持续测试。

核心作用是大幅提升 Linux 内核网络连接跟踪表(Connection Tracking Table)的容量上限与检索效率,从而防止在高并发连接(如大量 tcping或CC攻击)时,因连接跟踪表爆满而导致的系统主动丢包。

1、sysctl.conf中加入以下两条,具体值可以直接用也可以根据vps情况计算

net.netfilter.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_buckets = 262144
net.netfilter.nf_conntrack_tcp_timeout_established = 600

debian12及以前版本可在/etc/sysctl.conf中加入,debian13在/etc/sysctl.d/新建一个xxx.conf中加入;也可在你自己的调优文件中加入。
2、使其生效(也可重启系统)
debian12及以前版本

sysctl -p

debian13

sysctl --system

3、若重启后不生效可在/etc/modules中加入一行以下内容

nf_conntrack

发贴的目的一是水贴二是给有这个需求的人,毕竟我当初也被这个问题困扰过。
等以后有空了发一个ufw或nftables允许特定ip段访问特定端口的方法吧
如只允许CN IP或只允许三网IP并排除教育科研网、IDC、云服务商、公司机构IP等;
不过几千上万条IP段不适合ufw,ufw不支持规则集,只能自动逐条添加,根据CPU性能会耗时几十分钟到几个小时,有些vps商会直接中断,如ZGO;
nftables支持规则集,除下载计算整合IP地址段外基本秒完成。

  • conntrack表撑大确实能救急,不过光调max不改nf_conntrack_tcp_timeout_established(默认432000秒)的话,表还是会被一堆半死不活的连接慢慢填满,建议一起降到600左右。另外先看dmesg里有没有nf_conntrack: table full再动手,不然小内存机器白白吃掉几百M。

  • 学习了 xhj003

  • 学习学习

  • 收藏学习

  • @yaoguangting #4 发布于2026/9/2 08:51:24
    conntrack表撑大确实能救急,不过光调max不改nf_conntrack_tcp_timeout_established(默认432000秒)的话,表还是会被一堆半死不活的连接慢慢填满,建议一起降到600左右。另外先看dmesg里有没有nf_conntrack: table full再动手,不然小内存机器白白吃掉几百M。

    这条我补充上

  • 学到了

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71792位seeker

🎉欢迎新用户🎉