IP : 简单网络管理协议 (SNMP)

>支持Cisco IOS SNMP陷阱以及如何配置他们

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

注意: Cisco IOS软件Releaseï ¿  ½ 12.1(3)T用于准备本文。较低的 Cisco IOS 软件版本不支持其中部分选项。高于 12.1(3)T 的 Cisco IOS 软件版本可支持更多 [notification-type] 选项。在本文中,您能找到系统支持的Cisco IOS软件简单网络管理协议(SNMP)陷阱对象标识符(OID)的最新列表。

运行标准IOS软件的Cisco设备(路由器、异步传输模式(ATM)交换机和远程接入服务器) 能生成多个SNMP陷阱。

先决条件

要求

本文读者必须理解以下信息:

不要让思科设备发送它知道如何发送的所有 SNMP 陷阱。例如,如果您启用一台拥有 64 条拨入线路的远程接入服务器中的所有陷阱,那么每当有用户呼入或终止连接,您都将收到一个陷阱。这样会创建太多陷阱。Cisco IOS 软件定义了可以启用或禁用的陷阱组。有两种全局配置命令可用于为 Cisco IOS 软件设备配置 SNMP 陷阱:

  • 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 command 命令可指定 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 命令中使用的陷阱类型。

注意: 并非所有 [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 技术提示规则

snmp-server host 命令

发出 snmp-server host global configuration command 命令可指定 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 主机(目标接收方)的名称或互联网地址。
traps (可选)向此主机发送 SNMP 陷阱。这是默认设置。
通知 (可选)向此主机发送 SNMP 通知。
version (可选)用于发送陷阱的 SNMP 的版本。版本 3 是最安全的模型,因为此模型允许使用 priv 关键字进行数据包加密。如果要使用版本关键字,必须指定以下选项之一:
  • 1 - SNMPv1。通知中不可使用此选项。
  • 2c - SNMPv2C
  • 3 - SNMPv3。以下三个可选关键字可用在版本 3 关键字后:
    • auth (可选)启用消息摘要算法第 5 版 (MD5) 和安全散列算法 (SHA) 数据包身份验证。
    • noauth (默认)noAuthNoPriv 安全等级。未指定 [auth|noauth|priv] 关键字选择时,这是默认值。
    • priv (可选)启用数据加密标准 (DES) 数据包加密(又称“保密性”)。
社区字符串 与通知操作一起发送的类似密码的社区字符串。虽然只用 snmp-server host 命令就能设置此字符串,思科仍然建议您先使用 snmp-server community 命令定义此字符串,再发出 snmp-server host 命令。
udp-port port 要使用的主机上的用户数据报协议 (UDP) 端口。默认值为 162。
notification-type (可选)要发送给主机的通知的类型。如不指定类型,将发送所有通知。通知类型可以是以下一个或多个关键字:
  • aaa-server - 发送 AAA 通知。
  • bgp - 发送边界网关协议 (BGP) 状态变更通知。
  • bstun - 发送块串行隧道 (BSTUN) 通知。
  • calltracker - 发送 CallTracker 通知。
  • config - 发送配置通知。
  • dlsw - 发送数据链路交换 (DLSw) 通知。
  • ds0-busyout - 发送 ds0-busyout 通知。
  • ds1-loopback - 发送 ds1-loopback 通知。
  • 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 snmp-server host informs 命令。

注意: 如果在使用 snmp-server community 命令前没有用该命令定义 community-stringsnmp-server community 命令的默认形式将自动插入到配置中。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 通知类型。

配置通知

要发送通知,请完成以下步骤:

  1. 配置一个远程引擎 ID。

  2. 配置一个远程用户。

  3. 在远程设备上配置一个组。

  4. 在远程设备上启用陷阱。

  5. 启用 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 指定的主机。社区字符串被定义为 comaccess:

snmp-server enable traps
snmp-server host myhost.cisco.com comaccess snmp

本例会将 SNMP 陷阱和思科环境监控器企业特定陷阱发送到地址 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 global configuration 命令可允许路由器发送 SNMP 陷阱。使用此命令的 no 形式可禁用 SNMP 通知。

snmp-server enable traps [notification-type] [notification-option] 

no snmp-server enable traps [notification-type] [notification-option] 

语法说明

notification-type (可选)要启用的通知的类型。如果没有指定类型,将发送所有通知(包括envmon和转发器通知)。通知类型可以是以下关键字之一:
  • aaa-server - 发送 AAA 服务器通知。此关键字从 Cisco IOS 软件版本 12.1(3)T 起添加,仅适用于 Cisco AS5300 及 AS5800 平台。此关键字来自 CISCO-AAA-SERVER-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.10.56.2 1 casServerStateChange
  • bgp - 发送边界网关协议 (BGP) 状态变更通知。此关键字来自 BGP4-MIB,通知内容为:enterprise 1.3.6.1.2.1.15.7 1 bgpEstablished 2 bgpBackwardTransition
  • calltracker - 每当 cctActiveTable 中新建一个有效呼叫条目,或 cctHistoryTable 中创建一个新的历史记录,都发送一条通知。此关键字来自 CISCO-CALL-TRACKER-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.163.2 1 cctCallSetupNotification 2 cctCallTerminateNotification
  • config - 发送配置通知。此关键字来自 CISCO-CONFIG-MAN-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.43.2 1 ciscoConfigManEvent
  • dial - 每当成功的呼叫完成,失败的呼叫尝试被最终确定为失败,或者收到或发出呼叫建立消息,都发送一条通知。此关键字来自 DIAL-CONTROL-MIB,通知内容为:enterprise 1.3.6.1.2.1.10.21.2 1 dialCtlPeerCallInformation 2 dialCtlPeerCallSetup
  • dlsw - 使用 dlsw 关键字时从 DLSw 代理发送通知,您可以指定一个 notification-option 值。此关键字来自 CISCO-DLSW-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.10.9.1.7 1 ciscoDlswTrapTConnPartnerReject 2 ciscoDlswTrapTConnProtViolation 3 ciscoDlswTrapTConnUp 4 ciscoDlswTrapTConnDown 5 ciscoDlswTrapCircuitUp 6 ciscoDlswTrapCircuitDown
  • ds0-busyout - 每当 DS0 接口的因忙退出发生状态变化,都发送一条通知。此关键字从 Cisco IOS 软件版本 12.1(3)T 起添加,仅适用于 Cisco AS5300 平台。此关键字来自 CISCO-POP-MGMT-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.10.19.2 1 cpmDS0BusyoutNotification
  • ds1-loopback - 每当 DS1 接口进入环回模式,都发送一条通知。此关键字从 Cisco IOS 软件版本 12.1(3)T 起添加,仅适用于 Cisco AS5300 平台。此关键字来自 CISCO-POP-MGMT-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.10.19.2 2 cpmDS1LoopbackNotification
  • dspu - 每当检测到物理单元 (PU) 或逻辑单元 (LU) 的运行状态更改或激活失败,都发送一条通知。此关键字来自 CISCO-DSPU-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.24.1.4.4 1newdspuPuStateChangeTrap 2 newdspuPuActivationFailureTrap enterprise 1.3.6.1.4.1.9.9.24.1.5.3 1 newdspuLuStateChangeTrap 2 dspuLuActivationFailureTrap
  • dsp - 每当 DSP 卡启动或停止,都发送一条通知。此关键字来自 CISCO-DSP-MGMT-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.86.2 1 cdspMIBCardStateNotification
  • entity - 发送实体管理信息库 (MIB) 修改通知。此关键字来自 ENTITY-MIB,通知内容为:enterprise 1.3.6.1.2.1.47.2 1 entConfigChange
  • envmon - 在超出环境阈值时发送思科的企业特定环境监控通知。使用 envmon 关键字时,您可以指定一个 notification-option 值。此关键字来自 CISCO-ENVMON-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.13.3 1 ciscoEnvMonShutdownNotification 2 ciscoEnvMonVoltageNotification 3 ciscoEnvMonTemperatureNotification 4 ciscoEnvMonFanNotification 5 ciscoEnvMonRedundantSupplyNotification
  • frame-relay - 发送帧中继通知。此关键字来自 RFC1315-MIB,通知内容为:enterprise 1.3.6.1.2.1.10.32 1 frDLCIStatusChange
  • hsrp - 发送热待机路由器协议 (HSRP) 通知。此功能从 Cisco IOS 软件版本 12.0(3)T 起提供支持。此关键字来自 CISCO-HSRP-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.106.2 1 cHsrpStateChange
  • isdn - 发送 ISDN 通知。使用 isdn 关键字时,您可以指定一个 notification-option 值。此关键字来自 CISCO-ISDN-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.26.2 1 demandNbrCallInformation 2 demandNbrCallDetails 3 demandNbrLayer2Change [supported since Cisco IOS Software Release 12.1(1)T ] 4 demandNbrCNANotification [supported since Cisco IOS Software Release 12.1(5)T ] 此关键字来自 CISCO-ISDNU-IF-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.18.2 1 ciuIfLoopStatusNotification
  • msdp - 发送组播源发现协议 (MSDP) 通知。此关键字来自 MSDP-MIB,通知内容为:enterprise 1.3.6.1.3.92.1.1.7 1 msdpEstablished 2 msdpBackwardTransition
  • repeater - 发送以太网集线器 repeater 通知。选择关键字 repeater 时,您可以指定一个 notification-option 值。此关键字来自 CISCO-REPEATER-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.22.3 1 ciscoRptrIllegalSrcAddrTrap
  • rsvp - 发送资源预留协议 (RSVP) 通知。此功能从 Cisco IOS 软件版本 12.0(2)T 起提供支持。此关键字来自 RSVP-MIB,通知内容为:enterprise 1.3.6.1.3.71.2 1 newFlow 2 lostFlow
  • rtr - 发送 Service Assurance Agent RTR (RTR) 通知。此关键字来自 CISCO-RTTMON-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.42.2 1 rttMonConnectionChangeNotification 2 rttMonTimeoutNotification 3 rttMonThresholdNotification 4 rttMonVerifyErrorNotification
  • snmp - 发送简单网络管理协议 (SNMP) 通知。使用关键字 snmp 时,您可以指定一个 notification-option 值。此关键字来自 CISCO-GENERAL-TRAPS,通知内容为:enterprise 1.3.6.1.2.1.11 0 coldStart 2 linkDown 3 linkUp 4 authenticationFailure 5 egpNeighborLoss enterprise 1.3.6.1.4.1.9 0 reload

    注意: 此陷阱由 notification-type“tty”控制:

    注意: 1 tcpConnectionClose

  • syslog - 发送错误消息通知 (Cisco Syslog MIB)。用 logging history level 命令指定要发送的消息的级别。此关键字来自 CISCO-SYSLOG-MIB,通知内容为:enterprise 1.3.6.1.4.1.9.9.41.2 1 clogMessageGenerated
  • voice - 发送低质量语音通知。此关键字来自 CISCO-VOICE-DIAL-CONTROL-MIBSMI,通知内容为:enterprise 1.3.6.1.4.1.9.9.63.2 1 cvdcPoorQoVNotification
  • xgcp - 发送外部媒体网关控制协议 (XGCP) 通知。此关键字来自 XGCP-MIB,通知内容为:enterprise 1.3.6.1.3.90.2 1 xgcpUpDownNotification
notification-option (可选)
  • dlsw [circuit|tconn] - 使用dlsw关键字时,您可以指定希望启用或禁用的特定通知类型。如果没有使用关键字,所有 DLSw 通知类型都会启用。选项可以是以下一个或多个关键字:
    • circuit - 启用 DLSw 线路陷阱。
    • tconn - 启用 DLSw 对等传输连接陷阱。
  • envmon [voltage|shutdown|supply|fan|temperature] - 使用关键字 envmon 时,您可以启用一种特定的环境通知类型,或者接受来自环境监控系统的所有通知类型。如不指定选项,将启用所有环境通知。选项可以是以下一个或多个关键字:voltageshutdownsupplyfantemperature
  • 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 时,您可以指定中继器选项。如不指定选项,将启用所有中继器通知。选项可以是以下一个或多个关键字:health--启用互联网工程任务组 (IETF) 中继集线器 MIB (RFC 1516) 健康情况通知。reset--启用 IETF 中继集线器 MIB (RFC 1516) 重置通知。
    • health - 启用互联网工程任务组 (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形式的话)。可用的通知类型有:
    • authentication - 控制 SNMP 身份验证失败通知的分发。authenticationFailure(4)陷阱表示,发送的协议实体是没有正确验证协议消息的收信人。
    • linkup - 控制 SNMP 链路恢复通知的发送。LinkUp(3) 陷阱表示发送协议实体发现代理配置中出现的其中一个通信链路已恢复。
    • linkdown - 控制 SNMP 链路通知的发送方式。LinkDown(2) 陷阱表示发送协议实体发现代理配置中出现的其中一个通信链路出现故障。
    • coldstart - 控制 SNMP 冷启动通知的发送。ColdStart(0) 陷阱表示发送协议实体正在自行重新初始化,以便允许修改代理或协议实体实施的配置。

默认设置

SNMP 通知处于禁用状态。

如果您不使用通知类型关键字输入此命令,默认值是启用所有此命令控制的提示类型。

命令模式

全局配置 - 命令历史

Cisco IOS 软件版本 修改
11.1 引入此指令。
12.0(2)T 添加了 rsvp 关键字。
12.0(3)T 添加了 hsrp 关键字。
12.1(3)T 向此命令的 snmp-server enable traps snmp 形式添加了以下关键字:
  • linkup
  • linkdown
  • coldstart
添加了以下通知类型关键字,仅适用于 Cisco AS5300 平台:
  • ds0-busyout
  • isdn chan-not-avail
  • modem-health
  • ds1-loopback
添加了以下通知类型关键字,仅适用于 Cisco AS5300 和 AS5800 平台:
  • aaa-server

使用指南

此命令的 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 陷阱通过 HSRP MIB 定义,中继器陷阱通过中继集线器 MIB 定义,等等)。不是所有 snmp-server host 命令中可用的通知类型都有 notificationEnable MIB 对象,因此其中一些不能通过 snmp-server enable 命令来控制。


相关信息


Document ID: 13506