在 Debian 上使用 iptables 设置白名单,通常思路是:
默认拒绝所有流量,只允许白名单中的 IP / 端口通过
下面按常见场景给你完整示例。
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT
只允许白名单 IP 访问 22 端口:
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
或整体白名单:
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
ipset create whitelist hash:ip
ipset add whitelist 1.2.3.4
ipset add whitelist 192.168.1.0/24
iptables -A INPUT -m set --match-set whitelist src -j ACCEPT
✅ 优点:IP 多时性能更好,管理方便
apt install iptables-persistent
netfilter-persistent save
或:
iptables-save > /etc/iptables/rules.v4
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 203.0.113.10 -j ACCEPT
⚠️ 远程服务器务必先加自己的 IP,否则会断连 ⚠️ 修改前最好有 console / VNC ⚠️ 云服务器优先用安全组
如果你愿意,可以告诉我:
我可以给你更精确的配置。