在 Ubuntu 下使用 iptables 需要注意:Ubuntu 默认使用 ufw 或 nftables,但 iptables 仍然可用。下面分情况说明如何“启动”和使用 iptables。
sudo apt update
sudo apt install iptables iptables-persistent
iptables-persistent 用于 开机自动保存/恢复规则。
iptables 不是服务,没有 systemctl start iptables 这种操作
iptables 是 内核模块,只要:
就算“启动”了。
✅ 只要执行一条 iptables 规则即可生效
sudo iptables -L
如果能看到规则表,说明 iptables 已在工作。
Ubuntu 新版本中:
iptables -> nftables 后端
查看当前模式:
sudo update-alternatives --config iptables
可选:
iptables-legacyiptables-nft如果你希望使用传统 iptables:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -L
如果能看到规则,说明 iptables 已生效。
sudo netfilter-persistent save
或(旧系统):
sudo iptables-save > /etc/iptables/rules.v4
sudo netfilter-persistent reload
iptables-persistent 会自动在启动时加载规则。
查看 ufw 是否占用 iptables:
sudo ufw status
关闭 ufw(如果你想完全用 iptables):
sudo ufw disable
❌ 错误:
systemctl start iptables
✅ 正确:
iptables -L
iptables -A ...
sudo iptables -S
有输出 = 已生效
如果你愿意,可以告诉我:
我可以给你一套 完整可用的 iptables 规则模板 ✅