在 Ubuntu 里,iptables 本身没有“重启”命令,因为它只是一个规则管理工具。所谓“重启 iptables”,通常是指 重新加载规则 或 清空并重新应用规则。下面按常见场景给你说明。
iptables-persistent(推荐)Ubuntu 常见做法是通过 iptables-persistent 保存/恢复规则。
sudo netfilter-persistent reload
或(旧版本)
sudo /etc/init.d/netfilter-persistent reload
这会从以下文件重新加载规则:
/etc/iptables/rules.v4/etc/iptables/rules.v6
如果你手动保存过规则:
sudo iptables-restore < /etc/iptables/rules.v4
IPv6:
sudo ip6tables-restore < /etc/iptables/rules.v6
⚠️ 会立刻断开现有连接(如 SSH)
sudo iptables -F # 清空所有规则
sudo iptables -X # 删除自定义链
sudo iptables -Z # 清零计数器
然后重新添加规则,或重新加载规则文件。
sudo netfilter-persistent save
或:
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
| 操作 | 命令 |
|---|---|
| 保存规则 | sudo netfilter-persistent save |
| 重载规则 | sudo netfilter-persistent reload |
| 查看规则 | sudo iptables -L -n -v |
有时你真正需要的是:
sudo systemctl restart networking
或(Netplan):
sudo netplan apply
⚠️ iptables 规则重启后会丢失,除非你保存并启用持久化
⚠️ 云服务器操作前,一定要确认不会把自己踢出 SSH
如果你愿意,可以告诉我:
我可以给你更精确、安全的操作步骤。