問(wèn)題原因
可能是惡意程序問(wèn)題,或者是部分IP惡意訪問(wèn)導(dǎo)致,亦可能是服務(wù)遭到了CC攻擊。
處理辦法
首先需要確定是哪一張網(wǎng)卡的帶寬跑滿(mǎn),可以通過(guò)sar –n DEV 1 5 命令來(lái)獲取網(wǎng)卡級(jí)別的流量圖,命令中1 5表示每一秒鐘取一次值,一共取5次。
命令執(zhí)行后會(huì)列出每個(gè)網(wǎng)卡這5次取值的平均數(shù)據(jù),根據(jù)實(shí)際情況來(lái)確定帶寬跑滿(mǎn)的網(wǎng)卡名稱(chēng),默認(rèn)情況下eth0為內(nèi)網(wǎng)網(wǎng)卡,eth1為外網(wǎng)網(wǎng)卡。
使用iptop工具排查
1.服務(wù)器內(nèi)部安裝iftop流量監(jiān)控工具:
yum install iftop –y
2.服務(wù)器外網(wǎng)帶寬被占滿(mǎn)時(shí),如果通過(guò)遠(yuǎn)程無(wú)法登陸,可通過(guò)VNC遠(yuǎn)程登錄到服務(wù)器內(nèi)部,運(yùn)行下面命令查看流量占用情況:
iftop -i eth1 -P
注:-P參數(shù)會(huì)將請(qǐng)求服務(wù)的端口顯示出來(lái),也就是說(shuō)是通過(guò)服務(wù)期哪個(gè)端口建立的連接,看內(nèi)網(wǎng)流量執(zhí)行iftop -i eth0 –P命令。
如上面示例圖,通過(guò)分析發(fā)現(xiàn)最耗流量的是服務(wù)器上53139端口和115.205.150.235地址建立的連接,產(chǎn)生了大量的入網(wǎng)流量。執(zhí)行netstat命令反查53139端口對(duì)應(yīng)進(jìn)程。
netstat -tunlp |grep 53139
3.最終定位出來(lái)是服務(wù)器上vsftdp服務(wù)產(chǎn)生大量流量,這時(shí)可以通過(guò)停止服務(wù)或使用iptables服務(wù)來(lái)對(duì)指定地址進(jìn)行處理,如屏蔽IP地址,限速,以保證服務(wù)器帶寬能夠正常使用。
使用nethogs進(jìn)行排查
1.服務(wù)器內(nèi)部安裝nethogs流量監(jiān)控工具:
yum install nethogs –y
2.通過(guò)nethogs工具來(lái)查看某一網(wǎng)卡上進(jìn)程級(jí)流量信息,若未安裝可以通過(guò)yum、apt-get等方式安裝。
假定當(dāng)前eth1網(wǎng)卡跑滿(mǎn),則執(zhí)行命令nethogs eth1,在右邊的紅框中可以看到每個(gè)進(jìn)程的網(wǎng)絡(luò)帶寬情況,左邊紅框顯示了進(jìn)程對(duì)應(yīng)的PID,在此可以確定到底是什么進(jìn)程占用了系統(tǒng)的帶寬。
3.如果確定是惡意程序,可以通過(guò) kill -TERM <PID>來(lái)終止程序。
如是Web服務(wù)程序,則可以使用iftop等工具來(lái)查詢(xún)具體IP來(lái)源,然后分析Web訪問(wèn)日志是否為正常流量,日志分析也可以使用logwatch或awstats等工具進(jìn)行分析,若確定是正常的流量,則可以考慮升級(jí)服務(wù)器的帶寬。
如果問(wèn)題還沒(méi)有解決,請(qǐng)?zhí)峁┕芜M(jìn)行處理。