温馨提示×

debian iptables怎么设规则

小樊
53
2026-09-04 19:24:51
栏目: 智能运维

在 Debian 上用 iptables 设置规则,一般流程是:安装 iptables → 写规则 → 保存规则 → 设置开机生效。下面按常见实用场景说明。


一、安装 iptables(Debian 默认一般已装)

sudo apt update
sudo apt install iptables

查看版本:

iptables -V

二、基本概念(先看懂)

表(table):
  filter(默认,防火墙)
  nat(端口映射、共享上网)

链(chain):
  INPUT    进入本机的数据包
  OUTPUT   本机发出的数据包
  FORWARD  转发的数据包

示例:

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

含义:

  • -A INPUT:追加到 INPUT 链
  • -p tcp:TCP 协议
  • --dport 22:目标端口 22
  • -j ACCEPT:允许

三、常用基础规则示例

1️⃣ 允许 SSH(非常重要,别把自己关外面)

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

2️⃣ 允许本地回环(必须)

iptables -A INPUT -i lo -j ACCEPT

3️⃣ 允许已建立连接

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

4️⃣ 开放 Web 服务(80 / 443)

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

5️⃣ 拒绝其他所有入站(最后加)

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

⚠️ 顺序很重要:先允许,再 DROP


四、查看 / 删除规则

查看规则

iptables -L -n --line-numbers

删除某条规则(按编号)

iptables -D INPUT 3

清空所有规则(危险)

iptables -F
iptables -X

五、保存规则(非常关键)

Debian 默认 重启会丢规则

方法 1(推荐):iptables-persistent

sudo apt install iptables-persistent

保存规则:

sudo netfilter-persistent save

开机自动加载 ✅


方法 2:手动保存 / 恢复

保存:

iptables-save > /etc/iptables.rules

恢复:

iptables-restore < /etc/iptables.rules

六、NAT 示例(共享上网 / 端口转发)

1️⃣ 开启 IP 转发

echo 1 > /proc/sys/net/ipv4/ip_forward

永久生效:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

2️⃣ 出口 MASQUERADE

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3️⃣ 端口转发(如 8080 → 192.168.1.10:80)

iptables -t nat -A PREROUTING -p tcp --dport 8080 \
-j DNAT --to-destination 192.168.1.10:80

iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 80 -j ACCEPT

七、新手建议(很重要)

✅ 用 nftables(Debian 新版本默认)
✅ 或至少用 ufw(更简单)

apt install ufw
ufw allow 22
ufw enable

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

  • Debian 版本(11 / 12?)
  • 用途(服务器 / 路由器 / 家用)
  • 想实现什么(防攻击 / 端口转发 / 限制 IP)

我可以直接帮你写一套完整可复制的规则。

0 踩