Ubuntu iptables 设置

官方说明文档: https://help.ubuntu.com/community/IptablesHowTo

iptables规则设置后都是即时生效的,在机器重启后,iptables中的配置信息会被清空。

您可以将这些配置保存下来,让iptables在启动时自动加载,省得每次都得重新输入。

iptables-save和iptables-restore就是用来保存和恢复设置的。

先将防火墙规则保存到/etc/iptables.up.rules文件中:

iptables-save > /etc/iptables.up.rules

然后修改脚本 /etc/network/interfaces,在末尾添加一行,在网络启动时应用防火墙规则:

pre-up iptables-restore < /etc/iptables.up.rules

Ubuntu使用iptables配置防火墙简化总结:

确保INPUT/FORWARD/OUTPUT几条链都是ACCEPT状态,否则网络访问中断,包括ssh。

sudo ufw disable && sudo ufw default allow
sudo iptables -F && sudo iptables -X && sudo iptables -Z && sudo iptables -L
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables-save > /etc/iptables.up.rules    #切换到root用户执行,sudo会提示无权限
iptables-restore < /etc/iptables.up.rules    # 使其生效