我已经尝试添加一些规则到我的iptables,但他们似乎并没有保存。 为了保存它们,我试过运行iptables-save和service iptables save 。 每次运行这些命令时,都说已成功保存。 这是我想要插入的规则:
iptables -A INPUT -j REJECT -p tcp --destination-port 3306 iptables -A INPUT -j REJECT -p tcp --destination-port 25
这些规则工作,并将保持在我input他们的地方,但是当我去重新启动系统,他们从运行iptables -L时,从列表中iptables -L和端口再次打开(使用nmap检查)。
在查看我的/ etc / sysconfig / iptables文件时,规则在那里(在底部),所有“已完成”时间戳都来自保存看起来正确的规则。 另外,在我的/ etc / sysconfig / iptables-config文件中,所有的设置都是默认的,似乎并没有改变任何东西,就像从不同位置或者其他地方加载iptable规则一样。
如果更改在重新启动后无法通过iptables -L显示,则build议执行以下任一操作:
规则不被保存
iptables-save> / etc / sysconfig / iptables
规则正被保存到错误的文件中
IPTABLES = iptables的 IPTABLES_DATA =的/ etc / SYSCONFIG / $ IPTABLES
规则存在错误
iptables在启动时不启动
chkconfig --list iptables
检查哪些运行级别iptables被加载。 如果在右侧的运行级中未启用,请将其添加
chkconfig --level 2345 iptables on
你应该可以通过重新启动iptables来testing你的设置(而不是重新启动机器):
service iptables restart
标准iptables免责声明:万一出事了…
cp / etc / sysconfig / iptables /etc/sysconfig/iptables.bak
你确定iptables-save“运行成功”吗? 它所做的就是将当前的规则集保存文件吐出到文本中。 你必须把它指向/ etc / sysconfig / iptables才行。
iptables-save > /etc/sysconfig/iptables
一般来说,如果你看到iptables-save的任何输出,它只是把输出吐到你的显示器上,这对你没有任何好处。
我认为最好的解决办法是:先input以下命令安装iptables-services
yum install iptables-services
然后input以下命令来保存iptable规则
service iptables save