在 Debian 系统中,使用 iptables 限制某些 IP 访问(如禁止访问、只允许特定 IP 访问)是非常常见的操作。下面按常见场景给你示例说明。
iptables -A INPUT -s 192.168.1.100 -j DROP
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j DROP
iptables -A INPUT -s 192.168.1.0/24 -j DROP
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
⚠️ 注意顺序很重要:
ACCEPT 在前DROP 在后iptables -A INPUT -p tcp --dport 80 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -L -n -v
查看指定链:
iptables -L INPUT -n -v
iptables -L INPUT --line-numbers
iptables -D INPUT 3
iptables -D INPUT -s 192.168.1.100 -j DROP
Debian 重启后 iptables 规则会丢失,需要保存。
apt install iptables-persistent
netfilter-persistent save
iptables-save > /etc/iptables/rules.v4
恢复:
iptables-restore < /etc/iptables/rules.v4
DROP,避免把自己关在外面iptables -I 临时测试,再改成 -Aiptables -A INPUT -p tcp --dport 22 -s 8.8.8.8 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
如果你愿意,可以告诉我:
我可以帮你生成一套完整可用的规则。