簡介
本文檔介紹如何配置支援的Cisco IOS® SNMP陷阱。
必要條件
需求
思科建議您瞭解以下主題:
您不希望Cisco裝置傳送裝置知道如何傳送的所有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 host
命令定義要傳送陷阱的網路管理系統。如果不希望傳送所有陷阱,則必須指定陷阱型別。發出多個 snmp-server enable traps
命令,針對您在 snmp host
指令。
註:並非全部 [notification-type]
這兩個命令均支援選項。例如, [notification-type]
x25和teletype(tty)不用於 snmp-server enable trap
預設情況下啟用x25和tty陷阱。
例如,發出以下命令,使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軟體版本12.1(3)T。若使用較舊的 Cisco IOS 軟體版本,則無法支援所有選項。若使用 Cisco IOS 軟體 12.1(3)T 以上的版本,可支援其他 [通知類型] 選項。在本文件中,您可找到一份清單,列出目前所有支援的 Cisco IOS 軟體簡易網路管理通訊協定 (SNMP) 陷阱物件識別碼 (OID) 。
運行標準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關鍵字,則必須指定以下選項之一:
- 1 - SNMPv1。此選項在通知中不可用。
- 2c - SNMPv2C
- 3 - SNMPv3。這三個可選關鍵字可以在version 3關鍵字之後:
auth (可選)啟用消息摘要5(MD5)和安全雜湊演算法(SHA)資料包身份驗證。
noauth (預設)noAuthNoPriv安全級別。如果[auth | noauth | 未指定priv]關鍵字選擇。
priv (可選)啟用資料加密標準(DES)資料包加密(也稱為「隱私」)。
|
community-string |
與通知操作一起傳送的類似密碼的社群字串。雖然可以使用 snmp-server host 命令本身,思科建議您使用 snmp-server community 命令時,才能發出 snmp-server host 指令。 |
udp-portport |
要使用的主機的使用者資料包協定(UDP)埠。預設值為162。 |
notification-type |
(可選)要傳送到主機的通知型別。如果未指定型別,則傳送所有通知。通知型別可以是以下一個或多個關鍵字:
aaa-server — 傳送AAA通知。
bgp — 傳送邊界網關協定(BGP)狀態更改通知。
bstun — 傳送塊串列隧道(BSTUN)通知。
calltracker — 傳送CallTracker通知。
config — 傳送配置通知。
dlsw — 傳送資料鏈路交換(DLSw)通知。
ds0-busyout — 傳送ds0-busyout通知。
ds1-loopback — 傳送ds1環回通知。
dspu — 傳送下游物理單元(DSPU)通知。
dsp — 傳送數位訊號處理(DSP)通知。
entity — 傳送實體管理資訊庫(MIB)修改通知。
envmon — 超過環境閾值時傳送思科企業特定的環境監控器通知。
frame-relay — 傳送幀中繼通知。
hsrp — 傳送熱待命路由器協定(HSRP)通知。
isdn — 傳送整合服務數位網路(ISDN)通知。
msdp — 傳送組播源發現協定(MSDP)通知。
llc2 — 傳送邏輯鏈路控制,型別2(LLC2)通知。
repeater — 傳送標準轉發器(集線器)通知。
rsrb — 傳送遠端源路由橋接(RSRB)通知。
rsvp — 傳送資源保留協定(RSVP)通知。
rtr — 傳送SA代理(RTR)通知。
sdlc — 傳送同步資料連結控制(SDLC)通知。
snmp — 傳送簡單網路管理協定(SNMP)通知(如RFC 1157中所定義)。
stun — 傳送串列隧道(STUN)通知。
syslog — 傳送錯誤消息通知(Cisco Syslog MIB)。指定要與一起傳送的消息的級別 logging history level 指令。
tty — 當傳輸控制協定(TCP)連線關閉時,傳送思科企業特定的通知。
voice — 傳送語音通知。
x25 — 傳送X.25事件通知。
xgcp — 傳送外部媒體網關控制協定(XGCP)通知。
|
預設值
其 snmp-server host
命令預設處於禁用狀態。不傳送通知。
如果輸入不帶關鍵字的此命令,則預設設定為將所有陷阱型別傳送到主機。
不會向此主機傳送任何通知。如果否 version
關鍵字存在,預設為版本1。其 no snmp-server host
帶有no關鍵字的命令會禁用陷阱,但不會向主機發出通知。發出 no snmp-server host informs
命令禁用通知。
註:如果 community-string
未使用 snmp-server community
命令後使用此命令,預設形式為 snmp-server community
命令會自動插入到配置中。密碼 (community-string)
用於此自動配置的 snmp-server community
與 snmp-server host
指令。這是Cisco IOS軟體版本12.0(3)和更新版本的預設行為。
命令模式
全域性配置 — 命令歷史記錄
Cisco IOS軟體版本 |
修改 |
10.0 |
已匯入命令。 |
12.0(3)T |
已新增以下關鍵字:
version 3 [auth | noauth | priv]
hsrp
|
使用指南
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
notification-type僅在環境監視器是系統的一部分時才可用。
配置通知
完成以下步驟即可傳送通知:
-
配置遠端引擎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 和 repeater 通知)。通知型別可以是以下關鍵字之一:
|
notification-option |
(選用)
dlsw [circuit | tconn] — 當dlsw 關鍵字時,您可以指定要啟用或禁用的特定通知型別。如果未使用關鍵字,則啟用所有DLSw通知型別。選項可以是以下一個或多個關鍵字:
circuit — 啟用DLSw電路陷阱。
tconn — 啟用DLSw對等傳輸連線陷阱。
envmon [voltage | shutdown | supply | fan | temperature] — 當envmon 關鍵字,則您可以啟用特定的環境通知型別,或接受來自環境監視系統的所有通知型別。如果未指定任何選項,則會啟用所有環境通知。選項可以是以下一個或多個關鍵字:voltage 中,shutdown 中,supply 中,fan ,和temperature .
isdn [call-information | isdn u-interface | chan-not-avail | layer2] — 當 isdn 關鍵字時,您可以指定 call-information 關鍵字:為ISDN MIB子系統啟用SNMP ISDN呼叫資訊通知,或者您可以指定 isdn u-interface 關鍵字:為ISDN U介面MIB子系統啟用SNMP ISDN U介面通知。
repeater [health | reset] — 當 repeater 使用關鍵字,可以指定repeater選項。如果未指定任何選項,則會啟用所有中繼器通知。該選項可以是以下一個或多個關鍵字:health — 啟用Internet工程任務組(IETF)中繼器集線器MIB(RFC 1516)運行狀況通知。reset — 啟用IETF中繼器集線器MIB(RFC 1516)重置通知。
health — 啟用Internet工程任務組(IETF)中繼器中心MIB(RFC 1516)運行狀況通知。
reset — 啟用IETF中繼器集線器MIB(RFC 1516)重置通知。
snmp [authentication | linkup | linkdown | coldstart] 關鍵字 linkup | linkdown | coldstart 自Cisco IOS軟體版本12.1(3)T新增的 snmp 關鍵字時,您可以指定要啟用或禁用的特定通知型別。如果未使用關鍵字,則啟用所有SNMP通知型別(如果使用no表單,則禁用所有SNMP通知型別)。可用的通知型別包括:
authentication — 控制SNMP身份驗證失敗通知的分發。authenticationFailure(4)陷阱表示傳送協定實體是未正確驗證的協定消息的地址。
linkup — 控制SNMP連結通知的傳送。LinkUp(3)陷阱表示傳送協定實體識別代理配置中表示的通訊鏈路之一已經啟動。
linkdown — 控制SNMP連結關閉通知的傳送方式。linkDown(2)陷阱表示傳送協定實體識別代理配置中所表示的一個通訊鏈路中的故障。
coldstart — 控制傳送SNMP coldstart通知。coldStart(0)陷阱表示傳送協定實體重新初始化自身,以便可以更改代理或協定實體實現的配置。
|
預設值
已禁用SNMP通知。
如果輸入不帶通知型別關鍵字的此命令,則預設啟用此命令控制的所有通知型別。
命令模式
全域性配置 — 命令歷史記錄
Cisco IOS軟體版本 |
修改 |
11.1 |
引入了此命令。 |
12.0(2)T |
其rsvp 已新增關鍵字。 |
12.0(3)T |
其 hsrp 已新增關鍵字。 |
12.1(3)公噸 |
這些關鍵字已新增到 snmp-server enable traps snmp 此命令的形式:
linkup
linkdown
coldstart
已為Cisco AS5300平台新增了以下通知型別關鍵字:
ds0-busyout
isdn chan-not-avail
modem-health
ds1-loopback
此通知型別關鍵字僅針對Cisco AS5300和AS5800平台新增:
|
使用指南
其 snmp-server enable traps snmp [ linkup] [linkdown]
此命令的形式取代了 snmp trap link-status interface
配置模式命令。
其 no
的形式 snmp-server enable traps
命令在禁用在網路上生成大量不必要噪音的通知時非常有用。
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
指令。
相關資訊