我有一个脚本可以禁止选定的 IP 访问我的服务器。
例子:
iptables -A INPUT -s 123.123.123.123 -j DROP
我的问题是:这条规则什么时候开始生效?
我问这个是因为昨天我禁止了一个 IP,但它仍然连接到我的服务器...我的命令有问题还是其他问题?
答案1
iptables
使用和(对于 IPv6)命令的操作ip6tables
将立即应用。您可能在 INPUT 链中有一个规则,该规则在流量到达此链之前接受流量,例如:
iptables -A INPUT -m tcp -p tcp --dport 80 -j ACCEPT
如果您使用 来应用规则-A
,该规则将附加在前面的规则之后,即使您说应该阻止来自 123.123.123.123 的流量,允许 TCP 80 流量的规则也优先。建议您blocklist
在规则集中插入新链(如下所示),如下所示:
sudo iptables -N blocklist
sudo iptables -I INPUT -j blocklist
然后将规则应用于阻止列表链而不是 INPUT 链:
sudo iptables -A blocklist -s 123.123.123.123 -j DROP