在 Ubuntu 上配置 iptables 一般包括:查看规则、添加规则、保存规则、设置开机自动加载。下面按常见使用场景给你一个完整、实用的说明(适用于 Ubuntu 20.04 / 22.04,其他版本也类似)。
sudo apt update
sudo apt install iptables iptables-persistent
iptables-persistent用于开机自动保存/恢复规则
sudo iptables -L -n -v
查看 NAT 表:
sudo iptables -t nat -L -n -v
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
⚠️ 配置前一定要允许 SSH,否则可能把自己踢出服务器
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
含义:
sudo iptables -L INPUT --line-numbers
sudo iptables -D INPUT 2
sudo iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
保存:
sudo netfilter-persistent save
规则会保存到:
/etc/iptables/rules.v4
开机自动加载 ✅
sudo iptables-save > /etc/iptables.rules
恢复:
sudo iptables-restore < /etc/iptables.rules
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
# 清空
sudo iptables -F
sudo iptables -X
# 默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 允许本地
sudo iptables -A INPUT -i lo -j ACCEPT
# 允许已建立连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许 SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 保存
sudo netfilter-persistent save
ufw 是 iptables 的封装✅ 没保存
✅ 没装 iptables-persistent
如果你愿意,可以告诉我:
我可以帮你直接写一套适合你环境的 iptables 规则 ✅