關於iptables添加規則不生效的問題


原文:https://blog.csdn.net/donglynn/article/details/73530542 

 

1.我們要增加的規則是:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT
1
即開放82的tcp端口。

2.第一種方法,使用命令增加:
首先用命令增加規則:

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT
1
上面的命令即時生效,但是重啟iptables服務后就消失了。如何永久生效呢?

[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
1
2
3
然后看下配置文件里,是有的。以后重啟iptables服務,或者重啟系統這條規則都會生效。

[root@localhost ~]# cat /etc/sysconfig/iptables | grep 82
-A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT
1
2
3.第二種方法,直接編輯iptables配置文件
vim /etc/sysconfig/iptables
1
將上面的語句-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;如果是永久規則,用上面的第一種或第二種方法,二選一不可混用。
---------------------




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM