我有以下设置:在/etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Mon Jul 1 11:32:00 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3:620]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.35.107/32 -p icmp -m icmp --icmp-type 8 -j DROP
-A INPUT -s 192.168.35.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -s 192.168.35.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -j DROP
COMMIT
# Completed on Mon Jul 1 11:32:00 2019
从上面我们看到我想阻止来自特定 IP 的 ping。在我用 保存规则并用iptables-restore < /etc/iptables/rules.v4
列出规则后iptables -L
,我可以断定 ip 为 192.168.35.107 的计算机无法 ping 服务器。
但是,具有该 IP 的计算机能够无限期地ping ,直到我中断会话。即使在我中断 ping 之后,我仍然需要暂停大约 60 秒,直到我无法再次 ping。如果我在 ping 命令之间暂停 5-10 秒,防火墙会让我通过。
有趣的是,当我通过 iptables 启用 ping 时,它会立即工作。我也尝试过使用 Samba 端口 445。相同的。
有没有办法让 iptables 丢弃的端口立即生效?