下面给你一个Ubuntu 下 iptables 的配置入门指南,从安装、基础规则到持久化保存,适合服务器防火墙配置。
sudo iptables -L -n -v
sudo apt update
sudo apt install iptables
⚠️ Ubuntu 20.04+ 默认可能用 nftables,但 iptables 仍可用(作为兼容层)
iptables 有三张常用表:
常用链(chain):
INPUT:进入本机的数据包OUTPUT:本机发出的数据包FORWARD:转发的数据包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 state --state ESTABLISHED,RELATED -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 -L -n --line-numbers
sudo iptables -D INPUT 3
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
规则保存在:
/etc/iptables/rules.v4
iptables-persistent 默认开机加载规则。
sudo iptables -F
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 state --state ESTABLISHED,RELATED -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 netfilter-persistent save
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
如果你告诉我:
我可以给你定制 iptables 规则。