04-SNMP命令
本章节下载: 04-SNMP命令 (350.42 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.18 snmp-agent packet max-size
1.1.19 snmp-agent packet response dscp
1.1.23 snmp-agent trap if-mib link extended
1.1.25 snmp-agent trap queue-size
1.1.27 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团体信息。
【举例】
# 显示设备当前所有已配置的团体信息。
<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
View name: ViewDefault
MIB Subtree: hh3cLI
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
configuration trap enable
default-route trap enable
flash trap enable
standard trap enable
system trap enable
Enable traps: 5; 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开头的命令,都可以启动SNMP Agent服务。
【举例】
# 开启设备的SNMP Agent功能。
<Sysname> system-view
[Sysname] snmp-agent
【命令】
snmp-agent calculate-password plain-password mode { 3desmd5 | 3dessha | md5 | 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执行的操作类型。
相关配置可参考命令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组用来定义安全模式、视图权限等信息,配置在此组内的用户,具有这些公共属性。
相关配置可参考命令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 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参数值可同可不同),则新旧配置均生效。当然,缺省视图可以通过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
【命令】
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 }* } }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
contact sys-contact:描述系统维护联系信息,为1~200个字符的字符串。
location sys-location:设备节点的物理位置信息,为1~200个字符的字符串。
version:设置系统启用的SNMP版本号。
· all:SNMPv1、SNMPv2c、SNMPv3版本。
· v1:SNMPv1版本。
· v2c:SNMPv2c版本。
· 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
【命令】
snmp-agent target-host trap address udp-domain { ip-address | ipv6 ipv6-address } [ udp-port port-number ] [ dscp dscp-value ] 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
【视图】
系统视图
【缺省级别】
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。
params securityname security-string:指定认证的参数,为SNMPv1、SNMPv2c的团体名或SNMPv3的用户名,为1~32个字符的字符串。
v1:SNMPv1版本。该参数必须和NMS上运行的SNMP版本一致,否则,NMS将收不到Trap信息。
v2c:SNMPv2c版本。该参数必须和NMS上运行的SNMP版本一致,否则,NMS将收不到Trap信息。
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参数时,使用的是不认证不加密。
相关配置可参考命令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
【命令】
snmp-agent trap enable [ configuration | default-route | flash | standard [ authentication | coldstart | linkdown | linkup | warmstart ]* | system ]
undo snmp-agent trap enable [ configuration | default-route | flash | standard [ authentication | coldstart | linkdown | linkup | warmstart ]* | system ]
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
configuration:配置操作的Trap报文。
flash:FLASH相关的Trap报文。
default-route:缺省路由删除时发送的Trap信息。
standard:SNMP标准Trap报文。
· authentication:认证失败时,SNMP模块的认证失败的Trap报文。
· coldstart:当设备重新启动时,冷启动Trap报文。
· linkdown:在全局下设置,当端口的链路down时,链路down的Trap报文。
· linkup:在全局下设置,当端口的链路up时,链路up的Trap报文。
· warmstart:当SNMP模块重新启动时,热启动Trap报文。
system:系统事件(私有MIB下)的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连接。
要使配置的用户生效,必须先创建组。
相关配置可参考命令snmp-agent group和snmp-agent community。
【举例】
# 在组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了。
【命令】
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 }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
user-name:用户名,为1~32个字符的字符串,区分大小写。
group-name:该用户对应的组名,为1~32个字符的字符串,区分大小写。
cipher:以密文方式设置认证密码和加密密码。当使用16进制字符作为密文密码时可以使用snmp-agent calculate-password命令来计算获得。不指定该参数时,表示以明文方式设置认证密码和加密密码。
authentication-mode:指明安全模式为需要认证。MD5算法的计算速度比SHA算法快,而SHA算法的安全强度比MD5算法高。
· md5:指定认证算法为MD5。
· 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,三重数据加密标准)。
· aes128:指定加密算法为AES(Advanced Encryption Standard,高级加密标准)。
· des56:指定加密算法为DES(Data Encryption Standard,数据加密标准)。
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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!