在 Ubuntu 上“开启 iptables”通常有几层含义,下面分情况说明,你可以按需操作。
Ubuntu 一般默认带有 iptables 命令:
iptables --version
如果没有:
sudo apt update
sudo apt install iptables
现代 Ubuntu(18.04 以后)默认使用 nftables 后端:
iptables 命令仍然存在iptables-nft(通过 nftables 实现)查看当前后端:
sudo iptables -V
如果看到类似:
iptables v1.8.7 (nf_tables)
说明是 nftables 后端。
iptables-persistent(推荐)sudo apt install iptables-persistent
安装时会问是否保存当前规则,选 Yes。
开机自动加载规则:
sudo systemctl enable netfilter-persistent
sudo systemctl start netfilter-persistent
保存规则:
sudo netfilter-persistent save
规则文件位置:
/etc/iptables/rules.v4
/etc/iptables/rules.v6
直接写即可,例如允许 SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P INPUT DROP
保存:
sudo netfilter-persistent save
Ubuntu 默认防火墙是 ufw:
sudo ufw disable
然后你就可以直接使用 iptables。
⚠️ 注意:
sudo iptables -L -n -v
sudo iptables -S
Ubuntu 上“开启 iptables”= 安装
iptables-persistent+ 写规则 +netfilter-persistent save
如果你能告诉我:
我可以给你一套直接可复制的规则。