04-SNMP命令
本章节下载: 04-SNMP命令 (284.28 KB)
1.1.1 display snmp-agent community
1.1.2 display snmp-agent group
1.1.3 display snmp-agent local-engineid
1.1.4 display snmp-agent mib-view
1.1.5 display snmp-agent statistics
1.1.6 display snmp-agent sys-info
1.1.7 display snmp-agent trap queue
1.1.8 display snmp-agent trap-list
1.1.9 display snmp-agent usm-user
1.1.10 enable snmp trap updown
1.1.12 snmp-agent calculate-password
1.1.15 snmp-agent local-engineid
1.1.17 snmp-agent ifmib long-ifindex enable
1.1.19 snmp-agent packet max-size
1.1.20 snmp-agent packet response dscp
1.1.24 snmp-agent trap if-mib link extended
1.1.26 snmp-agent trap queue-size
1.1.28 snmp-agent usm-user { v1 | v2c }
【命令】
display snmp-agent community [ read | write ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
read:显示只读访问权限的团体信息。
write:显示读写访问权限的团体信息。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent community命令用来显示SNMPv1或SNMPv2c团体信息。
FIPS模式下不支持该命令。
【举例】
# 显示设备当前所有已配置的团体信息。
<Sysname> display snmp-agent community
Community name: aa
Group name: aa
Acl:2001
Storage-type: nonVolatile
Community name: bb
Group name: bb
Storage-type: nonVolatile
Community name: userv1
Group name: testv1
Storage-type: nonVolatile
表1-1 display snmp-agent community命令显示信息描述表
字段 |
描述 |
Community name |
团体名,如果团体名是通过snmp-agent community命令创建的,则显示的是团体名;如果团体名是通过snmp-agent usm-user { v1 | v2c }命令创建的,则显示的是用户名 |
Group name |
组名,如果团体名是通过snmp-agent community命令创建的,则组名和团体名相同;如果团体名是通过snmp-agent usm-user { v1 | v2c }命令创建的,则显示用户所在的组名 |
Acl |
使用的ACL表的编号,配置ACL列表后,只有IP地址符合ACL列表要求的NMS才能访问设备 |
Storage-type |
表示存储类型,有以下几种: · volatile(重启后信息丢失) · nonVolatile(重启后信息仍保存) · permanent(重启后信息仍保存,允许更改,但不许删除) · readOnly(重启后信息仍保存,既不允许更改,也不许删除) · other(其他) |
【命令】
display snmp-agent group [ group-name ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
group-name:指定要显示信息的组名,为1~32个字符的字符串,区分大小写。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent group命令用来显示SNMPv3组信息,包括组名、安全模式、视图、存储方式等。不带参数时,显示所有组的信息。
【举例】
# 显示所有SNMP组的信息。
<Sysname> display snmp-agent group
Group name: groupv3
Security model: v3 noAuthnoPriv
Readview: ViewDefault
Writeview: <no specified>
Notifyview: <no specified>
Storage-type: nonVolatile
表1-2 display snmp-agent group命令显示信息描述表
字段 |
描述 |
Group name |
SNMP组名 |
Security model |
该组配置的安全模式,分为三种:authPriv(有认证有加密)、authNoPriv(有认证无加密)、noAuthNoPriv(无认证无加密)。SNMPv3支持以上三种,SNMPv1/v2c只支持noAuthNoPriv |
Readview |
该组对应的只读的MIB视图名 |
Writeview |
该组对应的可写的MIB视图名 |
Notifyview |
该组对应的可以发Trap消息的MIB视图名 |
Storage-type |
存储方式,有以下几种类型:volatile、nonVolatile、permanent、readOnly、other,请参见表1-1 |
【命令】
display snmp-agent local-engineid [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent local-engineid命令用来显示设备的SNMP实体引擎ID。
SNMP实体引擎ID是SNMP实体的唯一标识,它在一个SNMP管理域内是唯一的。SNMP实体引擎是SNMP实体的重要组成部分,完成SNMP消息的消息调度、消息处理、安全验证、访问控制等功能。
【举例】
# 显示本地设备的SNMP实体引擎ID。
<Sysname> display snmp-agent local-engineid
SNMP local EngineID: 800007DB7F0000013859
【命令】
display snmp-agent mib-view [ exclude | include | viewname view-name ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
exclude:显示属性为exclude的MIB视图的信息。
include:显示属性为include的MIB视图的信息。
viewname view-name:显示指定名称MIB视图的信息,view-name表示视图的名称。
| { begin | exclude | include } regular-expression:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。其中:
· begin:从包含指定正则表达式的行开始显示。
· exclude:只显示不包含指定正则表达式的行。
· include:只显示包含指定正则表达式的行。
· regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent mib-view命令用来显示MIB视图的信息。
不带参数时,显示所有MIB视图的信息。
【举例】
# 显示设备的所有MIB视图。
<Sysname> display snmp-agent mib-view
View name:ViewDefault
MIB Subtree:iso
Subtree mask:
Storage-type: nonVolatile
View Type:included
View status:active
View name:ViewDefault
MIB Subtree:snmpUsmMIB
Subtree mask:
Storage-type: nonVolatile
View Type:excluded
View status:active
View name:ViewDefault
MIB Subtree:snmpVacmMIB
Subtree mask:
Storage-type: nonVolatile
View Type:excluded
View status:active
View name:ViewDefault
MIB Subtree:snmpModules.18
Subtree mask:
Storage-type: nonVolatile
View Type:excluded
View status:active
ViewDefault是设备的缺省MIB视图。使用ViewDefault视图名限制NMS访问时,则表示除了snmpUsmMIB、snmpVacmMIB、snmpModules.18子树下的MIB对象,NMS可以访问iso子树下其它所有MIB对象。
表1-3 display snmp-agent mib-view命令显示信息描述表
字段 |
描述 |
View name |
视图名 |
MIB Subtree |
该视图对应的MIB子树 |
Subtree mask |
MIB子树的掩码 |
Storage-type |
存储方式 |
View Type |
MIB视图的类型(即该视图与MIB子树的关系),包括included和excluded两种: · included表示当前视图包括该子树的所有节点,即可以访问子树内的所有MIB对象 · excluded表示当前视图不包括该子树的任意节点,即子树内的所有MIB对象都不能被访问 |
View status |
用来指示MIB视图的状态 |
【命令】
display snmp-agent statistics [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent statistics命令用来显示SNMP报文的统计信息。
【举例】
# 显示SNMP报文的统计信息。
<Sysname> display snmp-agent statistics
1684 Messages delivered to the SNMP entity
5 Messages which were for an unsupported version
0 Messages which used a SNMP community name not known
0 Messages which represented an illegal operation for the community supplied
0 ASN.1 or BER errors in the process of decoding
1679 Messages passed from the SNMP entity
0 SNMP PDUs which had badValue error-status
0 SNMP PDUs which had genErr error-status
0 SNMP PDUs which had noSuchName error-status
0 SNMP PDUs which had tooBig error-status (Maximum packet size 1500)
16544 MIB objects retrieved successfully
2 MIB objects altered successfully
7 GetRequest-PDU accepted and processed
7 GetNextRequest-PDU accepted and processed
1653 GetBulkRequest-PDU accepted and processed
1669 GetResponse-PDU accepted and processed
2 SetRequest-PDU accepted and processed
0 Trap PDUs accepted and processed
0 Alternate Response Class PDUs dropped silently
0 Forwarded Confirmed Class PDUs dropped silently
表1-4 display snmp-agent statistics命令显示信息描述表
字段 |
描述 |
Messages delivered to the SNMP entity |
SNMP Agent收到的数据报文个数 |
Messages which were for an unsupported version |
版本不支持的数据报文个数 |
Messages which used a SNMP community name not known |
使用了非法团体名的数据报文个数 |
Messages which represented an illegal operation for the community supplied |
包含了超出团体名权限的操作的数据报文个数 |
ASN.1 or BER errors in the process of decoding |
在解码过程中发生ASN.1或BER错误的数据报文个数 |
Messages passed from the SNMP entity |
Agent收到的来自别的SNMP实体的数据报文个数 |
SNMP PDUs which had badValue error-status |
错误类型为BadValues的数据报文个数 |
SNMP PDUs which had genErr error-status |
General错误的数据报文个数 |
SNMP PDUs which had noSuchName error-status |
NoSuchName错误的数据报文个数 |
SNMP PDUs which had tooBig error-status (Maximum packet size 1500) |
TooBig错误的数据报文个数(最大报文尺寸1500字节) |
MIB objects retrieved successfully |
已成功获取的MIB对象个数 |
MIB objects altered successfully |
已成功修改的MIB对象个数 |
GetRequest-PDU accepted and processed |
已接收并处理的Get请求的个数 |
GetNextRequest-PDU accepted and processed |
已接收并处理的GetNext请求的个数 |
GetBulkRequest-PDU accepted and processed |
已接收并处理的GetBulk请求的个数 |
GetResponse-PDU accepted and processed |
已接收并处理的Get响应的个数 |
SetRequest-PDU accepted and processed |
已接收并处理的Set请求的个数 |
Trap PDUs accepted and processed |
已接收并处理的Trap消息的个数 |
Alternate Response Class PDUs dropped silently |
被丢弃的响应数据报文个数 |
Forwarded Confirmed Class PDUs dropped silently |
被丢弃的转发数据报文个数 |
【命令】
display snmp-agent sys-info [ contact | location | version ] * [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
contact:显示当前设备维护人的联系信息。
location:显示当前设备的物理位置信息。
version:显示当前设备中运行的SNMP版本号。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent sys-info命令用来显示当前SNMP设备的系统信息。
不指定参数时,显示设备的全部系统信息。
【举例】
# 显示设备系统信息。
<Sysname> display snmp-agent sys-info
The contact person for this managed node:
New H3C Technologies Co., Ltd.
The physical location of this node:
Hangzhou, China
SNMP version running in the system:
SNMPv3
【命令】
display snmp-agent trap queue [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent trap queue命令用来显示Trap消息队列的基本信息,包括Trap队列名、队列长度,以及队列中当前Trap消息的数量。
相关配置可参考命令snmp-agent trap life和snmp-agent trap queue-size。
【举例】
# 显示当前trap队列的配置及使用情况。
<Sysname> display snmp-agent trap queue
Queue name: SNTP
Queue size: 100
Message number: 6
表1-5 display snmp-agent trap queue命令显示信息描述表
字段 |
描述 |
Queue name |
Trap消息队列名 |
Queue size |
Trap消息队列长度 |
Message number |
Trap消息队列中当前Trap消息的个数 |
【命令】
display snmp-agent trap-list [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent trap-list命令用来显示系统当前可以生成Trap消息的模块及其Trap消息的使能状态。
如果一个模块包含多个子模块,则只要有任何一个子模块的Trap信息是使能的,就显示整个模块是使能的。
相关配置可参考命令snmp-agent trap enable。
【举例】
# 显示系统当前可以生成Trap消息的模块及其Trap消息的使能状态。(本命令的显示信息与设备的型号有关,请以设备的实际情况为准)
<Sysname> display snmp-agent trap-list
arp trap enable
bfd trap enable
bgp trap enable
configuration trap enable
flash trap enable
ospf trap enable
pim trap enable
standard trap enable
system trap enable
vrrp trap enable
Enable traps: 10; Disable traps: 0
以上显示信息中enable表示允许该模块生成Trap消息,disable表示不允许该模块生成Trap消息。enable或者disable可以通过命令行配置。
【命令】
display snmp-agent usm-user [ engineid engineid | username user-name | group group-name ]* [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
engineid engineid:显示指定引擎ID的SNMPv3用户信息,engineid表示SNMP引擎ID。SNMPv3用户创建的时候,系统会记录当时设备的SNMP实体引擎ID,如果设备的引擎ID被修改,则被创建的SNMPv3用户将暂时无效,只有引擎ID恢复后,才能继续生效。
username user-name:显示指定名字的SNMPv3用户信息,区分大小写。
group group-name:显示属于指定SNMP组的SNMPv3用户信息,区分大小写。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display snmp-agent usm-user命令用来显示SNMPv3用户信息。
【举例】
# 显示设备上已创建的所有用户的信息。
<Sysname> display snmp-agent usm-user
User name: userv3
Group name: mygroupv3
Engine ID: 800063A203000FE240A1A6
Storage-type: nonVolatile
UserStatus: active
User name: userv3code
Group name: groupv3code
Engine ID: 800063A203000FE240A1A6
Storage-type: nonVolatile
UserStatus: active
表1-6 display snmp-agent usm-user命令显示信息描述表
字段 |
描述 |
User name |
SNMP用户名 |
Group name |
SNMP用户所属组的组名 |
Engine ID |
SNMP实体引擎ID |
Storage-type |
存储类型,有以下几种类型:volatile、nonVolatile、permanent、readOnly、other,请参见表1-1 |
UserStatus |
SNMP用户的状态 |
【命令】
enable snmp trap updown
undo enable snmp trap updown
【视图】
二层以太网端口视图/三层以太网端口视图/VLAN接口视图
【缺省级别】
2:系统级
【参数】
无
【描述】
enable snmp trap updown命令用来在端口下设置开启端口状态变化的Trap功能。undo enable snmp trap updown命令用来在端口下关闭端口状态变化的Trap功能。
缺省情况下,端口状态变化的Trap功能处于开启状态。
需要注意的是,如果要求端口在状态发生改变时生成端口linkUp/linkDown的Trap报文,需要在端口下和全局都开启端口状态变化的Trap功能。端口下开启请使用命令enable snmp trap updown,全局下开启请使用命令snmp-agent trap enable [ standard [ linkdown | linkup ] * ]。
相关配置可参考命令snmp-agent target-host和snmp-agent trap enable。
【举例】
# 允许发送端口Ethernet1/0/1的linkUp/linkDown的SNMP Trap报文,使用团体名为public。
<Sysname> system-view
[Sysname] snmp-agent trap enable
[Sysname] snmp-agent target-host trap address udp-domain 10.1.1.1 params securityname public
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] enable snmp trap updown
【命令】
snmp-agent
undo snmp-agent
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
无
【描述】
snmp-agent命令用来启动SNMP Agent。undo snmp-agent命令用来关闭SNMP Agent。
缺省情况下,SNMP Agent功能关闭。
执行除snmp-agent calculate-password和snmp-agent ifmib long-ifindex enable外任何以snmp-agent开头的命令,都可以启动SNMP Agent服务。
【举例】
# 开启设备的SNMP Agent功能。
<Sysname> system-view
[Sysname] snmp-agent
【命令】
非FIPS模式下:
snmp-agent calculate-password plain-password mode { 3desmd5 | 3dessha | md5 | sha } { local-engineid | specified-engineid engineid }
FIPS模式下:
snmp-agent calculate-password plain-password mode sha { local-engineid | specified-engineid engineid }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
plain-password:需要被加密的明文密码。
mode:指明使用的加密算法和认证算法。AES、3DES和DES都是加密算法,这三个加密算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全要求,DES算法就可以满足需要;MD5和SHA-1是认证算法,MD5算法的计算速度比SHA-1算法快,而SHA-1算法的安全强度比MD5算法高。
· 3desmd5:用于将明文加密密码转换为密文加密密码,此时对应的认证算法必须为MD5,加密算法必须为3DES。
· 3dessha:用于将明文加密密码转换为密文加密密码,此时对应的认证算法必须为SHA-1,加密算法必须为3DES。
· md5:用于将明文认证密码转换为密文认证密码,此时对应的认证算法必须为MD5;或者用于将明文加密密码转换为密文加密密码,此时对应的认证算法必须为MD5,加密算法可以为AES也可以是DES(当认证算法为MD5时,加密算法不管是AES还是DES,转换后的结果是一样的)。
· sha:用于将明文认证密码转换为密文认证密码,此时对应的认证算法必须为SHA-1;或者用于将明文加密密码转换为密文加密密码,此时对应的认证算法必须为SHA-1,加密算法可以为AES也可以是DES(当认证算法为SHA-1时,加密算法不管是AES还是DES,转换后的结果是一样的)。
local-engineid:使用本地引擎ID计算密文密码,引擎ID的相关描述与配置可参考命令snmp-agent local-engineid。
specified-engineid:使用用户指定的引擎ID计算密文密码。
engineid:引擎ID,为16进制数字符串,长度必须为10~64中的偶数。奇数个16进制数字符串、全0和全F均被认为是无效参数。
【描述】
snmp-agent calculate-password命令用来计算用户给定明文密码通过加密算法处理后的密文密码。
需要注意的是,执行本命令前,必须先使能设备的SNMP功能。
在创建SNMPv3用户,如果指明认证或者加密密码采用密文形式时,则可以借助此命令生成相应的密文密码。
生成的密码是和引擎ID相关联的,在某一引擎ID下生成的密码,也只在此引擎ID下生效。
相关配置可参考命令snmp-agent usm-user v3。
【举例】
# 使用本地engine ID和MD5认证算法计算明文为authkey的加密密码。
<Sysname> system-view
[Sysname] snmp-agent calculate-password authkey mode md5 local-engineid
The secret key is: 09659EC5A9AE91BA189E5845E1DDE0CC
【命令】
snmp-agent community { read | write } community-name [ mib-view view-name ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
undo snmp-agent community { read | write } community-name
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
read:表明对MIB对象进行只读的访问。NMS使用该团体名访问Agent时只能执行读操作。
write:表明对MIB对象进行读写的访问。NMS使用该团体名访问Agent时可以执行读、写操作。
community-name:团体名,为1~32个字符的字符串。
acl acl-number:将团体名与基本访问控制列表绑定,acl-number表示访问列表号,取值范围为2000~2999。使用ACL,可以允许或禁止具有特定源IP地址的NMS对Agent的访问。
mib-view view-name:用来指定NMS可以访问的MIB对象的范围,view-name表示MIB视图名,为1~32个字符的字符串,缺省值为ViewDefault。
acl ipv6 ipv6-acl-number:将团体名与IPv6基本访问控制列表绑定,ipv6-acl-number表示访问列表号,取值范围为2000~2999。使用IPv6基本ACL,可以允许或禁止具有特定源IPv6地址的NMS对Agent的访问。
【描述】
snmp-agent community命令用来创建一个新的SNMP团体,可设置的参数有访问权限、团体名、访问控制列表和可访问的MIB视图。undo snmp-agent community命令用来删除指定的团体。
该命令用于SNMPv1和SNMPv2c组网环境。
团体是NMS和SNMP Agent的集合,用团体名来标志。团体名相当于密码,团体内的设备通信时需要使用团体名来进行认证。只有NMS和SNMP Agent上配置的团体名相同时,才能互相访问。通常情况下,“public”经常被用来作为读权限团体名、“private”经常被用来作为写权限团体名。为了安全起见,建议网络管理员配置其他团体名。
· acl参数,限制了只有IP地址符合条件的NMS可以访问Agent。
· community-name参数限制了NMS访问Agent时使用的团体名。
· mib-view参数限制了NMS可以访问的Agent上的MIB对象。
· read、write参数限制了NMS可以对Agent执行的操作类型。
FIPS模式下不支持该命令。
相关配置可参考命令snmp-agent mib-view。
【举例】
# 创建团体readaccess,并且允许使用该团体名进行只读访问。
<Sysname> system-view
[Sysname] snmp-agent sys-info version v1 v2c
[Sysname] snmp-agent community read readaccess
在NMS上将版本号设置为SNMPv1或者SNMPv2c,并将只读团体名填写为readaccess,建立连接,就可以对设备上缺省视图(视图名为ViewDefault)内的MIB对象进行只读操作。
# 设置团体名writeaccess,并且只允许IP地址为1.1.1.1的NMS使用该用户名设置Agent MIB对象的值,禁止其它NMS使用该团体名执行写操作。
<Sysname> system-view
[Sysname] acl number 2001
[Sysname-acl-basic-2001] rule permit source 1.1.1.1 0.0.0.0
[Sysname-acl-basic-2001] rule deny source any
[Sysname-acl-basic-2001] quit
[Sysname] snmp-agent sys-info version v2c
[Sysname] snmp-agent community write writeaccess acl 2001
将NMS的IP地址配置为1.1.1.1,版本号指定为SNMPv2c,Write community选项填写为writeaccess,即可以对设备上缺省视图(视图名为ViewDefault)内的MIB对象进行读写操作。
# 设置团体名wr-sys-acc,使用该团体名访问设备时只能对system(OID为1.3.6.1.2.1.1)子树下的MIB对象执行写操作。
<Sysname> system-view
[Sysname] snmp-agent sys-info version v1 v2c
[Sysname] undo snmp-agent mib-view ViewDefault
[Sysname] snmp-agent mib-view included test system
[Sysname] snmp-agent community write wr-sys-acc mib-view test
在NMS上将版本号设置为SNMPv1或者SNMPv2c,并将Write community填写为wr-sys-acc,建立连接,就可以对设备上system视图内的MIB对象进行读写操作。
【命令】
SNMPv1和SNMPv2c版本下的命令格式是:
snmp-agent group { v1 | v2c } group-name [ read-view view-name ] [ write-view view-name ] [ notify-view view-name ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
undo snmp-agent group { v1 | v2c } group-name
SNMPv3版本下的命令格式是:
snmp-agent group v3 group-name [ authentication | privacy ] [ read-view view-name ] [ write-view view-name ] [ notify-view view-name ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
undo snmp-agent group v3 group-name [ authentication | privacy ]
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
v1:用户使用SNMPv1版本。
v2c:用户使用SNMPv2c版本。
v3:用户使用SNMPv3版本。
group-name:组名,为1~32个字符的字符串。
authentication:指明对报文进行认证但不加密。
privacy:指明对报文进行认证和加密。
read-view view-name:用来指定NMS具有读权限的MIB对象的范围,view-name表示MIB视图名,为1~32个字符的字符串。缺省值为ViewDefault。
write-view view-name:用来指定NMS具有写权限的MIB对象的范围,view-name表示MIB视图名,为1~32个字符的字符串。缺省情况下,未配置读写视图,即NMS不能对设备的所有MIB对象进行写操作。
notify-view view-name:表示该MIB视图下的节点状态异常时可以向NMS发送Trap消息,NMS也可以接收这些Trap信息。view-name表示MIB视图名,为1~32个字符的字符串。缺省情况下,未配置Trap消息视图,即Agent不会向NMS发送Trap信息。
acl acl-number:将组与基本访问控制列表绑定,acl-number表示访问列表号,取值范围为2000~2999。使用基本ACL,可以对SNMP报文的源IP地址进行限制,即允许或禁止具有特定源IP地址的SNMP报文通过,从而进一步限制NMS和Agent的互访。
acl ipv6 ipv6-acl-number:将团体名与IPv6基本访问控制列表绑定,ipv6-acl-number表示访问列表号,取值范围为2000~2999。使用IPv6基本ACL,可以允许或禁止具有特定源IPv6地址的NMS对Agent的访问。
【描述】
snmp-agent group命令用来配置一个新的SNMP组,并设置其访问权限。undo snmp-agent group命令用来删除一个指定的SNMP组。
缺省情况下,不存在任何SNMP组,snmp-agent group v3命令配置的新的SNMP组采用不认证、不加密方式。
SNMP组用来定义安全模式、视图权限等信息,配置在此组内的用户,具有这些公共属性。
FIPS模式下不支持snmp-agent group { v1 | v2c }命令。
相关配置可参考命令snmp-agent mib-view和snmp-agent usm-user。
【举例】
# 在运行SNMPv3版本的设备上创建一个SNMP组group1,采用不认证、不加密方式。
<Sysname> system-view
[Sysname] snmp-agent group v3 group1
【命令】
snmp-agent local-engineid engineid
undo snmp-agent local-engineid
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
engineid:引擎ID,为16进制数字符串,长度必须为10-64中的偶数。奇数个16进制数字符串、全0和全f均被认为是无效参数。
【描述】
snmp-agent local-engineid命令用来设置本地SNMP实体的引擎ID。undo snmp-agent local-engineid命令用来恢复缺省情况。
缺省情况下,设备引擎ID为公司的“企业号+设备信息”。设备信息由各个产品决定,可以是IP地址、MAC地址或者自定义的16进制数字符串。
引擎ID有两个作用:
· 在一个NMS管理的所有设备中,每一个设备都需要有一个唯一的引擎ID来标识SNMP agent,缺省情况下每个设备有一个缺省的引擎ID,网络管理员需要确保一个管理域内不能有重复的引擎ID。
· SNMPv3版本的用户名、密文密码等的生成都和引擎ID相关联,如果更改了引擎ID,则原引擎ID下配置的用户名、密码失效。
通常情况下,使用设备的缺省引擎ID即可,用户也可以根据网络整体规划给设备配置方便记忆的引擎ID,比如A栋一楼的一号设备可以将它的引擎ID设置为000Af0010001,二号设备可以配置为000Af0010002。
相关配置可参考命令snmp-agent usm-user。
【举例】
# 配置本地设备的引擎ID为123456789A。
<Sysname> system-view
[Sysname] snmp-agent local-engineid 123456789A
【命令】
snmp-agent log { all | get-operation | set-operation }
undo snmp-agent log { all | get-operation | set-operation }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
all:表示SNMP GET和SET操作的日志开关。
get-operation:表示SNMP GET操作的日志开关。
set-operation:表示SNMP SET操作的日志开关。
【描述】
snmp-agent log命令用来打开SNMP日志开关。undo snmp-agent log命令用来恢复缺省情况。
缺省情况下,SNMP日志开关处于关闭状态。
当打开SNMP指定的日志开关后,NMS对SNMP Agent执行指定的操作时,SNMP Agent会记录与该操作相关的信息并保存到设备的信息中心。通过设置信息中心的参数,最终决定SNMP日志的输出规则(即是否允许输出以及输出方向)。
【举例】
# 打开SNMP GET操作的日志开关。
<Sysname> system-view
[Sysname] snmp-agent log get-operation
# 打开SNMP SET操作的日志开关。
<Sysname> system-view
[Sysname] snmp-agent log set-operation
【命令】
snmp-agent ifmib long-ifindex enable
undo snmp-agent ifmib long-ifindex enable
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
无
【描述】
snmp-agent ifmib long-ifindex enable命令用来切换接口网管索引为32bit模式。undo snmp-agent ifmib long-ifindex enable命令用来恢复缺省情况。
缺省情况下,接口网管索引为16bit模式。
需要注意的是,对于某些依赖接口网管索引作为参数的配置,切换接口网管索引模式会导致这些配置失效(当接口网管索引切换回原来的模式时,这些配置会重新生效)。此时需要使用新的接口网管索引重新配置,才能继续生效。例如在RMON告警组、扩展告警组的配置中,当告警变量需要使用“OID/变量名.接口网管索引”来表示,并且接口网管索引模式切换时,会导致配置的RMON告警组失效。用户如果需要继续监控此节点,需要使用新的接口网管索引重新配置。
【举例】
# 将接口的接口网管索引切换成32bit模式。
<Sysname> system-view
[Sysname] snmp-agent ifmib long-ifindex enable
【命令】
snmp-agent mib-view { excluded | included } view-name oid-tree [ mask mask-value ]
undo snmp-agent mib-view view-name
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
excluded:表示当前视图不包括该MIB子树的任何节点(即禁止访问MIB子树的所有节点)。
included:表示当前视图包括该MIB子树的所有节点(即允许访问MIB子树的所有节点)。
view-name:视图名,为1~32个字符的字符串。
oid-tree:MIB子树,用子树根节点的OID(如1.4.5.3.1)或名称(如“system”)表示。OID是由一系列的整数组成,标明节点在MIB树中的位置,它能唯一的标识一个MIB库中的对象。
mask mask-value:MIB子树的掩码,为16进制数字符串,长度必须为1-32中的偶数。不指定该参数时,该参数的取值为全f。
【描述】
snmp-agent mib-view命令用来创建或者更新MIB视图的信息,以指定NMS可以访问的MIB对象。undo snmp-agent mib-view命令用来取消当前设置。
缺省情况下,设备上已存在MIB视图ViewDefault,它包含MIB子树iso中去除snmpUsmMIB、snmpVacmMIB和snmpModules.18的部分。
MIB视图是MIB对象的集合,通过定义MIB视图可以限制NMS能访问哪些MIB对象,不能访问哪些MIB对象。比如,使用缺省视图限制NMS的访问权限时,则表示除了snmpUsmMIB、snmpVacmMIB、snmpModules.18子树下的MIB对象,NMS可以访问iso子树下其它所有MIB对象。
用户多次使用该命令定义不同的MIB视图时,如果配置的view-name和oid-tree参数值相同,只有mask-value参数值不同,则新配置将覆盖旧配置;如果配置的view-name和oid-tree参数值不同(mask-value参数值可同可不同),则新旧配置均生效。系统最多可保存20条MIB视图配置,其中缺省视图的配置占四条。当然,缺省视图可以通过undo snmp-agent mib-view命令删除,但是删除以后,可能导致不能对Agent的所有MIB节点执行读写操作,除非另外手工配置视图。
相关配置可参考命令snmp-agent community和snmp-agent group。
【举例】
# 创建MIB视图,名字为mibtest,包含mib-2子树的所有对象,不包含ip子树的所有对象。
<Sysname> system-view
[Sysname] snmp-agent mib-view included mibtest 1.3.6.1
[Sysname] snmp-agent mib-view excluded mibtest ip
[Sysname] snmp-agent community read public mib-view mibtest
以上配置成功后,当NMS使用SNMPv1版本,public团体名访问设备时,不能查询ip子树的所有对象(比如ipForwarding和ipDefaultTTL等节点),可以查询mib-2子树下的其它所有对象。
【命令】
snmp-agent packet max-size byte-count
undo snmp-agent packet max-size
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
byte-count:Agent能接收/发送的SNMP消息包长度的最大值,取值范围为484~17940,单位为字节。
【描述】
snmp-agent packet max-size命令用来设置Agent能接收/发送的SNMP消息包长度的最大值。undo snmp-agent packet max-size命令用来恢复缺省情况。
缺省情况下,Agent能接收/发送的SNMP消息包长度的最大值为1500字节。
设置消息包的最大长度,是为了防止路由通路中存在不支持分片的主机,而导致超长数据被丢弃。通常情况下,请使用缺省值。
【举例】
# 设置Agent能接收/发送的SNMP消息包最长为1024字节。
<Sysname> system-view
[Sysname] snmp-agent packet max-size 1024
【命令】
snmp-agent packet response dscp dscp-value
undo snmp-agent packet response dscp
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
dscp-value:SNMP响应报文的DSCP优先级,取值范围为0~63。
【描述】
snmp-agent packet response dscp命令用来配置SNMP响应报文的DSCP优先级。undo snmp-agent packet response dscp命令用来恢复缺省情况。
默认情况下,SNMP响应报文的DSCP优先级为0。
【举例】
# 配置SNMP响应报文的DSCP优先级为45
<Sysname> system-view
[Sysname] snmp-agent packet response dscp 45
【命令】
非FIPS模式下:
snmp-agent sys-info { contact sys-contact | location sys-location | version { all | { v1 | v2c | v3 }* } }
undo snmp-agent sys-info { contact | location | version { all | { v1 | v2c | v3 }* } }
FIPS模式下:
snmp-agent sys-info { contact sys-contact | location sys-location | version v3 }
undo snmp-agent sys-info { contact | location | version v3 }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
contact sys-contact:描述系统维护联系信息,为1~255个字符的字符串。
location sys-location:设备节点的物理位置信息,为1~255个字符的字符串。
version:设置系统启用的SNMP版本号。
· all:SNMPv1、SNMPv2c、SNMPv3版本。(FIPS模式下不支持该参数)
· v1:SNMPv1版本。(FIPS模式下不支持该参数)
· v2c:SNMPv2c版本。(FIPS模式下不支持该参数)
· v3:SNMPv3版本。
【描述】
snmp-agent sys-info命令用来设置系统信息,包括系统维护联系信息、设备节点的物理位置信息、启用的SNMP版本号等。undo snmp-agent sys-info contact和undo snmp-agent sys-info location命令用来恢复缺省情况,undo snmp-agent sys-info version命令用来禁止使用指定版本的SNMP功能。
缺省情况下,系统维护联系信息为“New H3C Technologies Co., Ltd.”。物理位置信息为“Hangzhou, China”。版本为SNMPv3。
NMS和Agent成功建立连接的前提条件是NMS和Agent使用的SNMP版本必须相同。
相关配置可参考命令display snmp-agent sys-info。
如果设备发生故障,设备维护人员可以利用系统维护联系信息,及时与设备生产厂商取得联系。设备的位置信息是RFC1213-MIB中system组的一个管理变量,用于表示被管理设备的位置。
【举例】
# 设置系统维护联系信息为Dial System Operator at beeper # 27345。
<Sysname> system-view
[Sysname] snmp-agent sys-info contact Dial System Operator at beeper # 27345
【命令】
非FIPS模式下:
snmp-agent target-host trap address udp-domain { ip-address | ipv6 ipv6-address } [ udp-port port-number ] [ dscp dscp-value ] [ vpn-instance vpn-instance-name ] params securityname security-string [ v1 | v2c | v3 [ authentication | privacy ] ]
undo snmp-agent target-host trap address udp-domain { ip-address | ipv6 ipv6-address } params securityname security-string [ vpn-instance vpn-instance-name ]
FIPS模式下:
snmp-agent target-host trap address udp-domain { ip-address | ipv6 ipv6-address } [ udp-port port-number ] [ dscp dscp-value ] [ vpn-instance vpn-instance-name ] params securityname security-string v3 [ authentication | privacy ]
undo snmp-agent target-host trap address udp-domain { ip-address | ipv6 ipv6-address } params securityname security-string [ vpn-instance vpn-instance-name ]
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
trap:配置用来接收Trap和Notify信息的目的主机的参数。
address:指定设备发出的SNMP消息中的目的地址。
udp-domain:指定使用UDP协议来传输SNMP Trap信息。
ip-address:接收Trap的目的主机的IPv4地址或主机名。主机名为1~255个字符的字符串。
ipv6 ipv6-address:接收Trap的目的主机的IPv6地址。
udp-port port-number:指定目的主机上用来接收Trap信息的端口号,缺省值为162。
dscp dscp-value:设置SNMP发送的Trap报文的DSCP优先级。取值范围为0~63,缺省值为0。
vpn-instance vpn-instance-name:指定目的主机所属的VPN。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示目的主机位于公网中。该参数只支持在IPv4网络使用。
params securityname security-string:指定认证的参数,为SNMPv1、SNMPv2c的团体名或SNMPv3的用户名,为1~32个字符的字符串。
v1:SNMPv1版本。该参数必须和NMS上运行的SNMP版本一致,否则,NMS将收不到Trap信息。(FIPS模式下不支持该参数)
v2c:SNMPv2c版本。该参数必须和NMS上运行的SNMP版本一致,否则,NMS将收不到Trap信息。(FIPS模式下不支持该参数)
v3:SNMPv3版本。该参数必须和NMS上运行的SNMP版本一致,否则,NMS将收不到Trap信息。
· authentication:指明对报文进行认证但不加密。认证是对报文是否完整以及是否被篡改等进行检验,认证密码在创建SNMPv3用户时配置。
· privacy:指明对报文进行认证和加密。加密是对报文的数据部分进行加密处理以防重要信息被窃取,认证密码和加密密码在创建SNMPv3用户时配置。
【描述】
snmp-agent target-host命令用来设置接收SNMP Trap报文的目的主机的属性。undo snmp-agent target-host命令用来取消当前设置。
根据实际组网需要,用户可以多次使用该命令配置不同的目的主机的属性,使得设备可以向多个NMS发送Trap信息。
· 不指定udp-port port-number参数时,使用的端口号为162。162是SNMP协议规定的NMS接收Trap报文的端口,通常情况下(比如使用iMC或者MIB Browser作为NMS时),使用该缺省值即可。如果要将该参数修改为其它值,则必须和NMS上的配置保持一致。
· 不指定v1、v2c、v3版本参数时,使用的版本是v1。
· 不指定authentication和privacy参数时,使用的是不认证不加密。
· 非FIPS模式下,不指定v1、v2c、v3版本参数时,使用的版本是v1。
· FIPS模式下,必须指定为v3版本参数。
相关配置可参考命令enable snmp trap updown、snmp-agent trap enable、snmp-agent trap source和snmp-agent trap life。
【举例】
# 允许向10.1.1.1发送SNMPv1 Trap报文,使用团体名public。
<Sysname> system-view
[Sysname] snmp-agent trap enable standard
[Sysname] snmp-agent target-host trap address udp-domain 10.1.1.1 params securityname public
# 允许向vpn1中,地址为10.1.1.1的设备发送SNMPv3 Trap报文,使用用户名v3test。
<Sysname> system-view
[Sysname] snmp-agent trap enable standard
[Sysname] snmp-agent target-host trap address udp-domain 10.1.1.1 vpn-instance vpn1 params securityname v3test v3
【命令】
snmp-agent trap enable [ arp rate-limit | bgp | configuration | default-route | flash | ospf [ process-id ] [ ifauthfail | ifcfgerror | ifrxbadpkt | ifstatechange | iftxretransmit | lsdbapproachoverflow | lsdboverflow | maxagelsa | nbrstatechange | originatelsa | vifcfgerror | virifauthfail | virifrxbadpkt | virifstatechange | viriftxretransmit | virnbrstatechange ] * | pim [ candidatebsrwinelection | electedbsrlostelection | interfaceelection | invalidjoinprune | invalidregister | neighborloss | rpmappingchange ] * | standard [ authentication | coldstart | linkdown | linkup | warmstart ]* | system | vrrp [ authfailure | newmaster ] ]
undo snmp-agent trap enable [ arp rate-limit | bgp | configuration | default-route | flash | ospf [ process-id ] [ ifauthfail | ifcfgerror | ifrxbadpkt | ifstatechange | iftxretransmit | lsdbapproachoverflow | lsdboverflow | maxagelsa | nbrstatechange | originatelsa | vifcfgerror | virifauthfail | virifrxbadpkt | virifstatechange | viriftxretransmit | virnbrstatechange ] * | pim [ candidatebsrwinelection | electedbsrlostelection | interfaceelection | invalidjoinprune | invalidregister | neighborloss | rpmappingchange ] * | standard [ authentication | coldstart | linkdown | linkup | warmstart ]* | system | vrrp [ authfailure | newmaster ] ]
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
arp rate-limit:ARP限速的Trap报文。
bgp:BGP模块的Trap报文。要注意的是,仅S3600V2EI系列交换机支持该参数。
configuration:配置操作的Trap报文。
flash:FLASH相关的Trap报文。
default-route:缺省路由删除时发送的Trap信息。
ospf:OSPF模块的Trap报文。要注意的是,仅S3600V2EI系列交换机支持该参数。
· process-id:OSPF进程号,取值范围为1~65535。
· ifauthfail:接口认证失败的Trap报文。
· ifcfgerror:接口配置错误的Trap报文。
· ifrxbadpkt:接收了错误报文时的Trap报文。
· ifstatechange:接口状态变化的Trap报文。
· iftxretransmit:接口接收和转发报文的Trap报文。
· lsdbapproachoverflow:LSDB接近溢出的Trap报文。
· lsdboverflow:LSDB溢出的Trap报文。
· maxagelsa:LSA的max age Trap报文。
· nbrstatechange:邻居状态变化的Trap报文。
· originatelsa:本地生成LSA的Trap报文。
· vifcfgerror:虚接口配置错误的Trap报文。
· virifauthfail:虚接口认证失败的Trap报文。
· virifrxbadpkt:虚接口接收错误报文的Trap报文。
· virifstatechange:虚接口状态变化的Trap报文。
· viriftxretransmit:虚接口接收和转发报文的Trap报文。
· virnbrstatechange:虚接口邻居状态变化的Trap报文。
pim:PIM模块的Trap报文。要注意的是,仅S3600V2EI系列交换机支持该参数。
· candidatebsrwinelection:C-BSR在BSR选举中获胜的Trap报文。
· electedbsrlostelection:当前BSR在BSR选举中失败的Trap报文。
· interfaceelection:接口选举出新DR或DF的Trap报文。
· invalidjoinprune:接收了错误加入/剪枝报文时的Trap报文。
· invalidregister:接收了错误注册报文时的Trap报文。
· neighborloss:邻居丢失的Trap报文。
· rpmappingchange:当前RP-Set变化时的Trap报文。
standard:SNMP标准Trap报文。
· authentication:认证失败时,SNMP模块的认证失败的Trap报文。
· coldstart:当设备重新启动时,冷启动Trap报文。
· linkdown:在全局下设置,当端口的链路down时,链路down的Trap报文。
· linkup:在全局下设置,当端口的链路up时,链路up的Trap报文。
· warmstart:当SNMP模块重新启动时,热启动Trap报文。
system:系统事件(私有MIB下)的Trap报文。
vrrp:VRRP模块的Trap报文。
· authfailure:VRRP认证失败的Trap报文。
· newmaster:当设备升级为Master时,VRRP newmaster Trap报文。
【描述】
snmp-agent trap enable命令用来在全局下开启Trap功能。undo snmp-agent trap enable命令用来在全局下关闭Trap功能。
缺省情况下,Trap功能处于开启状态。
要使各个模块生成相应的Trap报文,除了使用snmp-agent trap enable命令开启Trap功能,还可能与各个模块的配置有关,详情请参见各模块的相关描述。
需要注意的是,如果要求端口在状态发生改变时生成端口linkUp/linkDown的Trap报文,需要在端口下和全局都开启端口状态变化的Trap功能。端口下开启请使用命令enable snmp trap updown,全局下开启请使用命令snmp-agent trap enable [ standard [ linkdown | linkup ] * ]。
相关配置可参考命令snmp-agent target-host和enable snmp trap updown。
【举例】
# 允许向10.1.1.1发送SNMP认证失败Trap报文,使用团体名为public。
<Sysname> system-view
[Sysname] snmp-agent target-host trap address udp-domain 10.1.1.1 params securityname public
[Sysname] snmp-agent trap enable standard authentication
【命令】
snmp-agent trap if-mib link extended
undo snmp-agent trap if-mib link extended
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
无
【描述】
snmp-agent trap if-mib link extended命令用来对标准linkUp/linkDown Trap报文进行私有扩展,扩展后的Trap报文由标准报文后追加接口描述和接口类型信息构成。undo snmp-agent trap if-mib link extended命令用来恢复缺省情况。
缺省情况下,使用的是标准linkUp/linkDown Trap报文。
· 标准格式的linkUp Trap报文形如:
#Jan 24 11:48:04:896 2011 Sysname IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.4<linkUp>: Interface 983555 is Up, ifAdminStatus is 1, ifOperStatus is 1
· 扩展格式的linkUp Trap报文形如:
#Jan 24 11:43:09:896 2011 Sysname IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.4<linkUp>: Interface 983555 is Up, ifAdminStatus is 1, ifOperStatus is 1, ifDescr is Ethernet1/0/1, ifType is 6
· 标准格式的linkDown Trap报文形如:
#Jan 24 11:47:35:224 2011 Sysname IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.3<linkDown>: Interface 983555 is Down, ifAdminStatus is 2, ifOperStatus is 2
· 扩展格式的linkDown Trap报文形如:
#Jan 24 11:42:54:314 2011 Sysname IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.3<linkDown>: Interface 983555 is Down, ifAdminStatus is 2, ifOperStatus is 2, ifDescr is Ethernet1/0/1, ifType is 6
扩展格式的linkUp/linkDown Trap报文在标准格式的linkUp/linkDown Trap报文后面增加了了ifDescr和ifType信息,更便于定位问题。
需要注意的是,配置该命令后,设备发送的linkUp/linkDown Trap报文为扩展格式的报文。如果NMS不支持扩展格式,可能会无法解析报文的内容。
【举例】
# 对标准linkUp/linkDown Trap报文进行私有扩展。
[Sysname] snmp-agent trap if-mib link extended
【命令】
snmp-agent trap life seconds
undo snmp-agent trap life
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
seconds:超时时间,取值范围为1~2592000,单位为秒。
【描述】
snmp-agent trap life命令用来设置Trap报文的保存时间,超过该时间的Trap报文都将被丢弃。undo snmp-agent trap life命令用来恢复缺省情况。
缺省情况下,SNMP Trap报文的保存时间为120秒。
SNMP模块使用队列来发送Trap报文,Trap报文进入消息发送队列时会启动一个存活定时器。如果直到定时器超时(即达到snmp-agent trap life命令设置的时间),Trap报文还没有被发送出去,系统就会将该Trap报文从发送队列中删除。
相关配置可参考命令snmp-agent trap enable和snmp-agent target-host。
【举例】
# 设置Trap报文的保存时间为60秒。
<Sysname> system-view
[Sysname] snmp-agent trap life 60
【命令】
snmp-agent trap queue-size size
undo snmp-agent trap queue-size
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
size:消息队列中可以存储的Trap报文的数目,取值范围1~1000。
【描述】
snmp-agent trap queue-size命令用来设置Trap报文发送队列的长度。undo snmp-agent trap queue-size命令用来恢复缺省情况。
缺省情况下,Trap报文的发送队列最多可以存储100条Trap消息。
Trap报文产生后,会进入Trap报文消息队列进行发送,Trap报文消息队列的长度决定了队列最多可以存储的Trap报文的数目。当Trap消息队列达到设定长度后,最新生成的Trap报文会进入消息队列,最早产生的Trap报文被丢弃。
相关配置可参考命令snmp-agent trap enable、snmp-agent target-host和snmp-agent trap life。
【举例】
# 设置发送Trap报文的消息队列最多可以存储200条Trap报文。
<Sysname> system-view
[Sysname] snmp-agent trap queue-size 200
【命令】
snmp-agent trap source interface-type interface-number
undo snmp-agent trap source
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
interface-type interface-number:指定三层接口类型与接口编号。
【描述】
snmp-agent trap source命令用来指定所发送Trap报文中的源IP地址。undo snmp-agent trap source命令用来恢复缺省情况。
缺省情况下,由SNMP选择一个接口的IP地址作为Trap报文源IP地址。
执行该命令后,系统会使用指定接口的主IP地址作为发送出去的Trap报文的源IP地址。这样,在NMS上就可以使用该IP地址唯一标志Agent。即便Agent使用不同的出端口发送Trap报文,NMS都可以使用该IP地址来过滤Agent发送的所有Trap报文。
需要注意的是:在将某个接口设置为获取Trap的源地址接口之前,必须保证该接口在设备上已经存在,并且配置了合法的IP地址,该IP地址将作为Trap报文的源地址。如果配置的接口不存在,则该命令会配置失败;如果接口没有指定合法的IP地址,则该命令不生效,接口配置了合法IP地址后,该命令会自动生效。
相关配置可参考命令snmp-agent trap enable和snmp-agent target-host。
【举例】
# 将以太网端口Vlan-interface1上的接口IP地址作为Trap报文的源地址。
<Sysname> system-view
[Sysname] snmp-agent trap source Vlan-interface1
【命令】
snmp-agent usm-user { v1 | v2c } user-name group-name [ acl acl-number | acl ipv6 ipv6-acl-number ] *
undo snmp-agent usm-user { v1 | v2c } user-name group-name
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
v1:表示配置的用户名适用于SNMPv1组网环境。如果Agent和NMS使用SNMPv1版本的报文交互,则需要该参数。
v2c:表示配置的用户名适用于SNMPv2c组网环境。如果Agent和NMS使用SNMPv2c版本的报文交互,则需要该参数。
user-name:用户名,为1~32个字符的字符串,区分大小写。
group-name:该用户对应的组名,为1~32个字符的字符串,区分大小写。
acl acl-number:将用户与基本访问控制列表绑定,acl-number表示访问列表号,取值范围为2000~2999。使用基本ACL,可以对SNMP报文的源IP地址进行限制,即允许或禁止具有特定源IP地址的SNMP报文通过,从而可以允许/禁止指定的NMS使用该用户名访问Agent。
acl ipv6 ipv6-acl-number:将用户与IPv6基本访问控制列表绑定,ipv6-acl-number表示访问列表号,取值范围为2000~2999。使用IPv6基本ACL,可以对SNMP报文的源IPv6地址进行限制,即允许或禁止具有特定源IPv6地址的SNMP报文通过,从而可以允许/禁止指定的NMS使用该用户名访问Agent。
【描述】
snmp-agent usm-user { v1 | v2c }命令用来为一个SNMP组添加一个新用户。undo snmp-agent usm-user { v1 | v2c }命令用来删除SNMP组的一个用户。
根据协议规定,SNMPv1和SNMPv2c组网应用中NMS和Agent之间使用团体名来认证,SNMPv3组网应用中使用用户名来认证。如果用户习惯配置用户名并使用用户名来认证,设备支持配置SNMPv1和SNMPv2c用户。创建一个SNMPv1或SNMPv2c用户相当于添加一个新的只读团体名。将新创建的用户名填写到NMS的只读团体名参数字段,NMS就可以和设备建立SNMP连接。
要使配置的用户生效,必须先创建组。
FIPS模式下不支持该命令。
相关配置可参考命令snmp-agent group、snmp-agent community和snmp-agent usm-user v3。
【举例】
# 在组readCom里创建一个v2c的用户userv2c。
<Sysname> system-view
[Sysname] snmp-agent sys-info version v2c
[Sysname] snmp-agent group v2c readCom
[Sysname] snmp-agent usm-user v2c userv2c readCom
将NMS的版本号指定为SNMPv2c,Read community选项填写为userv2c,就可以访问Agent了。
# 在组readCom里创建一个v2c的用户userv2c,并且只允许IP地址为1.1.1.1的NMS使用该用户名访问Agent,禁止其它NMS使用该用户名访问。
<Sysname> system-view
[Sysname] acl number 2001
[Sysname-acl-basic-2001] rule permit source 1.1.1.1 0.0.0.0
[Sysname-acl-basic-2001] rule deny source any
[Sysname-acl-basic-2001] quit
[Sysname] snmp-agent sys-info version v2c
[Sysname] snmp-agent group v2c readCom
[Sysname] snmp-agent usm-user v2c userv2c readCom acl 2001
此时在IP地址为1.1.1.1,版本号指定为SNMPv2c,Read community的NMS上,将SNMP协议版本号指定为SNMPv2c,Read community和Write community选项均填写为userv2c,就可以访问Agent了。
【命令】
非FIPS模式下:
snmp-agent usm-user v3 user-name group-name [ cipher ] [ authentication-mode { md5 | sha } auth-password [ privacy-mode { 3des | aes128 | des56 } priv-password ] ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
undo snmp-agent usm-user v3 user-name group-name { local | engineid engineid-string }
FIPS模式下:
snmp-agent usm-user v3 user-name group-name [ cipher ] [ authentication-mode sha auth-password [ privacy-mode aes128 priv-password ] ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
undo snmp-agent usm-user v3 user-name group-name { local | engineid engineid-string }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
user-name:用户名,为1~32个字符的字符串,区分大小写。
group-name:该用户对应的组名,为1~32个字符的字符串,区分大小写。
cipher:以密文方式设置认证密码和加密密码。当使用16进制字符作为密文密码时可以使用snmp-agent calculate-password命令来计算获得。不指定该参数时,表示以明文方式设置认证密码和加密密码。
authentication-mode:指明安全模式为需要认证。MD5算法的计算速度比SHA算法快,而SHA算法的安全强度比MD5算法高。
· md5:指定认证算法为MD5。(FIPS模式下不支持该参数)
· sha:指定认证算法为SHA-1。
auth-password:设置认证密码,区分大小写,具体如下。
· 采用明文设置认证密码时:认证密码的长度范围是1~64个字符。
· 采用密文设置认证密码时:对密文加密密码的要求请参见表1-7。
认证算法 |
16进制格式的认证密码 |
非16进制格式的认证密码 |
md5 |
长度为32 |
长度为53 |
sha |
长度为40 |
长度为57 |
privacy-mode:指明安全模式为需要加密。加密算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全要求,DES算法就可以满足需要。
· 3des:指定加密算法为3DES(Triple Data Encryption Standard,三重数据加密标准)。(FIPS模式下不支持该参数)
· aes128:指定加密算法为AES(Advanced Encryption Standard,高级加密标准)。
· des56:指定加密算法为DES(Data Encryption Standard,数据加密标准)。(FIPS模式下不支持该参数)
priv-password:加密密码。设置的明文加密密码或密文加密密码,区分大小写。明文加密密码的长度范围是1~64;如果选择密文方式,对密文加密密码的要求请参见表1-8。
认证算法 |
加密算法 |
16进制格式的加密密码 |
非16进制格式的认证密码 |
md5 |
3des |
长度为64 |
长度为73 |
aes128或des56 |
长度为32 |
长度为53 |
|
sha |
3des |
长度为80 |
长度为73 |
aes128或des56 |
长度为40 |
长度为53 |
acl acl-number:将用户与基本访问控制列表绑定,acl-number表示访问列表号,取值范围为2000~2999。使用基本ACL,可以对SNMP报文的源IP地址进行限制,即允许或禁止具有特定源IP地址的SNMP报文通过,从而可以允许/禁止指定的NMS使用该用户名访问Agent。
acl ipv6 ipv6-acl-number:将用户与IPV6基本访问控制列表绑定,ipv6-acl-number表示访问列表号,取值范围为2000~2999。使用IPv6基本ACL,可以对SNMP报文的源IPv6地址进行限制,即允许或禁止具有特定源IPv6地址的SNMP报文通过,从而可以允许/禁止指定的NMS使用该用户名访问Agent。
local:表示本地实体引擎。
engineid engineid-string:指定与该用户相关联的引擎ID,为16进制数字符串,长度必须为10-64中的偶数。奇数个16进制数字符串、全0和全F均被认为是无效参数。
【描述】
snmp-agent usm-user v3命令用来为一个SNMP组添加一个新用户。undo snmp-agent usm-user v3命令用来删除SNMP组的一个用户。
该命令配置的用户名适用于SNMPv3组网环境。如果Agent和NMS使用SNMPv3版本的报文交互,则需要创建SNMPv3用户。
SNMP用户依附于SNMP组,创建用户前,请先创建组。否则,用户能够创建成功但是不生效。一个组可以包含多个用户。组定义了用户能够访问的SNMP对象(通过MIB视图来限定)以及是否进行认证和加密等,而认证和加密的具体算法和密码则是在创建用户时定义。
需要注意的是:
· 如果使用snmp-agent usm-user v3 cipher命令,其密文密码参数可以用命令snmp-agent calculate-password获得。要使计算所得的密文密码能够用于snmp-agent usm-user v3 cipher命令且等效,必须保证两条命令使用的加密算法相同,而且执行snmp-agent usm-user v3 cipher命令时设备的本地引擎ID与snmp-agent calculate-password命令中指定的SNMP实体引擎ID一致。
· 多次使用本命令配置同一用户(即用户名相同,其它参数没有要求),配置结果以最后一次的配置为准。
· 以明文或密文方式设置的密码,均以密文方式保存在配置文件中。
· NMS在访问设备时,必须输入明文密码,因此在创建用户时请牢记用户名以及对应的明文密码。
相关配置可参考命令snmp-agent calculate-password、snmp-agent group、snmp-agent usm-user { v1 | v2c }。
【举例】
# 为v3组testGroup加入一个用户testUser,安全级别为只认证不加密,认证算法为md5,认证密码明文为authkey。
<Sysname> system-view
[Sysname] snmp-agent group v3 testGroup authentication
[Sysname] snmp-agent usm-user v3 testUser testGroup authentication-mode md5 authkey
在NMS上将版本号设置为SNMPv3,并将用户名填写为testUser,认证算法设置为MD5,认证密码填写为authkey,建立连接,就可以对设备上缺省视图(视图名为ViewDefault)内的MIB对象进行访问了。
# 为v3组testGroup加入一个用户testUser,安全级别为认证和加密,认证算法为md5、加密算法为des56,认证密码明文为authkey,加密密码明文为prikey。
<Sysname> system-view
[Sysname] snmp-agent group v3 testGroup privacy
[Sysname] snmp-agent usm-user v3 testUser testGroup authentication-mode md5 authkey privacy-mode des56 prikey
在NMS上将版本号设置为SNMPv3,并将用户名填写为testUser,认证算法设置为MD5,认证密码填写为authkey,加密算法设置为DES,加密密码填写为prikey,建立连接,就可以对设备上缺省视图(视图名为ViewDefault)内的MIB对象进行访问了。
# 以cihper方式为v3组testGroup加入一个用户testUser,安全级别为认证和加密,认证算法为md5、加密算法为des56,认证密码明文为authkey,加密密码明文为prikey。
<Sysname> system-view
[Sysname] snmp-agent group v3 testGroup privacy
[Sysname] snmp-agent calculate-password authkey mode md5 local-engineid
The secret key is: 09659EC5A9AE91BA189E5845E1DDE0CC
[Sysname] snmp-agent calculate-password prikey mode md5 local-engineid
The secret key is: 800D7F26E786C4BECE61BF01E0A22705
[Sysname] snmp-agent usm-user v3 testUser testGroup cipher authentication-mode md5 09659EC5A9AE91BA189E5845E1DDE0CC privacy-mode des56 800D7F26E786C4BECE61BF01E0A22705
在NMS上将版本号设置为SNMPv3,并将用户名填写为testUser,认证算法设置为MD5,认证密码填写为authkey,加密算法设置为DES,加密密码填写为prikey,建立连接,就可以对设备上缺省视图(视图名为ViewDefault)内的MIB对象进行访问了。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!