温馨提示×

Debian如何更新iptables

小樊
46
2026-07-01 22:42:07
栏目: 智能运维

Debian 系统上更新或升级 iptables,通常是指:

  1. 更新 iptables 软件包本身
  2. 更新系统内的 iptables 规则
  3. 从 iptables 切换到 nftables(Debian 新版本默认)

下面分情况说明。


一、更新 iptables 软件包(升级版本)

1️⃣ 更新软件源

sudo apt update

2️⃣ 升级 iptables

sudo apt upgrade iptables

3️⃣ 或升级整个系统(推荐)

sudo apt full-upgrade

4️⃣ 查看当前版本

iptables --version

示例输出:

iptables v1.8.9 (nf_tables)

如果你看到 (nf_tables),说明当前 iptables 实际是 nftables 后端


二、更新 / 修改 iptables 防火墙规则

1️⃣ 添加规则示例

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

2️⃣ 查看当前规则

sudo iptables -L -n -v

3️⃣ 保存规则(非常重要)

Debian 10 及以后版本

sudo netfilter-persistent save

或:

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

Debian 9 及以前

sudo apt install iptables-persistent
sudo iptables-save > /etc/iptables/rules.v4

4️⃣ 重启后自动生效

sudo systemctl enable netfilter-persistent

三、Debian 默认已使用 nftables(⚠️重要)

Debian 10 (Buster) 开始:

  • iptables 命令是 nftables 的兼容层
  • 真正的后端是 nftables

查看当前是否使用 nftables

sudo update-alternatives --config iptables

输出示例:

* 0 /usr/sbin/iptables-nft
  1 /usr/sbin/iptables-legacy

✅ 建议使用 iptables-nft
❌ 不建议使用 iptables-legacy(除非老系统)


四、彻底切换到 nftables(推荐现代 Debian)

1️⃣ 安装 nftables

sudo apt install nftables

2️⃣ 启用 nftables

sudo systemctl enable nftables
sudo systemctl start nftables

3️⃣ 禁用 iptables 服务

sudo systemctl disable netfilter-persistent

五、常见问题

❓ iptables 更新后规则丢失?

原因:规则未保存
✅ 使用:

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

❓ Debian 12 还能用 iptables 吗?

✅ 可以,但本质是 nftables 兼容层


六、总结(快速命令)

sudo apt update
sudo apt upgrade iptables
iptables --version
iptables -L -n -v

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

  • ✅ Debian 版本(cat /etc/debian_version
  • ✅ 是想升级软件还是修改防火墙规则
  • ✅ 是否用于服务器 / Docker / K8s / 虚拟化

我可以给你更精确的方案。

0