本文档介绍如何配置支持的Cisco IOS® SNMP陷阱。
Cisco 建议您了解以下主题:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 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 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 命令中使用的陷阱类型。
例如,发出以下命令使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 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陷阱发送到此主机;这是默认设置。 |
informs |
(可选)向此主机发送 SNMP 通知。 |
version |
(可选)用于发送陷阱的 SNMP 的版本。版本3是最安全的模型,因为此模型允许使用关键字进行数据 priv 包加密。如果要使用版本关键字,必须指定以下选项之一:
|
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 指定的主机。社区字符串被定义为 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和repeaternotifications)。 通知类型可以是以下关键字之一:
|
| notification-option | (可选)
|
SNMP 通知处于禁用状态。
如果您不使用通知类型关键字输入此命令,默认值是启用所有此命令控制的提示类型。
| Cisco IOS 软件版本 | 修改 |
|---|---|
| 11.1 | 引入此指令。 |
| 12.0(2)T | rsvp已添加关键字。 |
| 12.0(3)T | 已添 hsrp加关键字。 |
| 12.1(3)T | 以下关键字已添加到此命令的形式中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 陷阱通过 HSRP MIB 定义,中继器陷阱通过中继集线器 MIB 定义,等等)。 snmp-server host命令中可用的所有通知类型并非都有notificationEnable MIB对象,因此其中一些无法使用snmp-server enable命令控制。
| 版本 | 发布日期 | 备注 |
|---|---|---|
4.0 |
01-Jun-2026
|
更新的拼写、语法、句子结构等 |
3.0 |
18-Dec-2023
|
重新认证 |
1.0 |
10-Dec-2001
|
初始版本 |