1. 程式人生 > >CentOS Linux防火牆配置及關閉

CentOS Linux防火牆配置及關閉

經過網路搜尋、整理、實踐筆記

最近在CentOS Linux下安裝配置 ORACLE 資料庫的時候,總顯示因為網路埠而導致的EM安裝失敗,遂打算先關閉一下防火牆。

偶然看到防火牆的配置操作說明,感覺不錯。執行”setup”命令啟動文字模式配置實用程式,在”選擇一種工具”中選擇”防火牆配置”,然後選擇”執行工具”按鈕,出現防火牆配置介面,將”安全級別”設為”禁用”,然後選擇”確定”即可.

或者用命令:

#/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT

#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT

#/etc/rc.d/init.d/iptables save

這樣重啟計算機後,防火牆預設已經開放了80和22埠

這裡應該也可以不重啟計算機:

#/etc/init.d/iptables restart

防火牆的關閉,關閉其服務即可:

檢視防火牆資訊:

#/etc/init.d/iptables status

關閉防火牆服務:

#/etc/init.d/iptables stop

永久關閉?不知道怎麼個永久法:

#chkconfig –level 35 iptables off

看了好幾個頁面內容都有錯,下面是正確方法:

#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

然後儲存:

#/etc/rc.d/init.d/iptables save

再檢視是否已經有了:

[[email protected] ~]# /etc/init.d/iptables status

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination   

1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0   

Chain FORWARD (policy ACCEPT)

num target prot opt source destination   

1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

伺服器遭受到大量的大量SYN_RECV,80端號佔死,網站打不開

沒有硬防

有什麼辦法可以解決嗎

sysctl -w net.ipv4.tcp_syncookies=1 #啟用使用syncookies

sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重試次數

sysctl -w net.ipv4.tcp_syn_retries=1 #降低syn重試次數

sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半連線數

sysctl -w net.ipv4.conf.all.send_redirects=0 

sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的icmp資料包

sysctl -w net.ipv4.tcp_fin_timeout=30 

sysctl -w net.ipv4.tcp_keepalive_time=60 

sysctl -w net.ipv4.tcp_window_scaling=1 

sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止ICMP

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP禁止廣播

2.限制單位時間內連線數

iptables -N syn-flood 

iptables -A FORWARD -p tcp --syn -j syn-flood 

iptables -A INPUT -p tcp --syn -j syn-flood

iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP

iptables -A syn-flood -j DROP

iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP 

iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP

3 如果還是不行,

iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT

iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEP

如攻擊過來的流量大於你的伺服器的流量,那就沒有什麼辦法了,如果流量不大,以上方法,可以暫時保證你的80可以訪問

如果你的核心已經支援iptables   connlimit可以使用, iptables 設定部份,也可以使用

iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 5 -j DROP

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT

對付SYN FLOOD的話,真正起作用的是:

sysctl -w net.ipv4.tcp_syncookies=1        #啟用使用syncookies

sysctl -w net.ipv4.tcp_synack_retries=1        #降低syn重試次數

其他IPTABLES的限制速度功能不能用來對付SYN FLOOD的(不能阻止拒絕服務,但是確實可以防止伺服器CRASH)。

【強烈推薦!非廣告!】阿里雲雙11褥羊毛活動(10.29-11.12):https://m.aliyun.com/act/team1111?from=singlemessage&isappinstalled=0#/share?params=N.FF7yxCciiM.5rnfefip 。新用 。新使用者低至一折購買【1核2GIM1年99元,2年199元,3年298元】【2核4GIM1年545元,2年927元,3年1227元】【2核8G5M3年2070元】,建議購買兩核的伺服器,1核的伺服器CPU使用率會有限制。老使用者可以加入我參加的戰隊,然後分享自己的連結,可以獲得紅包和25%的返現,我們的戰隊目前1000多位新人,目前排名第2,後面可以瓜分百萬現金(按拉新人數瓜分現金,拉的越多分的越多!不要自己重新開戰隊,後面不能參與瓜分現金)。