在 Ubuntu 上配置 iptables 一般分为几个步骤:查看、添加、保存、开机自动加载。下面给你一个从入门到常用配置的完整说明(适用于 Ubuntu 20.04 / 22.04,其他版本也类似)。
sudo apt update
sudo apt install iptables iptables-persistent
iptables-persistent用于保存规则并开机自动加载。
sudo iptables -L -n -v
常用参数说明:
-L:列出规则-n:不解析域名(更快)-v:显示详细信息查看指定表:
sudo iptables -t nat -L -n -v
iptables 由 表(table) → 链(chain) → 规则(rule) 组成。
常用表:
filter(默认,控制允许/拒绝)nat(地址转换)常用链:
INPUT:进入本机的数据包OUTPUT:本机发出的数据包FORWARD:转发的数据包sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
✅ 建议先加这条,再改默认策略,防止被踢出服务器
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT
sudo iptables -L INPUT --line-numbers
sudo iptables -D INPUT 3
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
sudo netfilter-persistent save
sudo netfilter-persistent reload
规则会保存在:
/etc/iptables/rules.v4
sudo systemctl enable netfilter-persistent
sudo iptables -F
sudo iptables -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
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 netfilter-persistent save
Ubuntu 默认还有 ufw,如果你用的是 ufw:
sudo ufw status
⚠️ iptables 和 ufw 不要混用,否则规则会冲突。
如果你愿意,可以告诉我:
我可以给你定制一套 iptables 规则。