通过iptables阻止IP地址不起作用

我试图通过使用以下命令禁用我的Debian服务器上的各种IP子网:

iptables -A INPUT -s 222.128.0.0/10 -j DROP 

该命令被正确地采用,并且一个iptables -L -n命令显示它们如下:

 root@server:~# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 43.229.53.41 0.0.0.0/0 DROP all -- 222.128.0.0/10 0.0.0.0/0 DROP all -- 222.186.21.236 0.0.0.0/0 DROP all -- 185.41.168.0/22 0.0.0.0/0 

但是当我使用tcptrack来查看打开的连接时,连接仍然是打开的(超过900个!)。

我需要“重新加载”的设置,但以任何方式到iptables? 我真的不想重新启动服务器

iptables -L -n -v --line-numbers

 root@server:~# iptables -L -n -v --line-numbers Chain INPUT (policy ACCEPT 13283 packets, 9904K bytes) num pkts bytes target prot opt in out source destina tion 1 18 1080 DROP all -- * * 43.229.53.41 0.0.0.0 /0 2 28 2628 DROP all -- * * 222.128.0.0/10 0.0.0.0 /0 3 0 0 DROP all -- * * 222.186.21.236 0.0.0.0 /0 4 5911 236K DROP all -- * * 185.41.168.0/22 0.0.0.0 /0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destina tion Chain OUTPUT (policy ACCEPT 19416 packets, 11M bytes) num pkts bytes target prot opt in out source destina tion 

DROP规则正在工作,因为有对它们的数据包计数。 我不清楚tcptrack是如何工作的,但它很可能会看到在添加DROP规则之前设置的打开的连接,但不会再通过stream量(因为任何传入的数据包,不论是数据还是数据,在地上)。