您的位置:首页 > 其它

关于iptables添加规则不生效的问题

2017-06-21 11:42 1856 查看

1.我们要增加的规则是:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT


即开放82的tcp端口。

2.第一种方法,使用命令增加:

首先用命令增加规则:

iptables  -A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT


上面的命令即时生效,但是重启iptables服务后就消失了。如何永久生效呢?

[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]


然后看下配置文件里,是有的。以后重启iptables服务,或者重启系统这条规则都会生效。

[root@localhost ~]# cat /etc/sysconfig/iptables | grep 82
-A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT


3.第二种方法,直接编辑iptables配置文件

vim /etc/sysconfig/iptables


将上面的语句
-A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT
直接插入到上述文件中。

这时候规则是不生效的,需要重启服务
service iptables restart
。之后这条规则就永久生效了。

4.总结一下。

如果是命令增加条目,那规则是临时的。

如果要永久生效,要把规则写进配置文件。写配置文件的办法有两种,一种是直接编辑,一种是
service iptables save


iptables服务每次启动的时候才会去读一次规则。如果直接编辑了配置文件,然后用
service iptables save
,那么内存里的配置规则是初始的,会覆盖你直接对配置文件的编辑。

因此,最后的结论是,如果是临时规则,用上面的第一种办法,但是不要save;如果是永久规则,用上面的第一种或第二种方法,二选一不可混用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iptables