温馨提示×

Debian iptables怎么限制IP访问

小樊
54
2026-08-14 05:07:24
栏目: 智能运维

Debian 系统中,使用 iptables 限制某些 IP 访问(如禁止访问、只允许特定 IP 访问)是非常常见的操作。下面按常见场景给你示例说明。


一、禁止某个 IP 访问服务器

1️⃣ 禁止某个 IP 访问所有端口

iptables -A INPUT -s 192.168.1.100 -j DROP

2️⃣ 禁止某个 IP 访问指定端口(如 22)

iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j DROP

3️⃣ 禁止某个 IP 段

iptables -A INPUT -s 192.168.1.0/24 -j DROP

二、只允许指定 IP 访问(白名单)

只允许某个 IP 访问 SSH(22)

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 在后

三、限制 IP 访问某端口(如 80/443)

只允许指定 IP 访问 80 端口

iptables -A INPUT -p tcp --dport 80 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

四、查看当前 iptables 规则

iptables -L -n -v

查看指定链:

iptables -L INPUT -n -v

五、删除某条规则

方法 1:按编号删除(推荐)

iptables -L INPUT --line-numbers
iptables -D INPUT 3

方法 2:按规则内容删除

iptables -D INPUT -s 192.168.1.100 -j DROP

六、永久保存 iptables 规则(非常重要)

Debian 重启后 iptables 规则会丢失,需要保存。

Debian 11 / 12(推荐)

apt install iptables-persistent
netfilter-persistent save

手动保存(通用)

iptables-save > /etc/iptables/rules.v4

恢复:

iptables-restore < /etc/iptables/rules.v4

七、常见安全建议

  • SSH 建议只开放给固定 IP
  • 慎用 DROP,避免把自己关在外面
  • 可先用 iptables -I 临时测试,再改成 -A

八、示例:只允许公司 IP 访问 SSH

iptables -A INPUT -p tcp --dport 22 -s 8.8.8.8 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

如果你愿意,可以告诉我:

  • ✅ 想限制的是 哪个端口
  • ✅ 是 禁止 IP 还是 只允许 IP
  • ✅ Debian 版本(10 / 11 / 12)

我可以帮你生成一套完整可用的规则。

0