Skip to content

💡 实战经验

改规则前先开 at 定时恢复

每次改 iptables 规则前,先跑 echo "iptables -F && iptables -P INPUT ACCEPT" | at now + 5 minutes。改对了就取消定时,改错了 5 分钟后自动恢复。这条规矩能救你的命。

Docker 是 iptables 的天敌

你以为封了端口,但 Docker 容器的端口照样可达——因为 Docker 绕过了 INPUT 链。在 Docker 宿主机上,只有 DOCKER-USER 链能控制容器端口,INPUT 链对 Docker 端口映射无效。

规则顺序决定一切

iptables 是从上到下逐条匹配,第一条命中的规则生效。如果你把 ACCEPT 写在 DROP 后面,永远匹配不到。放行规则在前,拒绝规则在后,这是铁律。

LOG 目标不要无限制

-j LOG 每匹配一个包就写一条日志。如果你把所有流量都 LOG,日志系统瞬间爆炸——磁盘满了、rsyslog 卡死、连 sshd 都受影响。LOG 前面加 -m limit --limit 5/min 限速。