在 Ubuntu 中,iptables 本身没有“关闭规则”的开关,只能通过删除规则或清空规则来实现“关闭”。下面按常见场景说明。
sudo iptables -L -n -v
或查看所有表:
sudo iptables -t filter -L -n -v
sudo iptables -t nat -L -n -v
先列出带编号的规则:
sudo iptables -L --line-numbers
例如要删除 INPUT 链第 3 条规则:
sudo iptables -D INPUT 3
例如原来加过:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
删除:
sudo iptables -D INPUT -p tcp --dport 22 -j DROP
⚠️ 参数必须和添加时完全一致。
sudo iptables -F
sudo iptables -X
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
ufwUbuntu 默认常用 ufw:
sudo ufw disable # 关闭防火墙
sudo ufw enable # 开启
sudo ufw status # 查看状态
新版本 Ubuntu 可能用 nftables:
sudo nft list ruleset
sudo systemctl stop nftables
iptables 规则重启会丢失,可安装:
sudo apt install iptables-persistent
sudo netfilter-persistent save
如果你能告诉我:
我可以给你精确的一条命令。