温馨提示×

debian iptables怎样封端口

小樊
46
2026-09-20 00:14:57
栏目: 智能运维

在 Debian 下使用 iptables 封锁端口,常见做法如下(以 TCP 端口 8080 为例):


一、临时封端口(重启后失效)

1️⃣ 封某个端口的入站(最常用)

iptables -A INPUT -p tcp --dport 8080 -j DROP

或拒绝(返回错误):

iptables -A INPUT -p tcp --dport 8080 -j REJECT

2️⃣ 封 UDP 端口

iptables -A INPUT -p udp --dport 53 -j DROP

3️⃣ 封指定 IP 访问某端口

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

4️⃣ 封本机访问外部端口(出站)

iptables -A OUTPUT -p tcp --dport 80 -j DROP

二、查看规则

iptables -L -n --line-numbers

三、删除规则

先查编号:

iptables -L INPUT -n --line-numbers

再删除(例如第 3 条):

iptables -D INPUT 3

四、永久生效(Debian 推荐方式)

方法 1:iptables-persistent

apt update
apt install iptables-persistent

保存规则:

netfilter-persistent save

或:

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

五、常见示例

✅ 禁止外部 SSH(22):

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

✅ 只允许本机访问 3306(MySQL):

iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP

六、注意事项

  • DROP:直接丢包(更隐蔽)
  • REJECT:明确拒绝(更安全调试)
  • 规则顺序很重要(先匹配先生效)

如果你有 具体端口 / 场景(如 Docker、NAT、只允许某个 IP),可以告诉我,我给你精准规则。

0