温馨提示×

debian iptables怎样允许端口

小樊
46
2026-10-25 06:28:28
栏目: 智能运维

在 Debian 下使用 iptables 允许(开放)某个端口,通常按下面步骤操作。


一、基本命令(以允许 TCP 80 端口为例)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

说明:

  • -A INPUT:添加到 INPUT 链
  • -p tcp:协议为 TCP
  • --dport 80:目标端口 80
  • -j ACCEPT:允许通过

二、允许 UDP 端口(如 53)

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

三、允许特定 IP 访问某端口(如仅 192.168.1.100 访问 22)

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

四、常见服务示例

1. 允许 SSH(22)

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

2. 允许 HTTP / HTTPS

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

五、确保已允许已建立连接(很重要)

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

六、设置默认策略(可选但常见)

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

⚠️ 注意:设置 INPUT DROP 前,务必先允许 SSH,否则会断连。


七、保存 iptables 规则(Debian)

Debian 10 及以下

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

Debian 11/12(使用 netfilter-persistent)

apt install iptables-persistent
netfilter-persistent save

八、查看当前规则

iptables -L -n -v

九、删除规则(示例)

先查看规则编号:

iptables -L INPUT --line-numbers

删除第 3 条:

iptables -D INPUT 3

如果你能告诉我:

  • Debian 版本
  • 要开放的端口
  • 是否允许所有 IP 还是指定 IP

我可以给你更精确的命令。

0 踩