針對平時工作中,zabbix snmp出現(xiàn)異常超時蜓陌、不穩(wěn)定觅彰、時通時斷:Timeout while connecting 等的情況,以下我將以使用樂維監(jiān)控為例钮热,進(jìn)行解決方案的詳細(xì)敘述填抬。
一、問題:設(shè)備SNMP不通
網(wǎng)絡(luò)設(shè)備SNMP不通?Timeout while connecting to"192.168.1.99:161".
1.1?檢查配置
1.??管理IP是否對應(yīng)上
2.??對象團(tuán)體名是否正確
3.??監(jiān)控項(xiàng)snmp版本是否對應(yīng)上
4.??根據(jù)以上3點(diǎn)和網(wǎng)絡(luò)設(shè)備的配置信息對照是否正確霉旗,因?yàn)榫W(wǎng)絡(luò)設(shè)備品牌很多配置方式都是五花八門痴奏,所以這里不做演示
5.??網(wǎng)絡(luò)設(shè)備可能配置snmp時使用了ACL控制,這邊要檢查IP是否指向Zabbix
6.??有些網(wǎng)絡(luò)設(shè)備不是配置了snmp信息就能生效的厌秒,需要在管理接口(interface)上查驗(yàn)是否啟用snmp協(xié)議
7.??看清楚配置的設(shè)備是否支持snmp(snmp讀權(quán)限為snmp get读拆,寫權(quán)限為snmp set它們端口為UDP161用于被動請求性能數(shù)據(jù)和發(fā)送執(zhí)行命令),有些設(shè)備只支持snmp trap(端口UDP162 用于主動推送告警)
1.2?檢查網(wǎng)絡(luò)
1.??網(wǎng)絡(luò)策略沒放通鸵闪,可通過端口掃描工具nmap在Zabbix主機(jī)上來探測目標(biāo)地址的路徑是否通暢(注意:這里很多人會用ping和telnet來做通斷探測檐晕,存在很大誤區(qū),首先ping是ICMP協(xié)議只能證明路由是否可達(dá)和snmp是否通訊沒有關(guān)聯(lián)何況有些網(wǎng)絡(luò)環(huán)境是禁ping的蚌讼,telnet探測的端口都是TCP端口辟灰,而snmp使用的是UDP端口,所以也不能作為端口是否開放的判斷依據(jù))
# yum install -y nmap
# nmap -sU 192.168.1.99 -p 161
Nmap參數(shù)說明:
-sU 表示使用UDP端口探測
IP:指定目的IP
-p??表示端口號
Nmap返回狀態(tài)說明:
2.??Snmpwalk探測(如果探測正常篡石,監(jiān)控還是異常的話則更多的是zabbix web配置參數(shù)對不上的問題
# yum -y install net-snmp-utils
# snmpwalk -v 2c -c lwjkss 192.168.1.99 SNMPv2-MIB::sysDescr.0
如果以上提到的配置參數(shù)有誤和網(wǎng)絡(luò)snmp不可達(dá)芥喇,則會出現(xiàn)如下情況:
如果設(shè)備正常則會出現(xiàn)以下情況:
二、問題:SNMP不穩(wěn)定
ZABBIX監(jiān)控SNMP不穩(wěn)定凰萨,一會通一會不通
2.1?單個對象
如果該現(xiàn)象只是出現(xiàn)在單個對象中继控,其他對象采集沒有被影響械馆,則:
1.??設(shè)備問題,設(shè)備不支持大量請求
Zabbix服務(wù)器和代理守護(hù)進(jìn)程在單個請求中查詢多個值的SNMP設(shè)備武通。這會影響各種SNMP監(jiān)控項(xiàng)(常規(guī)SNMP項(xiàng)目霹崎,具有動態(tài)索引的SNMP項(xiàng)目和SNMP低級別發(fā)現(xiàn)),它使SNMP處理更加高效冶忱。從Zabbix 2.4開始尾菇,它還為每個接口提供了一個“使用批量請求”的設(shè)置,允許為無法正確處理它們的設(shè)備禁用批量請求囚枪。
從Zabbix 2.2.7和Zabbix 2.4.2開始派诬,Zabbix服務(wù)器和代理守護(hù)程序的日志在收到不正確的SNMP響應(yīng)時會打印類似以下內(nèi)容:(雖然它們沒有涵蓋所有有問題的情況,但它們對于識別應(yīng)禁用批量請求的各個SNMP設(shè)備非常有用链沼。)
SNMP response from host"gateway" does not contain all of the requested variable bindings
去掉勾選即可
2.2? ?全局對象
如果該情況發(fā)生后影響了其他監(jiān)控對象的不穩(wěn)定千埃,則
1.??進(jìn)程不夠用,加大Zabbix 服務(wù)器的StartPollers的進(jìn)程忆植,可根據(jù)zabbix自監(jiān)控圖形來判斷(平均75%以上則有問題)
2.??物理網(wǎng)絡(luò)防火墻連接數(shù)限制(不是操作系統(tǒng)防火墻),可以通過在防火墻中查看日志和連接數(shù)上限谒臼,進(jìn)而放寬連接數(shù)
3.??如果無法開放物理防火墻的連接數(shù)則要在監(jiān)控對象所在的網(wǎng)段內(nèi)搭建zabbix proxy代監(jiān)控即可解決連接數(shù)問題
4.??如果2朝刊、3點(diǎn)都不允許操作則可考慮:
? ? - 降低snmp監(jiān)控項(xiàng)的采集頻率;
? ? - 刪除蜈缤、過濾無用監(jiān)控項(xiàng)(比如正則過濾無用的端口)拾氓;
? ? - 自動發(fā)現(xiàn)端口監(jiān)控原型禁用,等發(fā)現(xiàn)完成后根據(jù)人工篩選啟用某些端口監(jiān)控項(xiàng)底哥;
? ? - 采用腳本方式一次獲取所需要的MIB表的信息(一般只需要做端口的)咙鞍,然后在本地json化再傳給zabbix
三、Nmap原理
端口掃描是指某些別有用心的人發(fā)送一組端口掃描消息趾徽,試圖以此侵入某臺計(jì)算機(jī)续滋,并了解其提供的計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)類型(這些網(wǎng)絡(luò)服務(wù)均與端口號相關(guān)),但是端口掃描不但可以為黑客所利用孵奶,同時端口掃描還是網(wǎng)絡(luò)安全工作者的必備的利器疲酌,通過對端口的掃描,了解網(wǎng)站中出現(xiàn)的漏洞以及端口的開放情況了袁,對網(wǎng)站安全方面有著不可或缺的貢獻(xiàn)朗恳,是你學(xué)習(xí)網(wǎng)絡(luò)安全的第一門課程的首選
3.1?Nmap優(yōu)點(diǎn)
目前在市面上主要的端口掃描工具是X_Scan、SuperScan载绿、nmap粥诫,其中在這里主推的是nmap,因?yàn)閚map具有以下的這一些優(yōu)點(diǎn):
1崭庸、多種多樣的參數(shù)怀浆,豐富的腳本庫谊囚,滿足用戶的個人定制需求,其中腳本庫還提供了很多強(qiáng)大的功能任你選擇
2揉稚、強(qiáng)大的可移植性秒啦,基本上能在所有的主流系統(tǒng)上運(yùn)行,而且代碼是開源的
3搀玖、詳細(xì)的文檔說明余境,和強(qiáng)大的社區(qū)團(tuán)隊(duì)進(jìn)行支持,方面新人上手
Nmap是一款開源免費(fèi)的網(wǎng)絡(luò)發(fā)現(xiàn)(Network Discovery)和安全審計(jì)(Security Auditing)工具灌诅,但是nmap也是有一些缺點(diǎn)的芳来,比如說上手較難,但是難上手是相對的猜拾,與其他達(dá)到這種功能性的軟件產(chǎn)品相比即舌,還是比較容易上手的,但是這也不妨礙nmap成為世界千萬安全專家列為必備的工具之一挎袜,在其中的一些影視作品中《黑客帝國2》顽聂、《特警判官》中都有亮相
3.2?Nmap端口狀態(tài)
open(開放的)
應(yīng)用程序正在該端口接收TCP連接或者UDP報(bào)文。發(fā)現(xiàn)這一點(diǎn)常常是端口掃描 的主要目標(biāo)盯仪。安全意識強(qiáng)的人們知道每個開放的端口 都是攻擊的入口紊搪。攻擊者或者入侵測試者想要發(fā)現(xiàn)開放的端口。而管理員則試圖關(guān)閉它們或者用防火墻保護(hù)它們以免妨礙了合法用戶全景。 非安全掃描可能對開放的端口也感興趣耀石,因?yàn)樗鼈冿@示了網(wǎng)絡(luò)上那些服務(wù)可供使用。
closed(關(guān)閉的)
關(guān)閉的端口對于Nmap也是可訪問的(它接受Nmap的探測報(bào)文并作出響應(yīng))爸黄,但沒有應(yīng)用程序在其上監(jiān)聽滞伟。 它們可以顯示該IP地址上(主機(jī)發(fā)現(xiàn),或者ping掃描)的主機(jī)正在運(yùn)行up 也對部分操作系統(tǒng)探測有所幫助炕贵。因?yàn)殛P(guān)閉的關(guān)口是可訪問的梆奈,也許過會兒值得再掃描一下,可能一些又開放了鲁驶。 系統(tǒng)管理員可能會考慮用防火墻封鎖這樣的端口鉴裹。 那樣他們就會被顯示為被過濾的狀態(tài),下面討論钥弯。
filtered(被過濾的)
由于包過濾阻止探測報(bào)文到達(dá)端口径荔, Nmap無法確定該端口是否開放。過濾可能來自專業(yè)的防火墻設(shè)備脆霎,路由器規(guī)則 或者主機(jī)上的軟件防火墻总处。這樣的端口讓攻擊者感覺很挫折,因?yàn)樗鼈儙缀醪惶峁┤魏涡畔⒕χ搿S袝r候它們響應(yīng)ICMP錯誤消息如類型3代碼13 (無法到達(dá)目標(biāo): 通信被管理員禁止)鹦马,但更普遍的是過濾器只是丟棄探測幀胧谈,不做任何響應(yīng)。 這迫使Nmap重試若干次以訪萬一探測包是由于網(wǎng)絡(luò)阻塞丟棄的荸频。 這使得掃描速度明顯變慢菱肖。
unfiltered(未被過濾的)
未被過濾狀態(tài)意味著端口可訪問,但Nmap不能確定它是開放還是關(guān)閉旭从。 只有用于映射防火墻規(guī)則集的ACK掃描才會把端口分類到這種狀態(tài)稳强。用其它類型的掃描如窗口掃描,SYN掃描和悦,或者FIN掃描來掃描未被過濾的端口可以幫助確定端口是否開放退疫。
open|filtered(開放或者被過濾的)
當(dāng)無法確定端口是開放還是被過濾的,Nmap就把該端口劃分成 這種狀態(tài)鸽素。開放的端口不響應(yīng)就是一個例子褒繁。沒有響應(yīng)也可能意味著報(bào)文過濾器丟棄 了探測報(bào)文或者它引發(fā)的任何響應(yīng)。因此Nmap無法確定該端口是開放的還是被過濾的馍忽。 UDP棒坏,IP協(xié)議, FIN遭笋,Null俊抵,和Xmas掃描可能把端口歸入此類。
closed|filtered(關(guān)閉或者被過濾的)
該狀態(tài)用于Nmap不能確定端口是關(guān)閉的還是被過濾的坐梯。它只可能出現(xiàn)在IPID Idle掃描中。
四刹帕、Snmpwalk的原理
snmpwalk是SNMP的一個工具吵血,它使用SNMP的GETNEXT請求查詢指定OID(SNMP協(xié)議中的對象標(biāo)識)入口的所有OID樹信息,并顯示給用戶偷溺。通過snmpwalk也可以查看支持SNMP協(xié)議(可網(wǎng)管)的設(shè)備的一些其他信息蹋辅,比如cisco交換機(jī)或路由器IP地址、內(nèi)存使用率等挫掏,也可用來協(xié)助開發(fā)SNMP功能侦另。
4.1?Snmpwalk使用
要使用snmpwalk,我們首先要安裝snmpwalk尉共。snmpwalk沒有單獨(dú)的安裝包褒傅,它被包含在net-snmp軟件包中的,所以我們只需要安裝net-snmp軟件包就可以得到snmpwalk袄友。
2.1 linux下安裝net-snmp
在linux下使用snmpwalk工具殿托,我們必須要安裝net-snmp-utils這個軟件包。
注意:如果linux只安裝net-snmp的話剧蚣,則不包含snmpwalk工具支竹,如下:
# yum -y installnet-snmp-utils
命令參數(shù)如下:
–h:顯示幫助旋廷。
–v:指定snmp的版本, 1或者2c或者3。
–c:指定連接設(shè)備SNMP密碼礼搁。
–V:顯示當(dāng)前snmpwalk命令行版本饶碘。
–r:指定重試次數(shù),默認(rèn)為0次馒吴。
–t:指定每次請求的等待超時時間扎运,單為秒,默認(rèn)為3秒募书。
–l:指定安全級別:noAuthNoPriv|authNoPriv|authPriv绪囱。
–a:驗(yàn)證協(xié)議:MD5|SHA。只有-l指定為authNoPriv或authPriv時才需要莹捡。
–A:驗(yàn)證字符串鬼吵。只有-l指定為authNoPriv或authPriv時才需要。
–x:加密協(xié)議:DES篮赢。只有-l指定為authPriv時才需要齿椅。
–X:加密字符串。只有-l指定為authPriv時才需要启泣。
本文首發(fā)于樂維論壇《zabbix snmp異常超時涣脚、不穩(wěn)定、時通時斷:Timeout while connecting...》