本文檔介紹如何配置支援的Cisco IOS® SNMP陷阱。
思科建議您瞭解以下主題:
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
使用SNMP時,建議限制思科裝置上啟用的陷阱數量,以防止流量過大。例如,在具有64條撥入線路的遠端訪問伺服器上啟用所有陷阱會為每個連線和斷開事件生成一個陷阱,這可能會迅速使您的監控系統不堪重負。Cisco IOS軟體允許您配置要啟用或禁用的特定陷阱組,這有助於有效管理陷阱卷。有兩個全域性配置命令可將SNMP陷阱配置到Cisco IOS軟體裝置中:
snmp-server host host-addr [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}]
community-string [udp-port port] [notification-type]
發出snmp-server host global configuration命令以指定SNMP通知操作的收件人。發出此命令的no形式以刪除指定的主機。
snmp-server enable traps [notification-type] [notification-option]
發出snmp-server enable traps global configuration命令,使路由器能夠傳送SNMP陷阱。發出此命令的no形式以禁用SNMP通知。
可以在兩個命令中指定陷阱型別。您必須發出snmp-server host 命令以定義傳送陷阱的網路管理系統。如果不希望傳送所有陷阱,則必須指定陷阱型別。發出多個snmp-server enable traps命令,分別針對您在snmp host命令中使用的每種陷阱型別發出一個。
例如,發出以下命令,使Cisco IOS軟體裝置僅向網路管理系統10.10.10.10報告配置、邊界網關協定(BGP)和tty陷阱:
snmp-server host 10.10.10.10 public config bgp tty snmp-server enable traps config snmp-server enable traps bgp
運行標準Cisco IOS軟體(路由器、非同步傳輸模式(ATM)交換機和遠端訪問伺服器)的Cisco裝置可以生成許多SNMP陷阱。
snmp-server-host發出snmp-server host global configuration命令以指定SNMP通知操作的收件人。發出no表單命令以刪除指定的主機。
snmp-server host host-addr [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}] community-string [udp-port port] [notification-type] no snmp-server host host [traps | informs]
host-addr |
主機(目標收件人)的名稱或Internet地址。 |
traps |
(可選)將SNMP陷阱傳送到此主機;這是預設設定。 |
informs |
(可選)將SNMP通知傳送到此主機。 |
version |
(可選)用於傳送陷阱的SNMP版本。版本3是最安全的型號,因為此型號允許使用關鍵字進行封包 priv 加密。如果使用version關鍵字,則必須指定以下選項之一:
|
community-string |
與通知操作一起傳送的類似密碼的社群字串。雖然您可以使用此命令本身 snmp-server host 來設定此字串,但Cisco建議您在發出命令之 snmp-server community 前使用命令定義此 snmp-server host 字串。 |
udp-portport |
要使用的主機的使用者資料包協定(UDP)埠;預設值為162。 |
| notification-type | (可選)要傳送到主機的通知型別。如果未指定型別,則傳送所有通知。通知型別可以是以下一個或多個關鍵字:
|
預設情況下,snmp-server host命令處於禁用狀態,不會傳送任何通知。
如果輸入不帶關鍵字的此命令,則預設設定為將所有陷阱型別傳送到主機。
不會向此主機傳送任何通知。如果沒有version關鍵字,則預設為版本1。不帶關鍵字的no snmp-server host命令會禁用陷阱,但不會通知主機。發出no snmp-server host informs命令以禁用通知。
| Cisco IOS軟體版本 | 修改 |
|---|---|
| 10.0 | 已匯入命令。 |
| 12.0(3)T | 已新增以下關鍵字:
|
SNMP通知可以作為陷阱或通知請求傳送。陷阱不可靠,因為接收方在此裝置收到陷阱時不傳送確認。傳送方無法確定是否已收到陷阱。但是,接收通知請求的SNMP實體使用SNMP響應協定資料單元(PDU)確認消息。 如果傳送方從未收到響應,則可以再次傳送通知請求。因此,通知更有可能到達其預期目的地。
但是,通知會消耗代理和網路中的更多資源。與陷阱不同(陷阱在傳送後立即被丟棄),通知請求必須保持在記憶體中直到收到響應或請求超時。陷阱僅傳送一次,而通知可以重試多次。重試會增加流量,並導致網路開銷增加。
如果不輸入snmp-server host命令,則不會傳送任何通知。要將路由器配置為傳送SNMP通知,必須至少輸入一個snmp-server host命令。如果輸入不帶關鍵字的命令,則將為主機啟用所有陷阱型別。要啟用多個主機,您必須為每個主機發出單獨的snmp-server host命令。您可以在命令中為每個主機指定多個通知型別。
當為同一主機和通知(陷阱或通知)提供多個snmp-server host命令時,每個命令都會覆蓋前面的命令。僅考慮最後一個snmp-server host命令。例如,如果為主機輸入snmp-server host inform命令,然後為同一主機輸入另一個snmp-server host inform命令,則第二個命令將替換第一個命令。
snmp-server host命令與snmp-server enable命令一起使用。發出snmp-server enable命令以指定全域性傳送哪些SNMP通知。若要使主機接收最多通知,必須啟用該主機的至少一個snmp-server enable命令和snmp-server host命令。
但是,無法使用snmp-server enable命令控制某些通知型別。例如,某些通知型別始終處於啟用狀態。其他通知型別由不同的命令啟用。例如,linkUpDown通知由snmp trap link-status命令控制。這些通知型別不需要snmp-server enable命令。
通知型別選項的可用性取決於路由器型別和路由器支援的Cisco IOS軟體功能。例如,envmon通知型別僅在環境監控器是系統的一部分時才可用。
完成以下步驟以傳送通知:
配置遠端引擎ID。
配置遠端使用者。
在遠端裝置上配置組。
在遠端裝置上啟用陷阱。
啟用SNMP管理器。
要為陷阱配置唯一的SNMP社群字串,但您希望阻止使用此字串的SNMP輪詢訪問,配置必須包括訪問清單。在本示例中,社群字串命名為comaccess,訪問清單編號為10:
snmp-server community comaccess ro 10 snmp-server host 172.20.2.160 comaccess access-list 10 deny any
此示例將SNMP陷阱傳送到由名稱myhost.cisco.com指定的主機。community字串定義為comaccess:
snmp-server enable traps snmp-server host myhost.cisco.com comaccess snmp
此示例將SNMP和Cisco環境監控企業特定陷阱傳送到地址172.30.2.160:
snmp-server enable traps snmp-server host 172.30.2.160 public snmp envmon
此範例允許路由器使用社群字串public將所有陷阱傳送到主機myhost.cisco.com:
snmp-server enable traps snmp-server host myhost.cisco.com public
此示例不向任何主機傳送陷阱。對所有主機啟用BGP陷阱,但僅啟用ISDN陷阱以傳送到主機。
snmp-server enable traps bgp snmp-server host bob public isdn
此範例允許路由器使用社群字串public將所有通知要求傳送到主機myhost.cisco.com:
snmp-server enable traps snmp-server host myhost.cisco.com informs version
此示例將HSRP SNMPv2c陷阱傳送到由名稱myhost.cisco.com指定的主機。社群字串被定義為public。
snmp-server enable traps snmp-server host myhost.cisco.com traps version 2c public hsrp
snmp-server enable traps 使用snmp-server enable traps全域性配置命令使路由器能夠傳送SNMP陷阱。使用此命令的no形式禁用SNMP通知。
snmp-server enable traps [notification-type] [notification-option] no snmp-server enable traps [notification-type] [notification-option]
| notification-type | (可選):要啟用的通知型別。如果未指定型別,則傳送所有通知(包括envmon和repeaternotifications)。 通知型別可以是以下關鍵字之一:
|
| notification-option | (選用)
|
已禁用SNMP通知。
如果輸入不帶通知型別關鍵字的此命令,則預設啟用此命令控制的所有通知型別。
| Cisco IOS軟體版本 | 修改 |
|---|---|
| 11.1 | 引入了此命令。 |
| 12.0(2)T | rsvp已新增關鍵字。 |
| 12.0(3)T | 已添 hsrp加關鍵字。 |
| 12.1(3)公噸 | 以下關鍵字已新增到此命令的形式中snmp-server enable traps snmp:
|
此命令的snmp-server enable traps snmp [ linkup] [linkdown]形式取代了snmp trap link-status interface配置模式命令。
snmp-server enable traps命令的no形式對於禁用在網路上生成大量不必要噪音的通知非常有用。
SNMP通知可以作為陷阱或通知請求傳送。此命令為指定的通知型別啟用陷阱和通知請求。
如果不輸入snmp-server enable traps命令,則不會傳送由此命令控制的通知。要將路由器配置為傳送這些SNMP通知,您必須至少輸入一個snmp-server enable traps命令。如果輸入不帶關鍵字的命令,則將啟用所有通知型別。如果輸入帶有關鍵字的命令,則僅啟用與該關鍵字相關的通知型別。要啟用多種型別的通知,您必須為每個通知型別和通知選項發出單獨的snmp-server enable traps命令。
snmp-server enable traps命令與snmp-server host命令一起使用。發出snmp-server host命令以指定哪些主機接收SNMP通知。要傳送通知,必須至少配置一個snmp-server host命令。
要使主機接收由此命令控制的通知,必須啟用該主機的snmp-server enable traps命令和snmp-server host命令。如果通知型別不受此命令控制,則僅必須啟用適當的snmp-server host命令。
此命令中使用的通知型別都有一個相關的MIB對象,允許啟用或禁用它們(例如,使用HSRP MIB定義HSRP陷阱,使用中繼器集線器MIB定義中繼器陷阱,等等)。 snmp-server host命令中可用的所有通知型別並非都包含notificationEnable MIB對象,因此,其中一些無法使用snmp-server enable命令進行控制。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
4.0 |
01-Jun-2026
|
更新的拼寫、語法、句子結構等 |
3.0 |
18-Dec-2023
|
重新認證 |
1.0 |
10-Dec-2001
|
初始版本 |