我正在尝试使用以下命令禁止我的 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
,但不再传递流量(因为任何传入的数据包,无论是数据还是确认,都会落到地面上)。