原文: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;如果是永久規則,用上面的第一種或第二種方法,二選一不可混用。
---------------------