温馨提示×

Debian iptables如何启动

小樊
52
2026-07-29 17:29:06
栏目: 智能运维

Debian 系统中,iptables 本身并不是一个“服务”,而是内核 netfilter 框架的用户态工具,因此不存在“启动 iptables”这种说法
你真正需要理解的是:规则如何加载、保存和开机自动生效

下面按常见场景说明 ✅


一、检查 iptables 是否已可用

iptables -L

如果能正常列出规则(即使为空),说明 iptables 已可用


二、Debian 12 / 11 / 10 的常见情况

✅ Debian 默认使用 nftables 后端

  • Debian 10 起,iptables 实际是 iptables-nft(兼容层)
  • 内核仍然支持,但不会自动持久化规则

查看当前使用的后端:

update-alternatives --display iptables

或:

iptables --version

输出中若包含 nf_tables,说明是 nft 后端。


三、如何“启用” iptables(正确做法)

1️⃣ 直接添加规则(立即生效)

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

⚠️ 重启后规则会丢失


2️⃣ 保存规则(手动持久化)

方法一:使用 iptables-save / iptables-restore(推荐)

保存:

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

恢复:

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

3️⃣ 开机自动加载(关键)

✅ 使用 netfilter-persistent

安装:

apt update
apt install iptables-persistent

安装过程中会询问是否保存当前规则,选择 Yes

规则文件位置:

/etc/iptables/rules.v4   # IPv4
/etc/iptables/rules.v6   # IPv6

以后修改规则后保存:

netfilter-persistent save

重启自动加载 ✅


四、如果你看到“iptables 服务不存在”

这是正常的 ❗

❌ 错误示例:

systemctl start iptables

✅ 正确方式:

netfilter-persistent start

或根本不需要 start,规则在 boot 时自动加载。


五、Debian + nftables 用户(推荐新系统)

如果你愿意使用现代方式:

apt install nftables
systemctl enable nftables
systemctl start nftables

nftables 是 Debian 官方推荐替代方案。


六、总结(速查表)

需求 做法
立即生效 iptables -A ...
保存规则 iptables-save > /etc/iptables/rules.v4
开机自动加载 iptables-persistent
新系统推荐 nftables
启动服务 ❌ 不存在 iptables.service

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

  • Debian 版本(cat /etc/debian_version
  • 是服务器还是桌面
  • 想实现什么规则(如:只开放 80/443)

我可以帮你写一套完整可用的 iptables 规则 + 自动启动方案

0