Linux iptables-config配置導致iptables服務無法啓動

公司在美國託管的某臺服務器出現異常,異常現象如下:
  1. load average 30+ 以上
  2. service iptables start 無法啓動,同時大量iptable進行在後臺運行(60個)
 
判斷過程:
  1. 起初認爲是一個綜合性問題,因爲該服務器運行的服務較多,環境也比較複雜,訪問量也非常大。 
  2. 安裝sysstat軟件包,yum install sysstat ,發現安裝軟件過程非常順利,不太像一臺load 30+應用服務器應有的反饋。後來通過iostat,mpstat,vmstat命令確實證明了load高的瓶頸不在io
  3. killall kill iptables進程無效。通過手工kill無法生效。目標確定在iptables上。
  4. 最終結果:發現/etc/sysconfig/iptables-config配置項:
# Unload modules on restart and stop
#     Value: yes|no,    default: yes
# This option has to be 'yes' to get to a sane state for a firewall
# restart or stop. Only set to 'no' if there are problems unloading netfilter
# modules.
IPTABLES_MODULES_UNLOAD="no"
       就是這個“no”,導致了iptables服務在重啓和關閉,需要卸載相關模塊時出現異常。RadHat系列linux,如果iptables過濾模塊要生效,默認是使用netfiler模塊的。如果設置爲“no”,就會導致如上截圖所顯示 modprobe -q --iptbls_filter 產生30個鎖死進程,引起load達到30。
   
      感慨和總結:現網模塊默認配置文件,不敢修改啊!!!出人命的!!!
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章