主:老楊丨11年資深網絡工程師,更多網工提升干貨,請關注公眾號:網絡工程師俱樂部
下午好,我的網工朋友。
最近有朋友在后臺私聊我們,SNMP故障咋整?發愁!來來來,今天就來聊聊這個。
沒錯,就是那個簡單網絡管理協議,它在我們的網絡監控和管理中扮演著至關重要的角色。
但是,你是否遇到過因為SNMP配置不當而導致的網絡故障?或者,你是否曾經因為交換機的告警信息無法及時送達而感到焦慮?
常見的SNMP故障包括網絡連接故障、配置錯誤、資源限制、安全設置問題等。
今天就來分析一波,如何高效地處理這些棘手問題的實用技巧。防患于未然,記得一鍵三連!
今日文章閱讀福利:《 62頁-華為SNMP配置學習指南 》
更多SNMP配置學習,可以查看這份文檔啊。掃碼發送暗號“snmp”,即可獲取此份完整的配置手冊。
SNMP是廣泛應用于TCP/IP網絡的網絡管理標準協議。網管系統可以通過SNMP協議對網絡設備(包括交換機、路由器、防火墻等)進行監測和管理。
如上圖所示,SNMP網絡的組成包括網管、被納管設備、中間網絡,這幾部分都有可能導致網管與被納管設備之間的SNMP交互異常。
本文檔主要介紹網管通過SNMP協議對交換機進行監測、管理中的常見故障處理方法,主要包括以下幾方面:
網管無法通過SNMP納管交換機,或者說網管無法與交換機進行SNMP對接,通常是因為網絡或者SNMP配置原因導致。可以從以下幾方面進行排查和處理:
01 檢查網絡是否可以ping通
網絡可以互通是SNMP對接的前提,您可以通過ping命令檢查交換機和網管能否互通。如果不能互通,請檢查交換機、中間網絡或網管上的路由配置是否正確,確保交換機和網管能夠ping通。
需要注意的是,即使交換機和網管之間能夠ping通,也并不意味著交換機和網管一定能夠正常接收到對端發送的SNMP報文。因為ping是ICMP報文,而SNMP是UDP報文,可能會因為ACL的應用,或者網絡中有防火墻等原因,導致SNMP報文被過濾,無法通過網絡正常轉發。
您可以在網絡設備上進行流量統計或者鏡像抓包等方法確認SNMP報文是否被正常發送、接收。因為不同網絡設備的流量統計或鏡像抓包方法不盡相同,本文不再贅述。
02 檢查SNMP是否有應用ACL
如果交換機上的SNMP配置里有應用ACL,那么網管的IP地址必須在ACL規則允許通過的列表中。如果檢查網管IP地址沒有被放通,需要修改ACL規則,放通網管IP地址。
#
acl number 2001
rule 5 permit source 192.168.1.0 0.0.0.255 //網管IP地址必須在允許通過的列表中
#
snmp-agent community write cipher xxx acl 2001 //SNMPv2c版本應用ACL的配置示例
#
snmp-agent group v3 huawei_group privacy write-view alliso acl 2001 //SNMPv3版本應用ACL的配置示例
#
03 檢查交換機上是否有undo snmp-agent protocol source-status all-interface配置
#
undo snmp-agent protocol source-status all-interface
undo snmp-agent protocol source-status ipv6 all-interface
#
如果交換機上有上述配置,需要打開SNMP協議使用所有或者部分接口響應網管請求的功能。
[~HUAWEI] snmp-agent protocol source-status all-interface
[~HUAWEI] snmp-agent protocol source-status ipv6 all-interface
[~HUAWEI] snmp-agent protocol source-interface meth 0/0/0
04 檢查交換機上是否有SNMP認證失敗等日志
在網管與交換機進行SNMP對接失敗時,交換機上可能會記錄一些SNMP異常的日志,例如:SNMP/3/SNMP_AUTHEN_FAILED。可以執行命令display logbuffer查看交換機上是否有SNMP異常日志,并根據日志中記錄的原因而進行相應的處理。
SNMP/3/SNMP_AUTHEN_FAILED: Failed to login through SNMP. (Version=[Version], UserName=[UserName], Ip=[Ip], VpnName=[VpnName], RequestID=[RequestID], PduType=[PduType], Reason=[Reason])
05 檢查交換機和網管的SNMP版本是否一致
SNMP有v1、v2c、v3幾種版本,交換機側和網管側的SNMP版本必須保持一致,否則無法進行SNMP對接。
缺省情況下,交換機的SNMP版本為v3。您可以檢查配置文件或者通過命令display snmp-agent sys-info version查看當前交換機的SNMP版本。如果兩側SNMP版本不一致,需要修改交換機或網管側,使其保持一致。
例如配置交換機的SNMP版本支持v2c。
[~HUAWEI] snmp-agent sys-info version v2c
06 針對SNMPv2c版本,檢查交換機和網管的團體名是否一致
團體名包括只讀權限的團體名和讀寫權限的團體名,交換機側和網管側配置的團體名必須一致。
交換機上配置的SNMP團體名是以密文的形式保存的。如果忘記配置的團體名,建議重新配置團體名,使之與網管側一致。
#
snmp-agent sys-info version v2c
snmp-agent community read cipher xxx //只讀權限團體名
snmp-agent community write cipher xxx //讀寫權限團體名
#
07 針對SNMPv3版本,檢查用戶的安全級別是否正確
SNMPv3用戶的安全級別分為三個等級,從高到低為:
privacy:認證并加密
authentication:認證不加密
none:不認證不加密
SNMPv3協議規定,用戶和告警主機的安全級別不能低于其所屬用戶組的安全級別,否則網管將無法與交換機對接。如果用戶組是privacy級別,用戶和告警主機就必須是privacy級別;用戶組是authentication級別,用戶和告警主機可以是privacy或者authentication級別。
#
snmp-agent sys-info version v3
snmp-agent group v3 dc-admin privacy read-view rd write-view wt notify-view nt //組名為dc-admin,安全級別為privacy
#
snmp-agent usm-user v3 uhmroot
snmp-agent usm-user v3 uhmroot group dc-admin //用戶名為uhmroot,屬于dc-admin組
snmp-agent usm-user v3 uhmroot authentication-mode sha cipher xxx //認證模式及密碼
snmp-agent usm-user v3 uhmroot privacy-mode aes128 cipher xxx//加密模式及密碼,如果用戶組安全級別為privacy,用戶必須同時配置authentication-mode和privacy-mode
#
08 針對SNMPv3版本,檢查用戶的認證+加密的模式及密碼是否和網管側一致
交換機側SNMPv3用戶的認證、加密的模式及密碼必須和網管側保持一致,否則無法完成SNMP對接。
交換機上配置的SNMP密碼是以密文的形式保存的。如果忘記配置的密碼,建議重新配置認證、加密的模式及密碼,使之與網管側一致。
#
snmp-agent usm-user v3 uhmroot
snmp-agent usm-user v3 uhmroot group dc-admin
snmp-agent usm-user v3 uhmroot authentication-mode sha cipher xxx //認證模式及密碼,必須和網管側一致
snmp-agent usm-user v3 uhmroot privacy-mode aes128 cipher xxx //加密模式及密碼,必須和網管側一致
#
09 檢查防火墻是否允許SNMP報文通過
如果交換機和網管之間的網絡中有防火墻,則可能會因為防火墻的過濾策略而導致SNMP報文無法正常通過。以Huawei防火墻為例,防火墻默認丟棄所有的報文,只有在防火墻策略中放行的報文才能正常轉發。
在檢查防火墻上的安全策略時,需要注意策略中的以下幾點:
#
security-policy
rule name policy1 //安全域策略
source-zone trust //源安全域
destination-zone untrust //目的安全域
source-address 10.1.1.0 mask 255.255.255.0 //源IP地址,交換機或網管地址需要在此范圍內
destination-address 10.1.2.0 mask 255.255.255.0 //目的IP地址,交換機或網管IP地址需要在此范圍內
action permit
rule name policy2
source-zone untrust
destination-zone trust
source-address 10.1.2.0 mask 255.255.255.0
destination-address 10.1.1.0 mask 255.255.255.0
action permit
#
interface GigabitEthernet1/0/0 //連接交換機或網管的接口
undo shutdown
ip address 10.1.2.1 255.255.255.0
service-manage snmp permit //開啟SNMP服務,缺省情況下SNMP服務未開啟
#
10 檢查網絡中是否有重復的SNMP引擎ID
正常情況下,網絡中每臺交換機都會有一個唯一的SNMP引擎ID,用于標志一個SNMP實體。如果網絡中交換機的SNMP引擎ID有重復,那么后添加的交換機將無法與網管進行對接。
#
snmp-agent
snmp-agent local-engineid 800007DB03D0C65B9E5D01 //SNMP引擎ID
#
SNMP引擎ID重復通常出現于復制其他交換機的配置文件后,再進行修改并使用的場景,容易漏修改原交換機使用的SNMP引擎ID。如果發現SNMP引擎ID有重復,可以在交換機上通過undo snmp-agent local-engineid恢復ID為缺省值,使其唯一。
[~HUAWEI] undo snmp-agent local-engineid
當交換機發生故障或因某些原因導致系統進入不正常的工作狀態時,為幫助用戶快速感知并定位問題,系統會產生事件和告警,同時觸發產生相應的Trap信息。Trap信息通過SNMP協議上報到網管系統,在實際應用中,習慣把Trap直接稱為告警,為便于理解,下文中的告警和Trap是同一個含義。
網管能夠收到交換機告警的前提是網管已經成功納管交換機,所以在處理網管接收不到告警的問題前,請先確保網管能夠正常納管交換機,然后從以下幾方面進行排查和處理:
01 檢查交換機上告警開關是否打開,或告警是否被過濾
網管接收到告警的前提是交換機真實產生了告警或事件,并產生了相應的Trap信息,因此在網管接收不到告警時,首先需要確認交換機是否產生了Trap。
執行命令display trapbuffer查看Trap緩沖區中是否存在對應的告警信息。如果不存在,則說明交換機沒有產生告警,網管也就無法收到告警,此時可以通過檢查交換機的如下配置進行排查:
例如,接口Down的告警為:IFNET_1.3.6.1.6.3.1.1.5.3 linkdown ,IFNET為告警所屬的模塊。通過命令display snmp-agent trap feature-name feature-name all,可以查看到交換機上接口Down告警開關是否打開,其中“Current switch status”值即表示當前告警開關的開啟狀態。
<HUAWEI> display snmp-agent trap feature-name ifnet all
------------------------------------------------------------------------------
Feature name: IFNET
Trap number : 4
------------------------------------------------------------------------------
Trap name Default switch status Current switch status
hwPhysicalAdminIfDown on on
hwPhysicalAdminIfUp on on
linkdown off off
linkup off off
如果告警被關閉,可以執行命令snmp-agent trap enable feature-name feature-name trap-name trap-name可以打開對應告警的開關。
[~HUAWEI] snmp-agent trap enable feature-name ifnet trap-name linkdown
或者執行命令snmp-agent trap enable打開所有告警的開關。
[~HUAWEI] snmp-agent trap enable
如果交換機上配置了info-center filter-id { id | bymodule-alias modname alias }命令過濾了相應的Trap,那么即使交換機產生了該告警,也不會產生Trap信息,網管也無法收到該告警。
#
info-center filter-id bymodule-alias ifnet linkdown
#
如果有上述配置,可以執行undo info-center filter-id { id | bymodule-alias modname alias }刪除該配置
[~HUAWEI] undo info-center filter-id bymodule-alias ifnet linkdown
02 檢查交換機是否有set net-manager vpn-instance配置
通常情況下,交換機上配置SNMP發送告警信息時,除了指定目標網管外,還會使用snmp-agent trap source interface-type interface-number命令指定發送告警的源接口。這樣在網管上可以進行告警源識別。
但是交換機上若同時配置了set net-manager vpn-instance vpn-instance命令,且該VPN和snmp-agent trap source interface-type interface-number命令指定的源接口綁定的VPN不是同一個,那么交換機會優先使用set net-manager vpn-instance vpn-instance命令指定的VPN里的某個接口作為源接口,這樣會導致網管無法接受到正確源地址的告警。
例如交換機上有以下配置。那么交換機發送告警至網管時,源接口將是vpn1里的LoopBack2,而不是LoopBack1。
#
interface LoopBack1
ip address 1.1.1.1 255.255.255.255
#
interface LoopBack2
ip binding vpn-instance vpn1
ip address 2.2.2.2 255.255.255.255
#
set net-manager vpn-instance vpn1 //如果配置該命令,優先使用該命令指定的VPN里的接口來發送告警
#
snmp-agent target-host trap address udp-domain 10.1.1.1 params securityname uhmroot v3 privacy //指定接收告警的目標網管
#
snmp-agent trap source LoopBack1 //指定發送告警的源接口
#
若產生了上述沖突場景,可以采用下面其中一種方法解決:
【1】執行undo set net-manager vpn-instance刪除該配置。
刪除該配置前,請先確認對其他業務模塊的影響,因為該命令不僅僅會影響SNMP模塊,還會對FTP、SFTP、Info Center、SSH、TACACS等業務模塊產生影響。
【2】在snmp-agent target-host trap命令中指定源接口。
該命令中指定的源接口參數source interface-type interface-number具有最高優先級。
[~HUAWEI] snmp-agent target-host trap address udp-domain 10.1.1.1 source loopback1 params securityname uhmroot v3 privacy
03 檢查交換機發送告警時使用的SNMP版本是否與全局SNMP版本一致
交換機上snmp-agent target-host trap命令指定的發送告警時使用的SNMP版本,需要與snmp-agent sys-info version指定的全局SNMP版本一致,否則交換機無法正常發送出告警。在配置snmp-agent target-host trap命令時,如果不指定SNMP版本,則默認使用SNMPv1。
例如以下配置中,全局SNMP協議使能的是v3版本,而未指定發送告警時所使用的SNMP版本,使用默認的v1版本,兩者的版本不一致,因此交換機無法正常發送出告警。
snmp-agent sys-info version v3 //僅使能SNMPv3版本
snmp-agent target-host trap address udp-domain 10.1.1.1 params
需要在snmp-agent target-host trap命令中指定發送告警時使用的SNMP版本,使其和全局的版本一致。
[~HUAWEI] snmp-agent target-host trap address udp-domain 10.1.1.1 params securityname uhmroot v3 privacy
04 檢查交換機的SNMP告警端口號和網管側是否一致
按照SNMP協議規范,SNMP使用目的端口號162來發送告警信息。因此,網管通常使用端口號162來處理告警信息,例如Huawei的eSight網管系統。
如果交換機上snmp-agent target-host trap配置里指定了目的端口號(缺省情況下為162),且與網管側不一致,則會導致網管無法正常接收告警信息。
#
snmp-agent target-host trap address udp-domain 10.1.1.1 udp-port 161 params securityname uhmroot v3 privacy
#
建議使用默認的目的端口號。
#
snmp-agent target-host trap address udp-domain 10.1.1.1 params securityname u
整理:老楊丨11年資深網絡工程師,更多網工提升干貨,請關注公眾號:網絡工程師俱樂部
隨著各類電腦軟件的迭代升級,微信、qq、各類游俠運行垃圾等占用C盤空間較大,引起電腦C空間不足變紅的警示,導致正常的辦公軟件、應用程序不能正常使用,想必大家都碰到過類似的問題,那下面就大體介紹幾種電腦磁盤的合理利用和C盤垃圾文件的清理;
1.位于C:\Users\ADMINI~1\AppData\Local\Temp內,或者使用清理代碼代碼清理,具體操作同時按下Windows鍵和這個R鍵,點擊之后,就彈出了運行框,然后我們要在這個運行框里輸入%TMP%,很多臨時文件放在這里,用來收藏夾,瀏覽網頁的臨時文件,編輯文件等。
2.全選Temp文件夾內的所以文件并刪除
要通過計算機管理工具訪問磁盤管理,請單擊開始按鈕,在搜索欄中鍵入“計算機管理”,然后按Enter鍵或單擊“打開”。
如果計算機管理窗口沒有展開,請單擊“存儲”,然后單擊“磁盤管理”。
二、搜索磁盤管理
如果你想繞過計算機管理窗口,可以直接搜索“磁盤管理”。Windows 10和Windows 11的用戶界面存在一些差異,但操作步驟是一樣的,所以不要太擔心。
單擊開始按鈕,在搜索欄中鍵入“磁盤管理”,然后按Enter鍵或單擊“打開”。
注意:顯示的搜索結果不會是磁盤管理,而是“創建并格式化硬盤分區”。
點擊“打開”。
三、高級用戶菜單
如果你想使用高級用戶菜單訪問磁盤管理器,可以點擊Windows+X鍵或右鍵單擊開始按鈕,然后單擊“磁盤管理”。