我正在尝试使用以下命令在我的 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
规则之前设置的打开连接,但不会再通过流量(因为任何传入的数据包,无论是数据还是 ack,都会落在地面)。