我已使用命令保存了我的 iptables 规则iptables-save >
,并尝试在机器启动时恢复这些规则。我已iptables-restore < "path to rules file"
在中添加了命令rc.local
,但它没有启动规则。
我尝试直接在终端中运行该命令,并且成功了,所以我知道该命令没有问题。我还使用该rc.local
命令使文件可执行
sudo chmod +x /etc/rc.local
。
可能存在什么问题?
编辑-我正在使用 Fedora 22
答案1
恐怕时间已经过去了,F22 是那些使用可爱的新功能systemd
启动的值得珍惜的发行版之一。许多令人愉快的副作用之一是它rc.local
不再运行(或者更准确地说,我无法让它可靠地运行),所以这不会有帮助。
/etc/sysconfig/iptables
以正常方式将防火墙规则放入,使用iptables-save > /etc/sysconfig/iptables
,清除规则,然后执行systemctl start iptables.service
以应用它们。如果iptables -L -n -v
确认它们已被采用,则执行systemctl enable iptables.service
以在启动时启动它们。
答案2
检查 iptables 是否在启动时启动,chkconfig --list iptables