(1) 重啟後永久性生效:
開啟:chkconfig iptables on
關閉:chkconfig iptables off
(2) 即時生效,重啟後失效:
開啟:service iptables start
關閉:service iptables stop
需要說明的是對於Linux下的其它服務都可以用以上命令執行開啟和關閉操作。
在開啟了防火牆時,做如下設置,開啟相關端口,
修改/etc/sysconfig/iptables 文件,添加以下內容:
-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 22 -j ACCEPT
或者:
/etc/init.d/iptables status 會得到一系列信息,說明防火牆開著。
/etc/rc.d/init.d/iptables stop 關閉防火牆
最後:
在根用戶下輸入setup,進入一個圖形界面,選擇Firewall configuration,進入下一界面,選擇Security Level為Disabled,保存。重啟即可。
======================================================
fedora下
/etc/init.d/iptables stop
=======================================================
ubuntu下:
由於UBUNTU沒有相關的直接命令
請用如下命令
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
暫時開放所有端口
Ubuntu上沒有關閉iptables的命令
=======================================================
iptables 是linux下一款強大的防火牆,在不考慮效率的情況下,功能強大到足可以替代大多數硬件防火牆,但是強大的防火牆如果應用不當,可能擋住的可不光是那些潛在的攻擊,還有可能是你自己哦。這個帶來的危害對於普通的個人PC來說可能無關緊要,但是想象一下,如果這是一台服務器,一旦發生這樣的情況,不光是影院正常的服務,還需要到現場去恢復,這會給你帶來多少損失呢?
所以我想說的是,當你敲入每一個iptables 相關命令的時候都要萬分小心。
1.應用每一個規則到DROP target時,都要仔細檢查規則,應用之前要考慮他給你帶來的影響。
2.在redhat中我們可以使用service iptables stop來關閉防火牆,但是在有些版本如ubuntu中這個命令卻不起作用,大家可能在網上搜索到不少文章告訴你用iptables -F這個命令來關閉防火牆,但是使用這個命令前,千萬記得用iptables -L查看一下你的系統中所有鏈的默認target,iptables -F這個命令只是清除所有規則,只不會真正關閉iptables.想象一下,如果你的鏈默認target是DROP,本來你有規則來允許一些特定的端口,但一旦應用iptables -L ,清除了所有規則以後,默認的target就會阻止任何訪問,當然包括遠程ssh管理服務器的你。
所以我建議的關閉防火牆命令是
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
總之,當你要在你的服務器上做任何變更時,最好有一個測試環境做過充分的測試再應用到你的服務器。除此之外,要用好iptables,那就要理解iptables的運行原理,知道對於每一個數據包iptables是怎麼樣來處理的。這樣才能准確地書寫規則,避免帶來不必要的麻煩。