(1) 重啓後永久性生效:linux
開啓: systemctl enable iptables.service'.
ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants/iptables.service'ubuntu
關閉: systemctl disable iptables.service服務器
(2) 即時生效,重啓後失效:ssh
開啓:systemctl start iptables.servicetcp
關閉:systemctl stop iptables.service測試
須要說明的是對於Linux下的其它服務均可以用以上命令執行開啓和關閉操做。spa
在開啓了防火牆時,作以下設置,開啓相關端口,ip
修改/etc/sysconfig/iptables 文件,添加如下內容:get
-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 80 -j ACCEPTit
-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是怎麼樣來處理的。這樣才能準確地書寫規則,避免帶來沒必要要的麻煩。