温馨提示×

Ubuntu下怎么启动iptables

小樊
44
2026-08-22 10:53:29
栏目: 智能运维

Ubuntu 下使用 iptables 需要注意:Ubuntu 默认使用 ufwnftables,但 iptables 仍然可用。下面分情况说明如何“启动”和使用 iptables


一、确认 iptables 是否已安装

sudo apt update
sudo apt install iptables iptables-persistent

iptables-persistent 用于 开机自动保存/恢复规则


二、Ubuntu 中 iptables 的“启动”方式(重点)

iptables 不是服务,没有 systemctl start iptables 这种操作

iptables 是 内核模块,只要:

  • 内核支持 netfilter
  • 规则被加载

就算“启动”了。

只要执行一条 iptables 规则即可生效

sudo iptables -L

如果能看到规则表,说明 iptables 已在工作。


三、Ubuntu 20.04 / 22.04 常见情况(nftables 后端)

Ubuntu 新版本中:

iptables -> nftables 后端

查看当前模式:

sudo update-alternatives --config iptables

可选:

  • iptables-legacy
  • iptables-nft

如果你希望使用传统 iptables:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

四、添加一条规则验证 iptables 正在工作

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

如果能看到规则,说明 iptables 已生效。


五、让 iptables 开机自动生效(非常重要)

1️⃣ 保存规则

sudo netfilter-persistent save

或(旧系统):

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

2️⃣ 开机自动恢复

sudo netfilter-persistent reload

iptables-persistent 会自动在启动时加载规则。


六、如果你之前用的是 ufw

查看 ufw 是否占用 iptables:

sudo ufw status

关闭 ufw(如果你想完全用 iptables):

sudo ufw disable

七、常见误区

❌ 错误:

systemctl start iptables

✅ 正确:

iptables -L
iptables -A ...

八、快速判断 iptables 是否在运行

sudo iptables -S

有输出 = 已生效


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

  • Ubuntu 版本(18.04 / 20.04 / 22.04)
  • 是服务器还是桌面
  • 想实现什么(如:开放端口、防 DDOS、NAT)

我可以给你一套 完整可用的 iptables 规则模板

0