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

通过 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

答案1

规则DROP正在发挥作用,因为存在针对它们的数据包计数。我不知道具体是如何tcptrack工作的,但它很可能看到在添加规则之前设置的开放连接DROP,但不再传递流量(因为任何传入的数据包,无论是数据还是确认,都会落到地面上)。

相关内容