• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

11-网络管理和监控命令参考

目录

06-SNMP命令

本章节下载 06-SNMP命令  (569.96 KB)

06-SNMP命令

  录

1 SNMP

1.1 SNMP配置命令

1.1.1 display snmp-agent community

1.1.2 display snmp-agent context

1.1.3 display snmp-agent group

1.1.4 display snmp-agent local-engineid

1.1.5 display snmp-agent mib-node

1.1.6 display snmp-agent mib-view

1.1.7 display snmp-agent remote

1.1.8 display snmp-agent statistics

1.1.9 display snmp-agent sys-info

1.1.10 display snmp-agent trap queue

1.1.11 display snmp-agent trapbuffer drop

1.1.12 display snmp-agent trapbuffer send

1.1.13 display snmp-agent trap-list

1.1.14 display snmp-agent usm-user

1.1.15 enable snmp trap updown

1.1.16 reset snmp-agent trapbuffer

1.1.17 snmp-agent

1.1.18 snmp-agent acl

1.1.19 snmp-agent calculate-password

1.1.20 snmp-agent community

1.1.21 snmp-agent community-map

1.1.22 snmp-agent configuration-examine interval

1.1.23 snmp-agent context

1.1.24 snmp-agent group

1.1.25 snmp-agent local-engineid

1.1.26 snmp-agent log

1.1.27 snmp-agent mib-view

1.1.28 snmp-agent packet max-size

1.1.29 snmp-agent packet response dscp

1.1.30 snmp-agent port

1.1.31 snmp-agent remote

1.1.32 snmp-agent silence enable

1.1.33 snmp-agent sys-info contact

1.1.34 snmp-agent sys-info location

1.1.35 snmp-agent sys-info version

1.1.36 snmp-agent target-host

1.1.37 snmp-agent trap enable

1.1.38 snmp-agent trap format

1.1.39 snmp-agent trap if-mib link extended

1.1.40 snmp-agent trap life

1.1.41 snmp-agent trap log

1.1.42 snmp-agent trap snmpv2-mib authenticationfailure extended

1.1.43 snmp-agent trap queue-size

1.1.44 snmp-agent trap withsn

1.1.45 snmp-agent usm-user { v1 | v2c }

1.1.46 snmp-agent usm-user v3

1.1.47 snmp-agent usm-user v3 user-role

 


1 SNMP

说明

设备运行于FIPS模式时,本特性部分配置相对于非FIPS模式有所变化,具体差异请见本文相关描述。有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。

1.1  SNMP配置命令

SNMP告警信息包括SNMP Trap和Inform信息,用来告知NMS设备上发生了重要事件,比如,用户的登录/退出,接口状态变成up/down等。如无特殊说明,本文中的告警信息均指Trap和Inform两种信息。

1.1.1  display snmp-agent community

display snmp-agent community命令用来显示SNMPv1或SNMPv2c的团体信息。

【命令】

display snmp-agent community [ read | write ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

read:显示只读访问权限的团体信息。

write:显示读写访问权限的团体信息。

【使用指导】

FIPS模式下,不支持本命令。

不带参数时,显示所有SNMP团体的信息。

用户有两种方式创建团体:

·     使用snmp-agent community命令来创建团体。

·     配置snmp-agent usm-user { v1 | v2c }snmp-agent group { v1 | v2c }命令成功创建SNMPv1或SNMPv2c用户以及相应的组后,系统会以用户名为团体名自动创建一个团体。

display snmp-agent community会显示这两种方式创建的、以明文方式配置并以明文方式保存到配置文件中的团体的信息。

【举例】

# 显示设备当前所有已配置的团体信息。

<Sysname> display snmp-agent community

   Community name: aa

       Group name: aa

       ACL:2001

       Storage-type: nonVolatile

       Context name: con1

 

   Community name: bb

       Role name: bb

       Storage-type: nonVolatile

 

   Community name: userv1

       Group name: testv1

       Storage-type: nonVolatile

 

   Community name: cc

       Group name: cc

       ACL name: testacl

       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命令的VACM方式创建的,则组名和团体名相同

·     如果团体名是通过snmp-agent usm-user { v1 | v2c }命令创建的,则显示用户所在的组名

Role name

SNMP用户所在团体绑定的角色名:

通过snmp-agent community命令的RBAC方式创建的团体名可绑定用户角色

ACL

使用的ACL列表的编号(该字段仅在团体名与ACL编号绑定后显示)

ACL name

使用的ACL列表的名称(该字段仅在团体名与ACL名称绑定后显示)

IPV6 ACL

使用的IPv6 ACL列表的编号(该字段仅在团体名与IPv6 ACL编号绑定后显示)

IPV6 ACL name

使用的IPv6 ACL列表的名称(该字段仅在团体名与IPv6 ACL名称绑定后显示)

Storage-type

表示存储方式,分为以下几种:

·     volatile:重启后信息丢失

·     nonVolatile:重启后信息仍保存

·     permanent:重启后信息仍保存,允许更改,但不许删除

·     readOnly:重启后信息仍保存,既不允许更改,也不许删除

·     other:其他

Context name

SNMP上下文:

·     如果此团体名配置了对应的上下文映射,则显示对应的上下文

·     如果此团体名未配置对应的上下文映射,该字段显示为空

 

【相关命令】

·     snmp-agent community

·     snmp-agent usm-user { v1 | v2c }

1.1.2  display snmp-agent context

display snmp-agent context命令用来显示SNMP上下文。

【命令】

display snmp-agent context [ context-name ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

context-name:显示指定的SNMP上下文,为1~32个字符的字符串,区分大小写。不指定该参数时,显示设备上所有已创建的SNMP上下文。

【举例】

# 显示设备上所有已创建的SNMP上下文。

<Sysname> display snmp-agent context

   testcontext

【相关命令】

·     snmp-agent context

1.1.3  display snmp-agent group

display snmp-agent group命令用来显示SNMP组信息。

【命令】

display snmp-agent group [ group-name ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

group-name:非FIPS模式下,指定要显示信息的SNMPv1、SNMPv2c或SNMPv3组的名称;FIPS模式下,指定要显示信息的SNMPv3组的名称。取值范围为1~32个字符的字符串,区分大小写。不指定该参数时,显示设备上所有已创建的SNMP组的信息。

【举例】

# 显示所有SNMP组的信息。

<Sysname> display snmp-agent group

   Group name: groupv3

       Security model: v3 noAuthnoPriv

       Readview: ViewDefault

       Writeview: <no specified>

       Notifyview: <no specified>

       Storage-type: nonVolatile

       ACL name: testacl

表1-2 display snmp-agent group命令显示信息描述表

字段

描述

Group name

SNMP组名

Security model

SNMP组配置的安全模式,包括版本信息和安全模式,以空格分隔:

·     对于SNMPv1和SNMPv2c版本,认证加密级别只能为noAuthNoPriv(无认证无加密)

·     对于SNMPv3版本,安全模式分为三种:authPriv(既认证又加密)、authNoPriv(只认证不加密)、noAuthNoPriv(不认证不加密)

Readview

SNMP组对应的只读的MIB视图名

Writeview

SNMP组对应的可写的MIB视图名

Notifyview

SNMP组对应的可以发Trap和Inform信息的MIB视图名

Storage-type

存储方式,分为以下几种:volatile、nonVolatile、permanent、readOnly、other,具体描述请参见表1-1

ACL

使用的IPv4 ACL列表的编号(该字段仅在SNMP组与IPv4 ACL编号绑定后显示)

ACL name

使用的ACL列表的名称(该字段仅在SNMP组与ACL名称绑定后显示)

IPV6 ACL

使用的IPv6 ACL列表的编号(该字段仅在SNMP组与IPv6 ACL编号绑定后显示)

IPV6 ACL name

使用的IPv6 ACL列表的名称(该字段仅在SNMP组与IPv6 ACL名称绑定后显示)

 

【相关命令】

·     snmp-agent group

1.1.4  display snmp-agent local-engineid

display snmp-agent local-engineid命令用来显示本设备的SNMP引擎ID。

【命令】

display snmp-agent local-engineid

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【使用指导】

SNMP引擎ID是SNMP实体的唯一标识,它在一个SNMP管理域内是唯一的。SNMP引擎是SNMP实体的重要组成部分,完成SNMP信息的信息调度、信息处理、安全验证、访问控制等功能。

【举例】

# 显示本设备的SNMP引擎ID。

<Sysname> display snmp-agent local-engineid

   SNMP local engine ID: 800063A2800084E52BED7900000001

【相关命令】

·     snmp-agent local-engineid

1.1.5  display snmp-agent mib-node

display snmp-agent mib-node命令用来显示SNMP支持的MIB节点信息。

【命令】

display snmp-agent mib-node [ details | index-node | trap-node | verbose ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

details:表示显示SNMP支持的MIB节点细节信息,包括节点名、OID末位、下一个叶子节点名。

index-node:显示SNMP支持的MIB表、节点名及索引节点OID。

trap-node:显示SNMP支持的MIB告警节点名及对应的OID、告警绑定变量节点名及对应的OID。

verbose:显示SNMP支持的MIB节点详细信息,包括节点名、OID、节点类型、访问权限、数据类型,对应MOR(Managed Object Repository,管理对象库)定义、父子兄弟节点信息等。

【使用指导】

未指定任何参数时,显示SNMP支持的MIB节点信息,包括节点名、OID和节点访问权限。

特性包中可以包含不同的MIB插件,设备根据加载特性包的不同,支持的MIB不相同。

【举例】

# 显示SNMP支持MIB节点信息。

<Sysname> display snmp-agent mib-node

 

iso<1>(NA)

  |-std<1.0>(NA)

   |-iso8802<1.0.8802>(NA)

    |-ieee802dot1<1.0.8802.1>(NA)

     |-ieee802dot1mibs<1.0.8802.1.1>(NA)

...

表1-3 display snmp-agent mib-node命令显示信息描述表

字段

描述

-std

MIB节点名

<1.0>

MIB节点对应的OID

(NA)

MIB节点访问权限,取值为:

·     NA:表示节点不可访问

·     NF:表示节点支持告警

·     RO:表示节点支持只读访问

·     RW:表示节点支持读写访问

·     RC:表示节点支持读写创建访问

·     WO:表示节点支持只写访问

*

表示叶子节点或表节点

 

# 显示SNMP支持MIB节点细节信息。

<Sysname> display snmp-agent mib-node details

 

 iso(1)(dot1xPaeSystemAuthControl)                                             

  |-std(0)(dot1xPaeSystemAuthControl)                                          

   |-iso8802(8802)(dot1xPaeSystemAuthControl)                                  

    |-ieee802dot1(1)(dot1xPaeSystemAuthControl)                                

     |-ieee802dot1mibs(1)(dot1xPaeSystemAuthControl)

...

表1-4 display snmp-agent mib-node details命令显示信息描述表

字段

描述

-std

MIB节点名

(0)

MIB节点对应OID末位

(lldpMessageTxInterval)

MIB节点下一个叶子节点名

*

表示叶子节点或表节点

 

# 显示SNMP支持的MIB表名、索引节点名及对应的OID。

<Sysname> display snmp-agent mib-node index-node

 

Table          |dot1xPaePortTable                                              

Index          ||dot1xPaePortNumber                                            

OID            |||  1.0.8802.1.1.1.1.1.2.1.1

...

表1-5 display snmp-agent mib-node index-node命令显示信息描述表

字段

描述

Table

MIB表名

Index

MIB索引节点名

OID

MIB索引节点对应的OID

 

# 显示SNMP支持的MIB告警节点名及对应的OID、告警绑定变量节点名及对应的OID。

<Sysname> display snmp-agent mib-node trap-node

 

 

Name          |lldpRemTablesChange

OID           ||1.0.8802.1.1.2.0.0.1

Trap Object

Name          |||lldpStatsRemTablesInserts

OID           ||||1.0.8802.1.1.2.1.2.2

Name          |||lldpStatsRemTablesDeletes

OID           ||||1.0.8802.1.1.2.1.2.3

Name          |||lldpStatsRemTablesDrops

OID           ||||1.0.8802.1.1.2.1.2.4

Name          |||lldpStatsRemTablesAgeouts

OID           ||||1.0.8802.1.1.2.1.2.5

...

表1-6 display snmp-agent mib-node trap-node命令显示信息描述表

字段

描述

Name

MIB告警节点名

OID

MIB告警节点对应的OID

Trap Object

MIB告警绑定变量节点相关信息(其中Name表示告警绑定变量节点名,OID表示变量名节点对应的OID)

 

# 显示SNMP支持的MIB节点详细信息,包括节点名、OID、节点类型、访问权限、数据类型,对应MOR定义、父子兄弟节点信息等。

<Sysname> display snmp-agent mib-node verbose

 

 

Name          |iso                                                             

OID           ||1                                                              

Properties    ||NodeType:   Other                                              

              ||AccessType: NA                                                 

              ||DataType:   NA                                                 

              ||MOR:        0x00000000                                         

Parent        ||                                                               

First child   ||std                                                            

Next leaf     ||dot1xPaeSystemAuthControl                                      

Next sibling  ||

...

表1-7 display snmp-agent mib-node verbose命令显示信息描述表

字段

描述

Name

MIB节点名

OID

MIB节点对应的OID

Properties

MIB节点的属性

NodeType

MIB节点类型,取值为:

·     Table:表节点

·     Row:表中行节点

·     Column:表中列节点

·     Leaf:叶子节点

·     Group:组节点(叶子节点的父节点)

·     Trapnode:告警节点

·     Other:其他类型

AccessType

MIB节点访问权限,取值为:

·     NA:表示节点不可访问

·     NF:表示节点支持告警

·     RO:表示节点支持只读访问

·     RW:表示节点支持读写访问

·     RC:表示节点支持读写创建访问

·     WO:表示节点支持只写访问

DataType

MIB节点数据类型,取值为:

·     Integer:整数

·     Integer32:32位整数

·     Unsigned32:32位无符号整数

·     Gauge:可增可减的非负整数

·     Gauge32:32位可增可减的非负整数

·     Counter:可增不可减的非负整数

·     Counter32:32位可增不可减的非负整数

·     Counter64:64位可增不可减的非负整数

·     Timeticks:用于计时的非负整数

·     Octstring:八进制字符串

·     OID:对象标识符

·     IPaddress:用于IP规范格式的32位地址

·     Networkaddress:网络IP地址

·     Opaque:‌任意数据

·     Userdefined:‌用户类型

·     BITS:所述位枚举

·     NA:其他类型节点

MOR

MIB节点对应的MOR定义

Parent

父节点名

First child

第一个子节点名

Next leaf

下一个叶子节点名

Next sibling

右兄弟节点名

Allow

允许的操作类型,取值包括如下:

·     get/set/getnext:允许所有操作

·     get:只允许Get操作

·     set:只允许Set操作

·     getnext:只允许GetNext操作

Value range

节点的取值范围

Index

表索引,仅表节点显示此字段

 

1.1.6  display snmp-agent mib-view

display snmp-agent mib-view命令用来显示MIB视图的信息。

【命令】

display snmp-agent mib-view [ exclude | include | viewname view-name ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

exclude:显示属性为exclude的MIB视图的信息。

include:显示属性为include的MIB视图的信息。

viewname view-name:显示指定名称MIB视图的信息,view-name为视图的名称,为1~32个字符的字符串,区分大小写。

【使用指导】

不指定参数时,显示所有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

以上信息表明,设备上当前有四个MIB视图,名称均为ViewDefault。使用ViewDefault视图名限制NMS访问时,除了snmpUsmMIB、snmpVacmMIB、snmpModules.18子树下的MIB对象,NMS可以访问iso子树下其它所有MIB对象。

表1-8 display snmp-agent mib-view命令显示信息描述表

字段

描述

View name

视图名

MIB Subtree

MIB视图对应的MIB子树

Subtree mask

MIB子树的掩码

Storage-type

存储方式,分为以下几种:volatile、nonVolatile、permanent、readOnly、other,具体请参见表1-1

View Type

MIB视图的类型(即该视图与MIB子树的关系),包括included和excluded两种:

·     included表示当前视图包括该子树的所有节点,即可以访问子树内的所有MIB对象

·     excluded表示当前视图不包括该子树的任意节点,即子树内的所有MIB对象都不能被访问

View status

MIB视图的状态,包括:

·     active表示MIB视图可用

·     inactive表示MIB视图不可用。用户不能对处于该状态的MIB视图中的节点执行读写操作,但允许MIB视图中的节点发送Trap和Inform消息

 

【相关命令】

·     snmp-agent mib-view

1.1.7  display snmp-agent remote

display snmp-agent remote命令用来显示远端SNMP实体的引擎ID。

【命令】

display snmp-agent remote [ { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

ipv4-address:显示指定IPv4地址的远端SNMP实体的引擎ID。ipv4-address表示远端SNMP实体的IPv4地址。

ipv6 ipv6-address:显示指定IPv6地址的远端SNMP实体的引擎ID。ipv6-address表示远端SNMP实体的IPv6地址。

vpn-instance vpn-instance-name:指定远端SNMP实体所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示远端SNMP实体位于公网中。

【使用指导】

SNMP实体引擎ID是SNMP实体的唯一标识,它在一个SNMP管理域内是唯一的。SNMP实体引擎是SNMP实体的重要组成部分,完成SNMP信息的信息调度、信息处理、安全验证、访问控制等功能。

如果未指定远端SNMP实体的IP地址,则会显示设备上配置的所有远端SNMP实体的引擎ID。

【举例】

# 显示设备上配置的所有远端SNMP实体的引擎ID。

<Sysname> display snmp-agent remote

   Remote engineID: 800063A28000A0FC00580400000001

       IPv4 address: 1.1.1.1

       VPN instance: vpn1

表1-9 display snmp-agent remote命令显示信息描述表

字段

描述

Remote engineID

远端SNMP实体的引擎,可通过snmp-agent remote命令配置

IPv4 address

远端SNMP实体的IPv4地址

IPv6 address

远端SNMP实体的IPv6地址。当配置snmp-agent remote命令时绑定的是IPv6地址时,显示该信息

VPN instance

远端SNMP实体所属的VPN实例。只有配置snmp-agent remote命令且绑定了VPN实例时,才显示该信息

 

【相关命令】

·     snmp-agent remote

1.1.8  display snmp-agent statistics

display snmp-agent statistics命令用来显示SNMP报文的统计信息。

【命令】

display snmp-agent statistics

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【举例】

# 显示SNMP报文的统计信息。

<Sysname> display snmp-agent statistics

  1684 messages delivered to the SNMP entity.

  5 messages were for an unsupported version.

  0 messages used an unknown SNMP community name.

  0 messages 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 had badValue error-status.

  0 SNMP PDUs had genErr error-status.

  0 SNMP PDUs had noSuchName error-status.

  0 SNMP PDUs 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-10 display snmp-agent statistics命令显示信息描述表

字段

描述

messages delivered to the SNMP entity

Agent收到的数据报文个数

messages were for an unsupported version

版本不支持的数据报文个数

messages used an unknown SNMP community name

使用了非法团体名的数据报文个数

messages represented an illegal operation for the community supplied

包含了超出团体名权限的操作的数据报文个数

ASN.1 or BER errors in the process of decoding

在解码过程中发生ASN.1(Abstract Syntax Notation dot one,抽象记法1)或BER(Basic Encoding Rules ,基本编码规则)错误的数据报文个数

messages passed from the SNMP entity

Agent发送给别的SNMP实体的数据报文个数

SNMP PDUs had badValue error-status

错误类型为BadValues的数据报文个数

SNMP PDUs had genErr error-status

genErr错误的数据报文个数

SNMP PDUs had noSuchName error-status

NoSuchName错误的数据报文个数

SNMP PDUs had tooBig error-status

TooBig错误的数据报文个数(设备允许通过的最大SNMP PDU为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和Inform报文的个数

alternate Response Class PDUs dropped silently

被丢弃的响应数据报文个数

forwarded Confirmed Class PDUs dropped silently

被丢弃的转发数据报文个数

 

1.1.9  display snmp-agent sys-info

display snmp-agent sys-info命令用来显示SNMP设备的系统信息。

【命令】

display snmp-agent sys-info [ contact | location | version ] *

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

contact:显示当前设备维护者的联系信息。

location:显示当前设备的物理位置信息。

version:显示当前设备中运行的SNMP版本号。

【使用指导】

不指定参数时,显示设备的全部系统信息。

【举例】

# 显示设备系统信息。

<Sysname> display snmp-agent sys-info

   The contact information of the agent:

       New H3C Technologies Co., Ltd.

 

   The location information of the agent:

       Hangzhou, China

 

   The SNMP version of the agent:

       SNMPv3

【相关命令】

·     snmp-agent sys-info

1.1.10  display snmp-agent trap queue

display snmp-agent trap queue命令用来显示告警信息队列的基本信息。

【命令】

display snmp-agent trap queue

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【举例】

# 显示当前告警信息队列的配置及使用情况。

<Sysname> display snmp-agent trap queue

   Queue size: 100

   Message number: 6

表1-11 display snmp-agent trap queue命令显示信息描述表

字段

描述

Queue size

告警信息队列长度

Message number

告警信息队列中当前告警信息的个数

 

【相关命令】

·     snmp-agent trap life

·     snmp-agent trap queue-size

1.1.11  display snmp-agent trapbuffer drop

display snmp-agent trapbuffer drop命令用来显示SNMP告警信息的丢弃记录。

【命令】

display snmp-agent trapbuffer drop

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【使用指导】

当SNMP告警信息发送队列丢弃SNMP告警时,会在SNMP Trapbuffer中记录该告警的相关信息,以便用户查询和定位问题。

【举例】

# 显示SNMP Trap的丢弃情况。

<Sysname> display snmp-agent trapbuffer drop

Current messages:1

Wed Dec 14 10:49:52:656 2019 Notification hh3cCfgManEventlog(1.3.6.1.4.1.25506.2.4.2.1) dropped.

显示信息中,Current messages表示SNMP Trapbuffer中SNMP告警信息丢弃记录的总条数。

【相关命令】

·     reset snmp-agent trapbuffer

1.1.12  display snmp-agent trapbuffer send

display snmp-agent trapbuffer send命令用来显示SNMP告警信息的发送记录。

【命令】

display snmp-agent trapbuffer send

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【使用指导】

SNMP发送告警信息后,会在SNMP Trapbuffer中记录该告警的发送信息,包括Notification、告警发往的目的IP以及发送结果(成功、失败),以便用户查询和定位问题。

【举例】

# 显示SNMP告警信息的发送记录。

<Sysname> display snmp-agent trapbuffer send

Current messages:2

Fri Jul 31 10:31:17 2020 Notification hh3cLogOut(1.3.6.1.4.1.25506.2.2.1.1.3.0.2) failed to be sent to 19.16.11.89.

Fri Jul 31 10:31:17 2020 Notification hh3cLogOut(1.3.6.1.4.1.25506.2.2.1.1.3.0.2) sent to 192.168.11.89 successfully.

显示信息中,Current messages表示SNMP Trapbuffer中SNMP告警信息发送记录的总条数。

【相关命令】

·     reset snmp-agent trapbuffer

1.1.13  display snmp-agent trap-list

display snmp-agent trap-list命令用来显示SNMP告警功能的开启状态。

【命令】

display snmp-agent trap-list

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【使用指导】

如果一个模块包含多个子模块,只要有任何一个子模块的告警信息是使能的,就显示整个模块是使能的。

业务模块是否支持SNMP告警功能请通过执行snmp-agent trap enable ?命令来获知。本命令的显示信息和snmp-agent trap enable命令以及业务模块的配置相关。

【举例】

# 显示SNMP告警功能的开启状态。

<Sysname> display snmp-agent trap-list

   arp notification is disabled.

   bfd notification is enabled.

...

【相关命令】

·     snmp-agent trap enable

1.1.14  display snmp-agent usm-user

display snmp-agent usm-user命令用来显示SNMPv3用户信息。

【命令】

display snmp-agent usm-user [ engineid engineid | group group-name | username user-name ] *

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

engineid engineid:显示指定引擎ID的SNMPv3用户信息,engineid表示SNMP引擎ID,不区分大小写。SNMPv3用户创建的时候,系统会记录当时设备的SNMP实体引擎ID,如果设备的引擎ID被修改,则被创建的SNMPv3用户将暂时无效,只有引擎ID恢复后,才能继续生效。

group group-name:显示属于指定SNMP组的SNMPv3用户信息,区分大小写。

username user-name:显示指定名称的SNMPv3用户信息,区分大小写。

【使用指导】

使用snmp-agent usm-user命令可以创建SNMPv1/v2c/v3用户,如果创建是的SNMPv1/v2c用户,系统自动添加一个新的同名的团体名,并将这个用户当成SNMPv1/v2c团体来处理。所以,不能通过display snmp-agent usm-user命令来查看SNMPv1/v2c用户的信息,能通过display snmp-agent community查看SNMPv1/v2c用户对应的团体的信息。

【举例】

# 显示设备上已创建的所有SNMPv3用户的信息。

<Sysname> display snmp-agent usm-user

   Username: userv3

   Group name: mygroupv3

       Engine ID: 800063A203000FE240A1A6

       Storage-type: nonVolatile

       UserStatus: active

       ACL: 2000

 

   Username: userv3

   Group name: mygroupv3

       Engine ID: 8000259503000BB3100A508

       Storage-type: nonVolatile

       UserStatus: active

       ACL name: testacl

 

   Username: userv3code

   Role name: groupv3code

              network-operator

       Engine ID: 800063A203000FE240A1A6

       Storage-type: nonVolatile

       UserStatus: active

 

   Username: userv3code

   Role name: snmprole

              network-operator

       Engine ID: 800063A280000002BB0001

       Storage-type: nonVolatile

       UserStatus: active

表1-12 display snmp-agent usm-user命令显示信息描述表

字段

描述

Username

SNMP用户的用户名

Group name

SNMP用户所在组的组名

Role name

SNMP用户的角色名称

Engine ID

SNMP用户创建时使用的SNMP实体引擎ID

Storage-type

存储方式,分为以下几种:volatile、nonVolatile、permanent、readOnly、other,具体请参见表1-1

UserStatus

SNMP用户的状态,分为以下几种:

·     active:有效

·     notInService:当前不可用

·     notReady:未配置完成

·     other:其他

ACL

使用的ACL列表的编号(该字段仅在用户与ACL编号绑定后显示)

ACL name

使用的ACL列表的名称(该字段仅在用户与ACL名称绑定后显示)

IPV6 ACL

使用的IPv6 ACL列表的编号(该字段仅在用户与IPv6 ACL编号绑定后显示)

IPV6 ACL name

使用的IPv6 ACL列表的名称(该字段仅在用户与IPv6 ACL名称绑定后显示)

 

【相关命令】

·     snmp-agent usm-user v3

1.1.15  enable snmp trap updown

enable snmp trap updown命令用来开启接口状态变化的告警功能。

undo enable snmp trap updown命令用来关闭接口状态变化的告警功能。

【命令】

enable snmp trap updown

undo enable snmp trap updown

【缺省情况】

接口状态变化的告警功能处于开启状态。

【视图】

接口视图

【缺省用户角色】

network-admin

【使用指导】

需要注意的是,如果要求接口在状态发生改变时生成接口状态变化的告警信息,需要开启全局告警功能并在接口开启接口状态变化的告警功能。接口下开启请使用命令enable snmp trap updown,全局下开启请使用命令snmp-agent trap enable standard [ linkdown | linkup ] *

【举例】

# 允许发送端口GigabitEthernet1/0/1的linkUp/linkDown的SNMP告警,使用团体名public,向IP地址为10.1.1.1的目的主机发送Trap报文。

<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 gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] enable snmp trap updown

【相关命令】

·     snmp-agent target-host

·     snmp-agent trap enable

1.1.16  reset snmp-agent trapbuffer

reset snmp-agent trapbuffer命令用来清除SNMP Trapbuffer中的所有记录。

【命令】

reset snmp-agent trapbuffer

【视图】

用户视图

【缺省用户角色】

network-admin

【举例】

# 清除SNMP Trapbuffer中的所有记录。

<Sysname> reset snmp-agent trapbuffer

【相关命令】

·     display snmp-agent trapbuffer drop

·     display snmp-agent trapbuffer send

1.1.17  snmp-agent

snmp-agent命令用来开启SNMP Agent功能。

undo snmp-agent命令用来关闭SNMP Agent功能。

【命令】

snmp-agent

undo snmp-agent

【缺省情况】

SNMP Agent功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

执行除snmp-agent calculate-password外任何以snmp-agent开头的命令都可以开启SNMP Agent功能。

当SNMP侦听端口被设备上的其他服务占用时,会导致SNMP功能启动失败。SNMP侦听端口可通过snmp-agent port命令配置,用户可使用display udp verbose命令查看设备上UDP端口的使用情况。

用户修改SNMP模块的相关配置后,如果关闭SNMP Agent功能,这些配置将暂时不生效。执行display current-configuration命令不会显示这些命令,执行save命令,这些配置也不会保存到配置文件。开启SNMP Agent功能后,这些配置会自动立即生效,不需要重复配置。

【举例】

# 开启设备的SNMP Agent功能。

<Sysname> system-view

[Sysname] snmp-agent

【相关命令】

·     display udp verbose(三层技术-IP业务/IP性能优化)

·     snmp-agent port

1.1.18  snmp-agent acl

snmp-agent acl命令用来为SNMP配置全局ACL。

undo snmp-agent acl命令用来删除SNMP全局ACL。

【命令】

snmp-agent acl [ ipv6 ] { acl-number | name acl-name }

undo snmp-agent acl [ ipv6 ]

【缺省情况】

未为SNMP配置全局ACL。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6:表示配置IPv6 ACL。不指定该参数时,表示配置的是IPv4 ACL。

acl-number:表示基本或高级ACL的编号,其中基本ACL的取值范围为2000~2999,高级ACL的取值范围为3000~3999。

name acl-name:表示基本或高级ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

配置本命令后,设备会对收到的SNMP报文进行过滤,设备只处理ACL允许通过的SNMP报文,ACL不允许通过的SNMP报文将直接被丢弃。对于通过的SNMP报文,设备将进一步使用snmp-agent communitysnmp-agent groupsnmp-agent usm-user { v1 | v2c }snmp-agent usm-user v3命令中配置的ACL对NMS进行过滤,只有符合ACL要求的NMS才能使用对应的团体名、用户名访问设备。

多次执行本命令配置多条IPv4 ACL,最新配置生效。

多次执行本命令配置多条IPv6 ACL,最新配置生效。

引用ACL时,需要注意的是:

·     若引用的ACL不存在,或者引用的ACL中没有配置规则,则允许所有NMS访问设备。

·     在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。

·     当引用的ACL下配置了规则时,则只有规则中permit的NMS才能访问设备,其他NMS不允许访问设备。

关于ACL的详细描述和介绍请参见“ACL和QoS配置指导”中的“ACL”。

【举例】

# 配置SNMP全局ACL,编号为2001。

<Sysname> system-view

[Sysname] snmp-agent acl 2001

【相关命令】

·     snmp-agent community

·     snmp-agent group

·     snmp-agent usm-user { v1 | v2c }

·     snmp-agent usm-user v3

1.1.19  snmp-agent calculate-password

snmp-agent calculate-password命令用来为明文密码计算对应的密文密码。

【命令】

(非FIPS模式)

snmp-agent calculate-password plain-password mode { 3desmd5 | 3dessha | 3dessha224 | 3dessha256 | 3dessha384 | 3dessha512 | aes192md5 | aes192sha | aes192sha224 | aes192sha256 | aes192sha384 | aes192sha512 | aes256md5 | aes256sha | aes256sha224 | aes256sha256 | aes256sha384 | aes256sha512 | md5 | sha | sha224 | sha256 | sha384 | sha512 } { local-engineid | specified-engineid engineid }

(FIPS模式)

snmp-agent calculate-password plain-password mode { aes192sha | aes192sha224 | aes192sha256 | aes192sha384 | aes192sha512 | aes256sha | aes256sha224 | aes256sha256 | aes256sha384 | aes256sha512 | sha | sha224 | sha256 | sha384 | sha512 } { local-engineid | specified-engineid engineid }

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

plain-password:表示明文密码,为1~64个字符的字符串,区分大小写。

mode:指定认证算法和加密算法。取值包括:

·     3desmd5:用于计算密文加密密码,此时对应的认证算法必须为HMAC-MD5,加密算法必须为3DES。

·     3dessha:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA1,加密算法必须为3DES。

·     3dessha224:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA224,加密算法必须为3DES。

·     3dessha256:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA256,加密算法必须为3DES。

·     3dessha384:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA384,加密算法必须为3DES。

·     3dessha512:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA512,加密算法必须为3DES。

·     aes192md5:用于计算密文加密密码,此时对应的认证算法必须为HMAC-MD5,加密算法必须为AES192。

·     aes192sha:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA1,加密算法必须为AES192。

·     aes192sha224:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA224,加密算法必须为AES192。

·     aes192sha256:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA256,加密算法必须为AES192。

·     aes192sha384:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA384,加密算法必须为AES192。

·     aes192sha512:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA512,加密算法必须为AES192。

·     aes256md5:用于计算密文加密密码,此时对应的认证算法必须为HMAC-MD5,加密算法必须为AES256。

·     aes256sha:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA1,加密算法必须为AES256。

·     aes256sha224:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA224,加密算法必须为AES256。

·     aes256sha256:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA256,加密算法必须为AES256。

·     aes256sha384:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA384,加密算法必须为AES256。

·     aes256sha512:用于计算密文加密密码,此时对应的认证算法必须为HMAC-SHA512,加密算法必须为AES256。

·     md5:用于计算密文认证密码和密文加密密码。用于计算密文认证密码时,认证算法必须为HMAC-MD5;用于计算密文加密密码时,认证算法必须为HMAC-MD5,加密算法可以为AES或者DES。因为当认证算法为HMAC-MD5时,相同的明文密码,各自计算出来的密文认证密码和密文加密密码均相同。

·     sha:用于计算密文认证密码和密文加密密码。用于计算密文认证密码时,认证算法必须为HMAC-SHA1;用于计算密文加密密码时,认证算法必须为HMAC-SHA1,加密算法可以为AES或者DES。因为当认证算法为HMAC-SHA1时,相同的明文密码,各自计算出来的密文认证密码和密文加密密码均相同。

·     sha224:用于计算密文认证密码和密文加密密码。用于计算密文认证密码时,认证算法必须为HMAC-SHA224;用于计算密文加密密码时,认证算法必须为HMAC-SHA224,加密算法可以为AES或者DES。因为当认证算法为HMAC-SHA224时,相同的明文密码,各自计算出来的密文认证密码和密文加密密码均相同。

·     sha256:用于计算密文认证密码和密文加密密码。用于计算密文认证密码时,认证算法必须为HMAC-SHA256;用于计算密文加密密码时,认证算法必须为HMAC-SHA256,加密算法可以为AES或者DES。因为当认证算法为HMAC-SHA256时,相同的明文密码,各自计算出来的密文认证密码和密文加密密码均相同。

·     sha384:用于计算密文认证密码和密文加密密码。用于计算密文认证密码时,认证算法必须为HMAC-SHA384;用于计算密文加密密码时,认证算法必须为HMAC-SHA384,加密算法可以为AES或者DES。因为当认证算法为HMAC-SHA384时,相同的明文密码,各自计算出来的密文认证密码和密文加密密码均相同。

·     sha512:用于计算密文认证密码和密文加密密码。用于计算密文认证密码时,认证算法必须为HMAC-SHA512;用于计算密文加密密码时,认证算法必须为HMAC-SHA512,加密算法可以为AES或者DES。因为当认证算法为HMAC-SHA512时,相同的明文密码,各自计算出来的密文认证密码和密文加密密码均相同。

local-engineid:使用本地引擎ID计算密文密码,引擎ID的相关描述与配置可参考命令snmp-agent local-engineid

specified-engineid:使用用户指定的引擎ID计算密文密码。

engineid:引擎ID,必须为偶数个十六进制数,偶数的取值范围为10~64,不区分大小写。全0和全F均被认为是无效参数。

【使用指导】

应用场景

在创建SNMPv3用户时,如果指明认证或者加密密码采用密文配置方式,则可以输入该命令生成的密文密码来代替明文密码,从而避免在非安全环境直接输入明文密码造成的安全隐患。

工作机制

设备支持的认证算法有HMAC-MD5和HMAC-SHA。

·     HMAC-MD5的计算速度比HMAC-SHA快,而HMAC-SHA的安全强度比HMAC-MD5高。

·     HMAC-SHA1、HMAC-SHA224、HMAC-SHA256、HMAC-SHA384、HMAC-SHA512都是基于SHA的HMAC算法的变种。它们都是用于消息认证的算法,但其安全性和输出长度不同。其中,HMAC-SHA1使用SHA1算法,HMAC-SHA224使用SHA224算法,HMAC-SHA256使用SHA256算法,HMAC-SHA384使用SHA384算法,HMAC-SHA512使用SHA512算法。输出长度依次为160位、224位、256位、384位和512位。在安全性方面,随着输出长度的增加,安全性也相应增加。

设备支持的加密算法安全性由高到低依次是:AES256、AES192、AES、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全要求,DES算法就可以满足需要。

注意事项

执行本命令前,必须先开启设备的SNMP Agent功能。

生成的密码是和引擎ID相关联的,在某一引擎ID下生成的密码,也只在此引擎ID下生效。

【举例】

# 使用本地引擎ID和HMAC-SHA1算法计算明文认证密码authkey的密文密码。

<Sysname> system-view

[Sysname] snmp-agent calculate-password authkey mode sha local-engineid

The encrypted key is: 09659EC5A9AE91BA189E5845E1DDE0CC

【相关命令】

·     snmp-agent local-engineid

·     snmp-agent usm-user v3

1.1.20  snmp-agent community

snmp-agent community命令用来创建SNMP团体。

undo snmp-agent community命令用来删除SNMP团体。

【命令】

VACM方式:

snmp-agent community { read | write } [ simple | cipher ] community-name [ mib-view view-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent community [ cipher ] community-name

RBAC方式:

snmp-agent community [ simple | cipher ] community-name user-role role-name [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent community [ cipher ] community-name

【缺省情况】

不存在SNMP团体。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

read:表示对MIB对象的访问权限为只读。NMS使用该团体名访问Agent时只能执行读操作。

write:表示对MIB对象的访问权限为读写。NMS使用该团体名访问Agent时可以执行读、写操作。

simple:表示以明文方式配置团体名并以密文方式保存到配置文件中。

cipher:表示以密文方式配置团体名并以密文方式保存到配置文件中。

community-name:配置明文团体名或密文团体名,是限制NMS访问Agent时所使用的团体名。区分大小写,需要转义的字符请加“\”后输入。当以明文方式配置时,团体名为1~32个字符的字符串;当以密文方式配置时,团体名为33~73个字符的字符串。

mib-view view-name:用来指定NMS可以访问的MIB对象的范围,view-name表示MIB视图名,为1~32个字符的字符串,区分大小写。不指定参数时,缺省视图为ViewDefault。

user-role role-name:该团体对应的角色名称,role-name为1~63个字符的字符串,区分大小写。

acl:将团体名与基本/高级IPv4 ACL绑定。

ipv4-acl-number:表示基本或高级IPv4 ACL的编号,其中基本IPv4 ACL的取值范围为2000~2999,高级IPv4 ACL的取值范围为3000~3999。

name ipv4-acl-name:表示基本或高级IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写。

acl ipv6:将团体名与基本/高级IPv6 ACL绑定。

ipv6-acl-number:表示基本或高级IPv6 ACL的编号,其中基本IPv6 ACL的取值范围为2000~2999,高级IPv6 ACL的取值范围为3000~3999。

name ipv6-acl-name:表示基本或高级IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

FIPS模式下,不支持本命令。

为了安全起见,只有具有network-admin或者level-15用户角色的用户登录设备后才能执行本命令。其它角色的用户,即使授权了SNMP特性或本命令的操作权限,也不能执行本命令。

该命令用于SNMPv1和SNMPv2c组网环境。

团体是NMS和Agent的集合,用团体名来标志。团体名相当于密码,团体内的设备通信使用团体名来进行认证。只有NMS和Agent上配置的团体名相同时,才能互相访问。通常情况下,“public”被用来作为读权限团体名、“private”被用来作为写权限团体名。为了增强安全性,网络管理员也可以配置其它团体名。

用户有两种方式创建团体:

·     使用snmp-agent community命令来创建团体。

·     配置snmp-agent usm-user { v1 | v2c }snmp-agent group { v1 | v2c }命令成功创建SNMPv1或SNMPv2c用户以及相应的组后,系统会以用户名为团体名自动创建一个团体。

display snmp-agent community会显示这两种方式创建的、以明文方式配置并以明文方式保存到配置文件中的团体的信息。

使用snmp-agent community命令创建团体时,可以通过两种配置方式来控制团体的访问:

·     VACM(View-based Access Control Model,基于视图的访问控制模型)的配置方式:该方式通过指定MIB视图来限定NMS可以访问的MIB节点,访问的动作包括只读和读写两种。

·     RBAC(Role Based Access Control,基于角色的访问控制)的配置方式:该方式使用用户角色来限定NMS的访问权限。缺省情况下,用户角色network-admin和level-15可以读写所有的MIB节点,network-operator可以只读所有的MIB节点。有关用户角色的详细信息,请参见“基础配置指导”中的“RBAC”。

推荐使用RBAC配置方式,安全性更高。

多次执行本命令最多可创建10个团体名。

多次执行该命令,指定的团体名相同,其它参数不同时,新配置生效。

不指定simplecipher参数时,表示以明文方式配置团体名,并以明文方式保存到配置文件。

设备先使用snmp-agent acl命令配置的全局ACL对NMS进行过滤,再使用本命令中配置的ACL进一步对NMS进行过滤。只有全局和本命令中的ACL均允许通过的NMS才能访问设备。引用ACL时,需要注意的是:

·     若引用的ACL不存在,或者引用的ACL中没有配置规则,则允许所有NMS访问设备。

·     在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。

·     当引用的ACL下配置了规则时,则只有规则中permit的NMS才能访问设备,其他NMS不允许访问设备。

关于ACL的详细描述和介绍请参见“ACL和QoS配置指导”中的“ACL”。

【举例】

# 以明文方式创建SNMP团体readaccess,并且允许NMS使用该团体名对设备上缺省视图内的MIB对象进行只读访问。

<Sysname> system-view

[Sysname] snmp-agent sys-info version v1 v2c

[Sysname] snmp-agent community read simple readaccess

# 以明文方式配置团体名writeaccess,并且只允许IP地址为1.1.1.1的NMS使用该团体名对设备上缺省视图内的MIB对象进行读写操作,禁止其它NMS使用该团体名执行写操作。

<Sysname> system-view

[Sysname] acl basic 2001

[Sysname-acl-ipv4-basic-2001] rule permit source 1.1.1.1 0.0.0.0

[Sysname-acl-ipv4-basic-2001] rule deny source any

[Sysname-acl-ipv4-basic-2001] quit

[Sysname] snmp-agent sys-info version v2c

[Sysname] snmp-agent community write simple writeaccess acl 2001

# 以明文方式配置团体名writeaccess,并且只允许IP地址为1.1.1.2的NMS使用该团体名对设备上缺省视图内的MIB对象进行读写操作,禁止其它NMS使用该团体名执行写操作。

<Sysname> system-view

[Sysname] acl basic name testacl

[Sysname-acl-ipv4-basic-testacl] rule permit source 1.1.1.2 0.0.0.0

[Sysname-acl-ipv4-basic-testacl] rule deny source any

[Sysname-acl-ipv4-basic-testacl] quit

[Sysname] snmp-agent sys-info version v2c

[Sysname] snmp-agent community write simple writeaccess acl name testacl

# 以明文方式创建团体名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 simple wr-sys-acc mib-view test

【相关命令】

·     display snmp-agent community

·     snmp-agent acl

·     snmp-agent mib-view

1.1.21  snmp-agent community-map

snmp-agent community-map命令用来创建团体名到SNMP上下文的映射。

undo snmp-agent community-map命令用来删除团体名到SNMP上下文的映射。

【命令】

snmp-agent community-map community-name context context-name

undo snmp-agent community-map community-name context context-name

【缺省情况】

不存在团体名到SNMP上下文的映射。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

community-name:团体名,为1~32个字符的字符串,区分大小写。

context-name:SNMP上下文。为1~32个字符的字符串,区分大小写。

【使用指导】

用户配置成功后,使用SNMP v1/v2版本连接SNMP Agent时,SNMP插件端所获取的上下文,是此时NMS访问Agent,使用的团体名映射的上下文。如团体名未配置上下文映射,则获取不到。

系统中可配置的映射最多为10个。

【举例】

# 配置一个团体名到SNMP上下文的映射。

<Sysname> system-view

[Sysname] snmp-agent community-map private context testcontext

【相关命令】

·     display snmp-agent community

1.1.22  snmp-agent configuration-examine interval

snmp-agent configuration-examine interval命令用来配置SNMP模块检查系统配置是否有变化的周期。

undo snmp-agent configuration-examine interval命令用来恢复缺省情况。

【命令】

snmp-agent configuration-examine interval interval

undo snmp-agent configuration-examine interval

【缺省情况】

SNMP模块定期检测系统当前配置是否有变化的时间间隔为600秒。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

interval:SNMP模块检查系统配置是否有变化的周期,取值范围为1~86400,单位为秒。

【使用指导】

SNMP模块会按周期检查周期内设备的当前运行配置、启动配置以及启动配置文件是否有变化。如果检测到配置有变化,设备会生成对应的日志;如果检测到配置有变化,且开启了配置变化告警功能,设备在生成日志的同时会生成对应的Trap。配置检查周期可通过snmp-agent configuration-examine interval命令修改。

【举例】

# 配置SNMP模块检查系统配置是否有变化的时间间隔为600秒。

<sysname> system-view

[sysname] snmp-agent configuration-examine interval 600

【相关命令】

·     snmp-agent trap enable

1.1.23  snmp-agent context

snmp-agent context命令用来创建SNMP上下文。

undo snmp-agent context命令用来删除SNMP上下文。

【命令】

snmp-agent context context-name

undo snmp-agent context context-name

【缺省情况】

不存在SNMP上下文。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

context-name:SNMP上下文,为1~32个字符的字符串,区分大小写。

【使用指导】

NMS未配置上下文,或NMS与Agent配置为相同的上下文时,两者可以连接成功,否则返回超时。

系统中可配置的SNMP上下文最多为20个。

【举例】

# 创建一个新的context。

<Sysname> system-view

[Sysname] snmp-agent context testcontext

【相关命令】

·     display snmp-agent context

1.1.24  snmp-agent group

snmp-agent group命令用来创建SNMP组。

undo snmp-agent group命令用来删除SNMP组。

【命令】

(非FIPS模式)

·     SNMPv1和SNMPv2c版本下的命令格式是:

snmp-agent group { v1 | v2c } group-name [ notify-view view-name | read-view view-name | write-view view-name ] * [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent group { v1 | v2c } group-name

·     SNMPv3版本下的命令格式是:

snmp-agent group v3 group-name [ authentication | privacy ] [ notify-view view-name | read-view view-name | write-view view-name ] * [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent group v3 group-name [ authentication | privacy ]

(FIPS模式)

snmp-agent group v3 group-name { authentication | privacy } [ notify-view view-name | read-view view-name | write-view view-name ] * [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent group v3 group-name { authentication | privacy }

【缺省情况】

不存在SNMP组。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

v1:SNMPv1版本。

v2c:SNMPv2c版本。

v3:SNMPv3版本。

group-name:SNMP组的名称,取值范围为1~32个字符的字符串,区分大小写。

authentication:表示对报文进行认证但不加密。

privacy:表示对报文进行认证和加密。

notify-view view-name:可以发告警信息的视图名,为1~32个字符的字符串,区分大小写。缺省情况下,未配置告警信息视图。

read-view view-name:只读视图名,为1~32个字符的字符串,区分大小写。缺省值为ViewDefault。

write-view view-name:读写视图名,为1~32个字符的字符串,区分大小写。缺省情况下,未配置读写视图,即NMS不能对设备的所有MIB对象进行写操作。

acl:将组与基本/高级IPv4 ACL绑定。

ipv4-acl-number:表示基本或高级IPv4 ACL的编号,其中基本IPv4 ACL编号的取值范围为2000~2999,高级IPv4 ACL编号的取值范围为3000~3999。

name ipv4-acl-name:表示基本或高级IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写。

acl ipv6:将组与基本/高级IPv6 ACL绑定。

ipv6-acl-number:表示基本或高级IPv6 ACL的编号,其中基本IPv4 ACL编号的取值范围为2000~2999,高级IPv6 ACL编号的取值范围为3000~3999。

name ipv6-acl-name:表示基本或高级IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

FIPS模式下,不支持SNMPv1和SNMPv2c版本下的本命令。

为了安全起见,只有具有network-admin或者level-15用户角色的用户登录设备后才能执行本命令。其它角色的用户,即使授权了SNMP特性或本命令的操作权限,也不能执行本命令。

SNMP组可以定义安全模式、视图权限等信息,配置在此组内的用户都具有这些公共属性。

系统中可配置的SNMP组最多为20个。

是否指定authenticationprivacy参数存在如下情况:

·     当不指定authenticationprivacy时,表示不认证不加密。此时,使用和该组绑定的用户名建立SNMP连接时,均不认证不加密。即便用户配置了认证密码/加密密码,认证密码/加密密码也不生效。

·     当指定authentication时,表示认证不加密。此时,使用和该组绑定的用户名建立SNMP连接时,均认证不加密。即便用户配置了加密密码,加密密码也不生效。

·     当指定privacy时,表示认证加密。此时,使用和该组绑定的用户名建立SNMP连接时,均认证加密。该组内的用户必须配置认证密码和加密密码,否则,不能建立SNMP连接。

设备先使用snmp-agent acl命令配置的全局ACL对NMS进行过滤,再使用创建SNMP组和用户时配置的ACL进一步对NMS进行过滤,只有三个ACL均允许通过的NMS才能访问设备。引用ACL时,需要注意的是:

·     若引用的ACL不存在,或者引用的ACL中没有配置规则,则允许所有NMS访问设备。

·     在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。

·     当引用的ACL下配置了规则时,则只有规则中permit的NMS才能访问设备,其他NMS不允许访问设备。

关于ACL的详细描述和介绍请参见“ACL和QoS配置指导”中的“ACL”。

【举例】

# 在运行SNMPv3版本的设备上创建一个SNMP组group1。

<Sysname> system-view

[Sysname] snmp-agent group v3 group1

【相关命令】

·     display snmp-agent group

·     snmp-agent acl

·     snmp-agent mib-view

·     snmp-agent usm-user

1.1.25  snmp-agent local-engineid

snmp-agent local-engineid命令用来配置本设备的SNMP引擎ID。

undo snmp-agent local-engineid命令用来恢复缺省情况。

【命令】

snmp-agent local-engineid { engineid | bridge-mac-based }

undo snmp-agent local-engineid

【缺省情况】

设备引擎ID为“公司的企业号+设备信息”。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

engineid:SNMP引擎ID,必须为偶数个十六进制数,偶数的取值范围为10~64,不区分大小写。全0和全F均被认为是无效参数。

bridge-mac-based:基于设备的桥MAC地址生成SNMP引擎ID。

【使用指导】

应用场景

通常情况下,设备会自动生成SNMP引擎ID,无需修改。如果同一NMS管理的网络中出现了SNMP引擎ID的冲突,即多个设备有相同的ID,这时就需要执行本命令修改以确保SNMP引擎ID的唯一性。

工作机制

SNMP引擎ID是SNMP协议中用于唯一标识管理实体的一个重要参数,在实际应用中有以下作用:

·     Agent识别:SNMP引擎ID可以用于唯一标识不同的网络设备或管理实体SNMP Agent,这样在网络管理系统中可以准确地识别和区分不同的设备,方便进行管理和监控。

·     安全认证:在SNMP协议中,引擎ID用于进行安全认证,比如在SNMPv3中,引擎ID是计算消息认证码(Message Authentication Code,MAC)所需的一个重要参数,可以确保消息的完整性和安全性。

·     上下文标识:SNMP引擎ID通常与其他参数一起用于定义上下文标识,用于在SNMP操作中指定特定的管理信息实例或管理信息视图。

缺省情况下,设备会使用所有接口的MAC地址中最小的MAC地址来自动生成本设备的SNMP引擎ID。通常情况下,使用设备的缺省引擎ID即可。在某些特殊组网场景下,例如,DRNI VLAN双活组网要求两台设备上和DRNI接口关联的VLAN接口配置相同的MAC地址。如果用户指定的MAC地址恰好是设备所有接口的MAC地址中最小的一个,那么这两台设备的缺省生成的SNMP引擎ID将相同。在这种情况下,可使用本命令修改其中一台设备的SNMP引擎ID。

本命令支持通过以下方式生成SNMP引擎ID:

·     用户按照一定的规律自行规划SNMP引擎ID,并使用本命令配置,确保与其他设备的SNMP引擎ID不同。例如,A栋一楼的一号设备可以将引擎ID设置为000Af0010001,二号设备可以配置为000Af0010002。

·     配置本命令并基于设备的桥MAC地址自动生成SNMP引擎ID。设备的桥MAC地址是全网唯一,因此使用该方式能更简便地生成全网唯一的SNMP引擎ID,无需手工输入SNMP引擎ID。

注意事项

SNMPv3版本的用户名、密文密码等都和引擎ID相关联,如果更改了引擎ID,则原引擎ID下配置的用户名、密码会失效,请重新配置用户名和密码。

【举例】

# 配置本设备的SNMP引擎ID为123456789A。

<Sysname> system-view

[Sysname] snmp-agent local-engineid 123456789A

【相关命令】

·     display snmp-agent local-engineid

·     snmp-agent usm-user

1.1.26  snmp-agent log

snmp-agent log命令用来开启SNMP日志功能。

undo snmp-agent log命令用来关闭SNMP日志功能。

【命令】

snmp-agent log { all | authfail | get-operation | set-operation }

undo snmp-agent log { all | authfail | get-operation | set-operation }

【缺省情况】

SNMP Set操作日志开关处于开启状态,其他日志开关处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

all:表示SNMP Get操作、Set操作和SNMP认证失败的日志开关。

authfail:表示SNMP认证失败的日志开关。

get-operation:表示SNMP Get操作的日志开关。

set-operation:表示SNMP Set操作的日志开关。

【使用指导】

当打开SNMP Get或者Set操作的日志开关,NMS对Agent执行指定的操作时,Agent会记录与该操作相关信息并保存到设备的信息中心。当打开SNMP认证失败的日志开关时,如果Agent收到来自NMS的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认证失败的日志开关。

<Sysname> system-view

[Sysname] snmp-agent log authfail

1.1.27  snmp-agent mib-view

snmp-agent mib-view命令用来创建或者更新MIB视图。

undo snmp-agent mib-view命令用来删除MIB视图。

【命令】

snmp-agent mib-view { excluded | included } view-name oid-tree [ mask mask-value ]

undo snmp-agent mib-view view-name

【缺省情况】

存在四个MIB视图,名称均为ViewDefault:

·     视图一包含MIB子树iso;

·     视图二不包含子树snmpUsmMIB;

·     视图三不包含子树snmpVacmMIB;

·     视图四不包含子树snmpModules.18。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

excluded:表示当前视图不包括该MIB子树的任何节点(即禁止访问MIB子树的所有节点)。

included:表示当前视图包括该MIB子树的所有节点(即允许访问MIB子树的所有节点)。

view-name:视图名,为1~32个字符的字符串,区分大小写。

oid-tree:MIB子树,用子树根节点的OID(如“1.3.6.1.2.1.1”)或名称(如“system”)表示,为1~255个字符的字符串,区分大小写。OID是由一系列的整数组成,标明节点在MIB树中的位置,它能唯一地标识一个MIB库中的对象。

mask mask-value:对象子树的掩码,必须为偶数个十六进制数,偶数的取值范围为1~32,不区分大小写。

【使用指导】

MIB视图是MIB的子集,由视图名和MIB子树来唯一确定一个MIB视图。视图名相同但包含的子树不同,则认为是不同的视图。

缺省视图可以通过display snmp-agent mib-view命令来查看。如果使用缺省视图限制NMS的访问权限时,除了snmpUsmMIB、snmpVacmMIB、snmpModules.18子树下的MIB对象,NMS可以访问iso子树下其它所有MIB对象。缺省视图可以通过undo snmp-agent mib-view命令删除,但是删除以后,可能导致不能对Agent的所有MIB节点执行读写操作,除非另外手工配置视图。

【举例】

# 创建并更新MIB视图信息,视图名称为mibtest,先创建一个包含mib-2子树(OID为“1.3.6.1.2.1”)所有对象的MIB视图,再更新为不包含“system”子树(OID为“1.3.6.1.2.1.1”)所有对象的MIB视图。

<Sysname> system-view

[Sysname] snmp-agent sys-info version v1

[Sysname] snmp-agent mib-view included mibtest 1.3.6.1.2.1

[Sysname] snmp-agent mib-view excluded mibtest system

[Sysname] snmp-agent community read public mib-view mibtest

以上配置成功后,当NMS使用SNMPv1版本,public团体名访问设备时,不能查询system子树的所有对象(比如sysDescr和sysObjectID等节点),可以查询mib-2子树下的其它所有对象。

【相关命令】

·     display snmp-agent mib-view

·     snmp-agent group

1.1.28  snmp-agent packet max-size

snmp-agent packet max-size命令用来配置Agent能接收或发送的SNMP报文的最大长度。

undo snmp-agent packet max-size命令用来恢复缺省情况。

【命令】

snmp-agent packet max-size byte-count

undo snmp-agent packet max-size

【缺省情况】

Agent能处理的SNMP报文的最大长度为1500。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

byte-count:Agent能接收/发送的SNMP报文的最大长度,取值范围为484~17940,单位为字节。

【使用指导】

配置报文的最大长度是为了防止网络中存在不支持分片的主机,而导致超长数据被丢弃。通常情况下,使用缺省值即可。

【举例】

# 配置Agent能接收/发送的SNMP报文的最大长度为1024字节。

<Sysname> system-view

[Sysname] snmp-agent packet max-size 1024

1.1.29  snmp-agent packet response dscp

snmp-agent packet response dscp命令用来配置SNMP响应报文的DSCP(Differentiated Services Code Point,差分服务代码点)优先级。

undo snmp-agent packet response dscp命令用来恢复缺省情况。

【命令】

snmp-agent packet response dscp dscp-value

undo snmp-agent packet response dscp

【缺省情况】

SNMP响应报文的DSCP优先级为0。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

dscp-value:表示SNMP响应报文的DSCP优先级,取值范围为0~63。值越大表示优先级越高。

【使用指导】

DSCP优先级封装在IP报文中的ToS字段,用来表示报文自身的优先级,设备可根据该优先级决定报文传输的优先程度。

【举例】

# 设置SNMP响应报文的DSCP优先级为40。

<Sysname> system-view

[Sysname] snmp-agent packet response dscp 40

1.1.30  snmp-agent port

snmp-agent port命令用来配置SNMP服务的侦听端口号。

undo snmp-agent port命令用来恢复缺省情况。

【命令】

snmp-agent port port-number

undo snmp-agent port

【缺省情况】

SNMP服务的侦听端口号是161。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

port-number:SNMP服务的侦听端口号,取值范围为1~65535。

【使用指导】

当开启SNMP Agent功能时,如果SNMP侦听端口正被设备上的其它服务占用,会导致SNMP功能启动失败。此时,可使用本命令修改SNMP侦听端口。如果指定的新端口仍被其它服务占用,则新端口配置失败。建议修改前使用display udp verbose命令查看设备上UDP端口的使用情况。

本命令配置成功后,NMS需要使用新端口重新连接设备后,才能进行Get/Set等操作。

【举例】

# 配置SNMP服务的侦听端口号为5555。

<Sysname> system-view

[Sysname] snmp-agent port 5555

【相关命令】

·     display udp verbose(三层技术-IP业务/IP性能优化)

1.1.31  snmp-agent remote

snmp-agent remote命令用来配置远端SNMP实体的引擎ID。

undo snmp-agent remote命令用来取消已配置的远端SNMP实体的引擎ID。

【命令】

snmp-agent remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] engineid engineid

undo snmp-agent remote ip-address

【缺省情况】

未配置远端SNMP实体的引擎ID。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv4-address:远端SNMP实体的IP地址。

ipv6 ipv6-address:远端SNMP实体的IPv6地址。

vpn-instance vpn-instance-name:指定远端SNMP实体所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示远端SNMP实体位于公网中。

engineid:引擎ID,必须为偶数个十六进制数,偶数的取值范围为10~64,不区分大小写。全0和全F均被认为是无效参数。

【使用指导】

当设备需要向NMS发送SNMPv3 Inform报文时,必须配置该命令,并将ip-address配置为NMS的IP地址,engineid配置为NMS的引擎ID。因为协议要求SNMPv3 Inform报文中必须携带一个权威引擎ID,NMS收到该报文后,会用自己的引擎ID和这个权威引擎ID比较,如果相同,才能接收。

用户最多可以配置20个远端SNMP实体引擎ID。

【举例】

# 配置IP地址为10.1.1.1的SNMP实体的引擎ID为123456789A。

<Sysname> system-view

[Sysname] snmp-agent remote 10.1.1.1 engineid 123456789A

【相关命令】

·     display snmp-agent remote

1.1.32  snmp-agent silence enable

snmp-agent silence enable命令开启SNMP静默功能。

undo snmp-agent silence enable命令用来关闭SNMP静默功能。

【命令】

snmp-agent silence enable

undo snmp-agent silence enable

【缺省情况】

SNMP静默功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

设备使用SNMP静默功能可以自动检测并防御SNMP攻击。其原理为:用户开启SNMP功能后,设备会自动创建SNMP静默定时器,并统计1分钟内收到的认证失败的SNMP报文的个数:

·     如果个数小于100,则自动重新开始计数。

·     如果个数大于等于100,则认为设备受到了SNMP攻击,SNMP模块会进入静默状态,设备将不再处理收到的任何SNMP报文。静默时间为5分钟。5分钟后,解除静默状态,设备会处理收到的SNMP报文,并自动重新开始计数。

【举例】

# 开启SNMP静默功能。

<Sysname> system-view

[Sysname] snmp-agent silence enable

1.1.33  snmp-agent sys-info contact

snmp-agent sys-info contact命令用来配置设备的维护联系信息。

undo snmp-agent sys-info contact命令用来恢复缺省情况。

【命令】

snmp-agent sys-info contact sys-contact

undo snmp-agent sys-info contact

【缺省情况】

设备的维护联系信息为New H3C Technologies Co., Ltd.

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

sys-contact:描述系统维护联系信息,为1~255个字符的字符串,区分大小写。

【使用指导】

如果设备发生故障,设备维护人员可以利用系统维护联系信息,及时与设备生产厂商取得联系。

【举例】

# 配置设备的维护联系信息为Dial System Operator # 27345。

<Sysname> system-view

[Sysname] snmp-agent sys-info contact Dial System Operator # 27345

【相关命令】

·     display snmp-agent sys-info

1.1.34  snmp-agent sys-info location

snmp-agent sys-info location命令用来配置设备的物理位置信息。

undo snmp-agent sys-info location命令用来恢复缺省情况。

【命令】

snmp-agent sys-info location sys-location

undo snmp-agent sys-info location

【缺省情况】

物理位置信息为Hangzhou, China。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

sys-location:设备的物理位置信息,为1~255个字符的字符串,区分大小写。

【使用指导】

为便于识别和管理设备,请使用该命令将设备所处的物理位置记录在设备中。

【举例】

# 配置设备的物理位置信息为Room524-row1-3。

<Sysname> system-view

[Sysname] snmp-agent sys-info location Room524-row1-3

【相关命令】

·     display snmp-agent sys-info

1.1.35  snmp-agent sys-info version

snmp-agent sys-info version命令用来配置设备支持的SNMP版本。

undo snmp-agent sys-info version命令用来取消对指定SNMP版本的支持。

【命令】

(非FIPS模式)

snmp-agent sys-info version { all | { v1 | v2c | v3 } * }

undo snmp-agent sys-info version { all | { v1 | v2c | v3 } * }

(FIPS模式)

snmp-agent sys-info version v3

undo snmp-agent sys-info version v3

【缺省情况】

启用SNMPv3版本。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

all:支持SNMPv1、SNMPv2c和SNMPv3版本。

v1:支持SNMPv1版本。

v2c:支持SNMPv2c版本。

v3:支持SNMPv3版本。

【使用指导】

FIPS模式下,不支持配置SNMPv1和SNMPv2c版本。

支持指定的SNMP版本后,设备才能收发该版本的SNMP报文。只有NMS和Agent使用的SNMP版本相同,NMS才能和Agent建立连接。

SNMPv1和SNMPv2c报文中携带的团体名和数据均为明文形式,存在安全隐患,建议使用SNMPv3版本。

如果在IPv6环境下,要使用SNMP告警功能,请将SNMP版本号配置为v2c或者v3

【举例】

# 配置设备支持SNMPv3版本。

<Sysname> system-view

[Sysname] snmp-agent sys-info version v3

【相关命令】

·     display snmp-agent sys-info

1.1.36  snmp-agent target-host

snmp-agent target-host命令用来配置接收SNMP告警信息的目的主机(能够解析Trap和Inform报文的设备,通常为NMS)的属性。

undo snmp-agent target-host命令用来取消目的主机配置。

【命令】

(非FIPS模式)

snmp-agent target-host inform address udp-domain { ipv4-target-host | ipv6 ipv6-target-host } [ udp-port port-number ] [ vpn-instance vpn-instance-name ] params { cipher-securityname cipher-security-string v2c | securityname security-string { v2c | v3 [ authentication | privacy ] } }

snmp-agent target-host trap address udp-domain { ipv4-target-host | ipv6 ipv6-target-host } [ udp-port port-number ] [ dscp dscp-value ] [ vpn-instance vpn-instance-name ] params { cipher-securityname cipher-security-string [ v1 | v2c ] | securityname security-string [ v1 | v2c | v3 [ authentication | privacy ] ] }

undo snmp-agent target-host { trap | inform } address udp-domain { ipv4-target-host | ipv6 ipv6-target-host } params { cipher-securityname cipher-security-string | securityname security-string } [ vpn-instance vpn-instance-name ]

(FIPS模式)

snmp-agent target-host inform address udp-domain { ipv4-target-host | ipv6 ipv6-target-host } [ udp-port port-number ] [ vpn-instance vpn-instance-name ] params securityname security-string v3 { authentication | privacy }

snmp-agent target-host trap address udp-domain { ipv4-target-host | ipv6 ipv6-target-host } [ 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 | inform } address udp-domain { ipv4-target-host | ipv6 ipv6-target-host } params securityname security-string [ vpn-instance vpn-instance-name ]

【缺省情况】

未配置告警主机。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

inform:配置接收Inform报文的目的主机的参数。

trap:配置接收Trap报文的目的主机的参数。

address:指定接收告警信息的目的主机的地址。

udp-domain:指定使用UDP协议来传输SNMP告警信息。

ipv4-target-host:接收告警信息的目的主机的IPv4地址或主机名,主机名为1~253个字符的字符串,不区分大小写,字符串仅可包含字母、数字、“-”、“_”或“.”。若使用主机名配置,发送时将获取主机名对应的IPv4地址,向对应的主机发送告警信息。

ipv6 ipv6-target-host:接收告警信息的目的主机的IPv6地址或主机名,主机名为1~253个字符的字符串,不区分大小写,字符串仅可包含字母、数字、“-”、“_”或“.”。若使用主机名配置,发送时将获取主机名对应的IPv6地址,向对应的主机发送告警信息。若使用IPv6地址配置,则不能为链路本地地址。

udp-port port-number:指定目的主机上用来接收告警信息的端口号,缺省值为162。

dscp dscp-value:配置向目的主机发送的Trap报文的DSCP优先级,取值范围为0~63,缺省值为0。值越大表示优先级越高。DSCP优先级封装在IP报文中的ToS字段,用来表示报文自身的优先级,设备可根据该优先级决定报文传输的优先程度。

vpn-instance vpn-instance-name:指定目的主机所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示目的主机位于公网中。

params:配置认证参数。

cipher-securityname cipher-security-string:表示以明文或者密文方式设置认证参数,但以密文形式存储。cipher-security-string为SNMPv1、SNMPv2c的团体名,当使用明文形式配置时,为1~32个字符的字符串;当使用密文形式配置时,为33~73个字符的字符串。

securityname security-string:表示以明文方式设置认证参数,并以明文形式存储。security-string为SNMPv1、SNMPv2c的团体名或SNMPv3的用户名的明文形式,为1~32个字符的字符串。

v1:SNMPv1版本。

v2c:SNMPv2c版本。

v3:SNMPv3版本。

authentication:指明对报文进行认证但不加密。认证功能用来验证报文的完整性或报文是否被篡改等,认证密码在创建SNMPv3用户时配置。

privacy:指明对报文进行认证和加密。加密是对报文的数据部分进行加密处理以防信息被窃取,认证密码和加密密码在创建SNMPv3用户时配置。

【使用指导】

根据实际组网需要,用户可以多次使用该命令配置不同的目的主机的属性,使得设备可以向多个NMS发送告警信息。

不指定udp-port port-number参数时,使用的端口号为162。162是SNMP协议规定的NMS接收告警信息的端口,通常情况下(比如使用iMC或者MIB Browser作为NMS时),使用该缺省值即可。如果要将该参数修改为其它值,则必须和NMS上的配置保持一致。

不指定v1v2cv3版本参数时,使用的版本是v1。设备配置的SNMP版本必须和NMS上运行的SNMP版本一致,否则,NMS将收不到告警信息。

不指定authenticationprivacy参数时,使用的是不认证不加密的安全级别。

【举例】

# 允许向10.1.1.1发送SNMPv3 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 v3

【相关命令】

·     snmp-agent { inform | trap } source

·     snmp-agent trap enable

·     snmp-agent trap life

1.1.37  snmp-agent trap enable

snmp-agent trap enable命令用来开启SNMP告警功能。

undo snmp-agent trap enable命令用来关闭SNMP告警功能。

【命令】

snmp-agent trap enable [ configuration | protocol | standard [ authentication | coldstart | linkdown | linkup | warmstart ] * | system ]

undo snmp-agent trap enable [ configuration | protocol | standard [ authentication | coldstart | linkdown | linkup | warmstart ] * | system ]

【缺省情况】

配置变化告警、SNMP标准告警和系统告警功能处于开启状态,其他各模块告警功能是否开启请参见各模块手册。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

configuration:表示配置变化告警功能。配置该参数后,SNMP模块会按周期检查周期内设备的当前运行配置、启动配置以及启动配置文件是否有变化。如果检测到配置有变化,设备在生成日志的同时会生成对应的Trap。配置检查周期可通过snmp-agent configuration-examine interval命令修改。

protocol:开启指定协议模块的SNMP告警功能。用户可通过执行snmp-agent trap enable ?命令来获取该参数的取值,有关此参数的详细介绍,请参见各模块的命令手册。

standard:表示SNMP标准告警功能。包括以下五种情况:

·     authentication:NMS访问设备时认证失败,输出SNMP认证失败的告警信息。

·     coldstart:当SNMP进程重新启动,且SNMP配置可能变化时,例如重启设备恢复配置时SNMP进程重启,但是SNMP的配置有可能变化,输出SNMP冷启动告警信息。

·     linkdown:当接口的链路down时,输出linkDown告警信息。

·     linkup:当接口的链路up时,输出linkUp告警信息。

·     warmstart:当SNMP进程重新启动,且SNMP配置没变化时,例如关闭SNMP功能后又开启SNMP功能,输出SNMP热启动告警信息。

system表示系统告警功能。配置该参数后,如果系统时间被修改、系统重启或系统主用启动软件包不可用,均会生成告警信息。

【使用指导】

对于协议模块的SNMP告警功能,需要先使能相关协议,本命令才能配置成功。

如果在IPv6环境下,要使用SNMP告警功能,请将SNMP版本号配置为v2c或者v3

开启指定协议模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。

不指定可选参数时,表示在全局下开启/关闭所有可选模块的告警功能。

【举例】

# 开启SNMP认证失败的告警功能。

<Sysname> system-view

[Sysname] snmp-agent trap enable standard authentication

【相关命令】

·     snmp-agent configuration-examine interval

·     snmp-agent target-host

·     snmp-agent sys-info version

1.1.38  snmp-agent trap format

snmp-agent trap format命令用来配置设备发往NMS的告警信息的格式。

undo snmp-agent trap format命令用来恢复缺省配置。

【命令】

snmp-agent trap format cmcc

undo snmp-agent trap format

【缺省情况】

设备发往NMS的告警信息的格式为通用格式。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

cmcc:配置设备发往NMS的告警信息的格式为CMCC。

【使用指导】

设备往NMS发送Trap和Inform消息的时候,支持两种格式:标准格式和CMCC格式,请根据需要选择。

【举例】

# 配置设备发往NMS的告警信息的格式为CMCC。

<Sysname> system-view

[Sysname] snmp-agent trap format cmcc

【相关命令】

·     snmp-agent target-host

1.1.39  snmp-agent trap if-mib link extended

snmp-agent trap if-mib link extended命令用来对标准格式的linkUp或linkDown告警信息进行私有扩展。

undo snmp-agent trap if-mib link extended命令用来恢复缺省情况。

【命令】

snmp-agent trap if-mib link extended

undo snmp-agent trap if-mib link extended

【缺省情况】

系统发送的linkUp/linkDown告警信息的格式为标准格式,不对其进行私有扩展。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

扩展格式的linkUp/linkDown告警信息由标准格式的linkUp/linkDown告警信息后增加接口描述和接口类型信息构成,使用扩展格式的告警信息有助于网络管理员快速定位问题。

需要注意的是,配置该命令后,设备发送的linkUp/linkDown告警信息为扩展格式的信息。如果NMS不支持扩展格式,可能会无法解析信息。

【举例】

# 对标准格式的linkUp/linkDown告警信息进行私有扩展。

<Sysname> system-view

[Sysname] snmp-agent trap if-mib link extended

1.1.40  snmp-agent trap life

snmp-agent trap life命令用来配置告警信息的保存时间。

undo snmp-agent trap life命令用来恢复缺省情况。

【命令】

snmp-agent trap life seconds

undo snmp-agent trap life

【缺省情况】

SNMP告警信息的保存时间为120秒。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

seconds:超时时间,取值范围为1~2592000,单位为秒。

【使用指导】

SNMP模块使用队列来发送告警信息,告警信息进入消息发送队列时会启动一个存活定时器。如果直到定时器超时(即达到snmp-agent trap life命令配置的时间),告警信息还没有被发送出去,系统就会将该告警信息从发送队列中删除。

【举例】

# 配置告警信息的保存时间为60秒。

<Sysname> system-view

[Sysname] snmp-agent trap life 60

【相关命令】

·     snmp-agent trap enable

·     snmp-agent target-host

·     snmp-agent trap queue-size

1.1.41  snmp-agent trap log

snmp-agent trap log命令用来开启SNMP告警日志功能。

undo snmp-agent trap log命令用来关闭SNMP告警日志功能。

【命令】

snmp-agent trap log

undo snmp-agent trap log

【缺省情况】

SNMP告警日志功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

打开SNMP告警日志开关,Agent向NMS发送告警时,Agent会向信息中心模块发送一条日志来记录该告警相关的信息。通过配置信息中心的参数,最终决定SNMP告警日志的输出规则(即是否允许输出以及输出方向)。

【举例】

# 开启SNMP告警日志功能。

<Sysname> system-view

[Sysname] snmp-agent trap log

1.1.42  snmp-agent trap snmpv2-mib authenticationfailure extended

snmp-agent trap snmpv2-mib authenticationfailure extended命令用来允许生成扩展格式的authenticationfailure告警信息。

undo snmp-agent trap snmpv2-mib authenticationfailure extended命令用来恢复缺省情况。

【命令】

snmp-agent trap snmpv2-mib authenticationfailure extended

undo snmp-agent trap snmpv2-mib authenticationfailure extended

【缺省情况】

【缺省情况】

系统发送的authenticationFailure告警为标准格式,不对其进行私有扩展。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

应用场景

当NMS访问设备,NMS认证失败后,设备会记录NMS的IP地址类型和IP地址信息,以便网络管理员溯源。

工作机制

对于SNMP v1/v2c版本,如果NMS访问请求中携带的团体名不存在,设备会认为NMS认证失败并生成authenticationFailure告警。对于v3版本,当NMS访问请求中携带的用户名、认证密码错误时,设备会认为NMS认证失败并生成authenticationFailure告警。

配置本命令后,当NMS访问设备且身份认证失败后,设备会生成扩展格式的authenticationFailure告警。扩展格式的authenticationFailure告警由标准格式的authenticationFailure告警后增加IP地址类型和IP地址构成。使用扩展格式的告警信息有助于网络管理员快速定位NMS的信息。

注意事项

配置该命令后,设备发送的authenticationFailure告警为扩展格式的信息。如果NMS不支持扩展格式,可能会无法解析该告警。

当SNMP标准告警中的认证失败告警处于开启状态时,本命令才生效。SNMP标准告警中的认证失败告警缺省处于开启状态。

【举例】

# 对标准格式的authenticationfailure告警信息进行私有扩展。

<Sysname> system-view

[Sysname] snmp-agent trap snmpv2-mib authenticationfailure extended

# 对标准格式的authenticationFailure告警信息关闭私有扩展。

<Sysname> system-view

[Sysname] undo snmp-agent trap snmpv2-mib authenticationfailure extended

【相关命令】

·     snmp-agent trap enable

1.1.43  snmp-agent trap queue-size

snmp-agent trap queue-size命令用来配置告警信息发送队列的长度。

undo snmp-agent trap queue-size命令用来恢复缺省情况。

【命令】

snmp-agent trap queue-size size

undo snmp-agent trap queue-size

【缺省情况】

告警信息的发送队列最多可以存储100条告警信息。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

size:消息队列中可以存储的告警信息的数目,取值范围1~1000。

【使用指导】

告警信息产生后,会进入告警信息消息队列进行发送,告警信息消息队列的长度决定了队列最多可以存储的告警信息的数目。

如果在告警信息发送队列满时系统又收到了新的告警信息,则系统会丢弃新收到的告警信息。

如果用户修改队列长度,导致队列中告警信息数量超过告警信息发送队列的长度,系统会丢弃较老的告警信息。

【举例】

# 配置发送告警信息的消息队列最多可以存储200条告警信息。

<Sysname> system-view

[Sysname] snmp-agent trap queue-size 200

【相关命令】

·     snmp-agent trap enable

·     snmp-agent target-host

·     snmp-agent trap life

1.1.44  snmp-agent trap withsn

snmp-agent trap withsn命令用来配置设备发往NMS的告警信息中携带SN(serial number,设备的序列号)。

undo snmp-agent trap withsn命令用来恢复缺省配置。

【命令】

snmp-agent trap withsn

undo snmp-agent trap withsn

【缺省情况】

设备发往NMS的告警信息中不携带SN。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

配置本命令后,设备往NMS发送Trap和Inform消息的时候,会携带设备SN。SN可用于唯一标识一台设备。

【举例】

# 配置设备发往NMS的告警信息携带SN。

<Sysname> system-view

[Sysname] snmp-agent trap withsn

【相关命令】

·     snmp-agent target-host

1.1.45  snmp-agent usm-user { v1 | v2c }

snmp-agent usm-user { v1 | v2c }命令用来创建SNMPv1或SNMPv2c用户。

undo snmp-agent usm-user { v1 | v2c }命令用来删除SNMPv1或SNMPv2c用户。

【命令】

snmp-agent usm-user { v1 | v2c } user-name group-name [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent usm-user { v1 | v2c } user-name

【缺省情况】

不存在SNMP用户。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

v1:表示配置的用户名适用于SNMPv1组网环境。

v2c:表示配置的用户名适用于SNMPv2c组网环境。

user-name:用户名,为1~32个字符的字符串,区分大小写。

group-name:该用户对应组的名称,取值范围为1~32个字符的字符串,区分大小写。创建用户时,组可以不存在。但要使创建的用户生效,必须先创建组。

acl:将用户名与基本/高级IPv4 ACL绑定。

ipv4-acl-number:表示基本或高级IPv4 ACL的编号,其中基本IPv4 ACL的取值范围为2000~2999,高级IPv4 ACL的取值范围为3000~3999。

name ipv4-acl-name:表示基本或高级IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写。

acl ipv6:将用户名与基本/高级IPv6 ACL绑定。

ipv6-acl-number:表示基本或高级IPv6 ACL的编号,其中基本IPv6 ACL的取值范围为2000~2999,高级IPv6 ACL的取值范围为3000~3999。

name ipv6-acl-name:表示基本或高级IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

FIPS模式下,不支持本命令。

为了安全起见,只有具有network-admin或者level-15用户角色的用户登录设备后才能执行本命令。其它角色的用户,即使授权了SNMP特性或本命令的操作权限,也不能执行本命令。

SNMPv1和SNMPv2c组网应用中NMS和Agent之间使用团体名来认证,SNMPv3组网应用中使用用户名来认证。

用户有两种方式创建团体:

·     使用snmp-agent community命令来创建团体。

·     配置snmp-agent usm-user { v1 | v2c }snmp-agent group { v1 | v2c }命令成功创建SNMPv1或SNMPv2c用户以及相应的组后,系统会以用户名为团体名自动创建一个团体。该团体的访问权限可通过snmp-agent communitysnmp-agent group { v1 | v2c }命令来修改,最后一次执行的命令生效。

display snmp-agent community会显示这两种方式创建的、以明文方式配置并以明文方式保存到配置文件中的团体的信息。

设备先使用snmp-agent acl命令配置的全局ACL对NMS进行过滤,再使用创建SNMP组和用户时配置的ACL进一步对NMS进行过滤,只有三个ACL均允许通过的NMS才能访问设备。引用ACL时,需要注意的是:

·     若引用的ACL不存在,或者引用的ACL中没有配置规则,则允许所有NMS访问设备。

·     在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。

·     当引用的ACL下配置了规则时,则只有规则中permit的NMS才能访问设备,其他NMS不允许访问设备。

关于ACL的详细描述和介绍请参见“ACL和QoS配置指导”中的“ACL”。

【举例】

# 在SNMP组readCom里创建SNMPv2c用户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需要访问Agent,则应将NMS的版本号指定为SNMPv2c,Read community选项填写为userv2c。

# 在SNMP组readCom里创建SNMPv2c用户userv2c,并且只允许IP地址为1.1.1.1的NMS使用该用户名访问Agent,禁止其它NMS使用该用户名访问。

<Sysname> system-view

[Sysname] acl basic 2001

[Sysname-acl-ipv4-basic-2001] rule permit source 1.1.1.1 0.0.0.0

[Sysname-acl-ipv4-basic-2001] rule deny source any

[Sysname-acl-ipv4-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

# 在SNMP组readCom里创建SNMPv2c用户userv2c,并且只允许IP地址为1.1.1.2的NMS使用该用户名访问Agent,禁止其它NMS使用该用户名访问。

[Sysname] acl basic name testacl

[Sysname-acl-ipv4-basic-testacl] rule permit source 1.1.1.2 0.0.0.0

[Sysname-acl-ipv4-basic-testacl] rule deny source any

[Sysname-acl-ipv4-basic-testacl] quit

[Sysname] snmp-agent sys-info version v2c

[Sysname] snmp-agent group v2c readCom

[Sysname] snmp-agent usm-user v2c userv2c readCom acl name testacl

【相关命令】

·     snmp-agent acl

·     snmp-agent group

·     snmp-agent community

·     display snmp-agent community

1.1.46  snmp-agent usm-user v3

snmp-agent usm-user v3命令用来创建SNMPv3用户。

undo snmp-agent usm-user v3命令用来删除SNMPv3用户。

【命令】

(非FIPS模式)

·     VACM方式:

snmp-agent usm-user v3 user-name group-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ { cipher | simple } authentication-mode { md5 | sha | sha224 | sha256 | sha384 | sha512 } auth-password [ privacy-mode { 3des | aes128 | aes192 | aes256 | des56 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent usm-user v3 user-name { local | engineid engineid-string | remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }

·     RBAC方式:

snmp-agent usm-user v3 user-name user-role role-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ { cipher | simple } authentication-mode { md5 | sha | sha224 | sha256 | sha384 | sha512 } auth-password [ privacy-mode { 3des | aes128 | aes192 | aes256 | des56 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent usm-user v3 user-name { local | engineid engineid-string | remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }

(FIPS模式)

·     VACM方式:

snmp-agent usm-user v3 user-name group-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] { cipher | simple } authentication-mode { sha | sha224 | sha256 | sha384 | sha512 } auth-password [ privacy-mode { aes128 | aes192 | aes256 } priv-password ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent usm-user v3 user-name { local | engineid engineid-string | remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }

·     RBAC方式:

snmp-agent usm-user v3 user-name user-role role-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ { cipher | simple } authentication-mode { sha | sha224 | sha256 | sha384 | sha512 } auth-password [ privacy-mode { aes128 | aes192 | aes256 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

undo snmp-agent usm-user v3 user-name { local | engineid engineid-string | remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }

【缺省情况】

不存在SNMPv3用户。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

user-name:用户名,为1~32个字符的字符串,区分大小写。

group-name:该用户对应组的名称,取值范围为1~32个字符的字符串,区分大小写。创建用户时,组可以不存在。但要使创建的用户生效,必须先创建组。

user-role role-name:该用户对应的角色名称,role-name为1~63个字符的字符串,区分大小写。

remote { ipv4-address | ipv6 ipv6-address }:接收Inform信息的目的主机的IPv4地址或者IPv6地址,通常为NMS的IPv4地址或者IPv6地址。当设备需要向目的主机发送SNMPv3 Inform报文时,该参数必须配置,还需要使用snmp-agent remote命令将目的主机的IPv4地址或者IPv6地址和引擎ID绑定。

vpn-instance vpn-instance-name:目的主机所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示目的主机位于公网中。

cipher:以密文方式配置认证密码和加密密码。该密码将转换成对应的密文摘要存储在设备中。

simple:以明文方式配置认证密码和加密密码。该密码将转换成对应的密文摘要存储在设备中。

authentication-mode:指定认证算法。不指定该参数时,表示不认证。取值为:

·     md5:采用HMAC-MD5算法。

·     sha:采用HMAC-SHA1算法。

·     sha224:采用HMAC-SHA224算法。

·     sha256:采用HMAC-SHA256算法。

·     sha384:采用HMAC-SHA384算法。

·     sha512:采用HMAC-SHA512算法。

auth-password:表示认证密码,区分大小写,具体要求如下:

·     以明文方式配置时,auth-password表示明文认证密码。非FIPS模式下,认证密码的长度范围是1~64个字符;FIPS模式下,认证密码的长度范围是15~64字符,密码元素的最少组合类型为4(必须包括数字、大写字母、小写字母以及特殊字符)。

·     以密文方式配置时,auth-password表示密文认证密码,该密码可通过snmp-agent calculate-password命令计算获得。

privacy-mode:指定加密算法。不指定该参数时,表示不加密。取值为:

·     3des:采用3DES(Triple Data Encryption Standard,三重数据加密标准)算法,密钥长度为168比特。

·     aes128:采用AES(Advanced Encryption Standard,高级加密标准)算法,密钥长度为128比特。

·     aes192:采用AES算法,密钥长度为192比特。

·     aes256:采用AES算法,密钥长度为256比特。

·     des56:采用DES(Data Encryption Standard,数据加密标准)算法,密钥长度为56比特。

priv-password:表示加密密码,区分大小写,具体要求如下:

·     以明文方式配置时,priv-password表示明文加密密码非FIPS模式下,密码的长度范围是1~64个字符;FIPS模式下,加密密码的长度范围是15~64字符,密码元素的最少组合类型为4(必须包括数字、大写字母、小写字母以及特殊字符)。

·     以密文方式配置时,priv-password表示密文加密密码,该密码可通过snmp-agent calculate-password命令计算获得。

acl:将用户名与基本/高级IPv4 ACL绑定。

ipv4-acl-number:表示基本或高级IPv4 ACL的编号,其中基本IPv4 ACL的取值范围为2000~2999,高级IPv4 ACL的取值范围为3000~3999。

name ipv4-acl-name:表示基本或高级IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写。

acl ipv6:将用户名与基本/高级IPv6 ACL绑定。

ipv6-acl-number:表示基本或高级IPv6 ACL的编号,其中基本IPv6 ACL的取值范围为2000~2999,高级IPv6 ACL的取值范围为3000~3999。

name ipv6-acl-name:表示基本或高级IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写。

local:表示本地实体引擎ID。缺省情况下,创建的SNMPv3用户与本地SNMP实体引擎相关联。

engineid engineid-string:指定与该用户相关联的引擎ID字符串,必须为偶数个十六进制数,偶数的取值范围为10~64,不区分大小写。全0和全F均被认为是无效参数。由于SNMPv3版本的用户名、密文密码等都和引擎ID相关联,如果更改了引擎ID,则原引擎ID下配置的用户名、密码失效,更改后可以使用该参数将engineid-string指定为创建该用户时的本地引擎ID来删除失效用户名。

【使用指导】

为了安全起见,只有具有network-admin或者level-15用户角色的用户登录设备后才能执行本命令。其它角色的用户,即使授权了SNMP特性或本命令的操作权限,也不能执行本命令。

创建SNMPv3用户时,可以通过两种配置方式来控制用户访问的权限:

·     通过VACM方式配置的SNMP用户依附于SNMP组,创建用户时,请先创建组。否则,用户能够创建成功但是不生效。一个组可以包含多个用户。组定义了用户能够访问的SNMP对象(通过MIB视图来限定)以及是否进行认证和加密等,而认证和加密的具体算法和密码则是在创建用户时定义。

·     通过RBAC方式配置的SNMP用户依附于用户角色,创建用户时,通过user-role role-name参数配置用户的角色。用户角色定义了SNMP用户能够访问的SNMP对象以及操作类型(通过rule规则来限定)。使用RBAC方式创建SNMP v3用户后,还可以使用snmp-agent usm-user v3 user-role命令为该用户绑定更多的用户角色,最多可绑定64个用户角色。

推荐使用RBAC配置方式,安全性更高。

通过VACM和RBAC方式配置SNMP用户时,需要注意:

·     通过VACM方式配置SNMP用户时,当用户名相同,多次执行本命令,最后一次执行的命令生效。

·     通过RBAC方式配置SNMP用户时,可以多次使用本命令为已创建的SNMPv3用户添加角色,若未配置其他参数,则其他配置不变,只添加角色;若同时配置其他参数(如认证方式),则为用户添加角色,同时修改其他配置。

设备先使用snmp-agent acl命令配置的全局ACL对NMS进行过滤,再使用创建SNMP组和用户时配置的ACL进一步对NMS进行过滤,只有三个ACL均允许通过的NMS才能访问设备。引用ACL时,需要注意的是:

·     若引用的ACL不存在,或者引用的ACL中没有配置规则,则允许所有NMS访问设备。

·     在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。

·     当引用的ACL下配置了规则时,则只有规则中permit的NMS才能访问设备,其他NMS不允许访问设备。

关于ACL的详细描述和介绍请参见“ACL和QoS配置指导”中的“ACL”。

【举例】

# VACM方式:为v3组testGroup加入一个用户testUser,安全级别为只认证不加密,认证算法为HMAC-SHA1,认证密码为明文123456TESTplat&!。

<Sysname> system-view

[Sysname] snmp-agent group v3 testGroup authentication

[Sysname] snmp-agent usm-user v3 testUser testGroup simple authentication-mode sha 123456TESTplat&!

在NMS上配置:版本号为SNMPv3,用户名为testUser,认证算法为HMAC-SHA1,认证密码为123456TESTplat&!,建立连接,就可以对设备上缺省视图内的MIB对象进行访问了。

# VACM方式:为v3组testGroup加入一个用户testUser,安全级别为认证和加密,认证算法为HMAC-SHA1、加密算法为AES,认证密码为明文123456TESTauth&!,加密密码为明文123456TESTencr&!。

<Sysname> system-view

[Sysname] snmp-agent group v3 testGroup privacy

[Sysname] snmp-agent usm-user v3 testUser testGroup simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!

在NMS上配置:版本号为SNMPv3,用户名为testUser,认证算法为HMAC-SHA1,认证密码为123456TESTauth&!,加密算法为AES,加密密码为123456TESTencr&!,建立连接,就可以对设备上缺省视图内的MIB对象进行访问了。

# VACM方式:为v3组testGroup加入一个与IP为10.1.1.1的远端SNMP实体引擎相关联的SNMPv3用户remoteUser,安全级别为认证和加密,认证算法为HMAC-SHA1、加密算法为AES,认证密码为明文123456TESTauth&!,加密密码为明文123456TESTencr&!。

<Sysname> system-view

[Sysname] snmp-agent remote 10.1.1.1 engineid 123456789A

[Sysname] snmp-agent group v3 testGroup privacy

[Sysname] snmp-agent usm-user v3 remoteUser testGroup remote 10.1.1.1 simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!

# RBAC方式:创建一个新的SNMPv3用户testUser,角色为network-operator,安全级别为只认证不加密,认证算法为HMAC-SHA1,认证密码为明文123456TESTplat&!。

<Sysname> system-view

[Sysname] snmp-agent usm-user v3 testUser user-role network-operator simple authentication-mode sha 123456TESTplat&!

在NMS上配置:版本号为SNMPv3,用户名为testUser,认证算法为HMAC-SHA1,认证密码为123456TESTplat&!,建立连接,就可以对设备上所有MIB对象进行只读操作。

【相关命令】

·     display snmp-agent usm-user

·     snmp-agent acl

·     snmp-agent group

·     snmp-agent calculate-password

·     snmp-agent remote

·     snmp-agent usm-user v3 user-role

1.1.47  snmp-agent usm-user v3 user-role

snmp-agent usm-user v3 user-role命令用来为通过RBAC方式创建的SNMPv3用户添加角色。

undo snmp-agent usm-user user-role命令用来为SNMPv3用户删除角色。

【命令】

snmp-agent usm-user v3 user-name user-role role-name

undo snmp-agent usm-user v3 user-name user-role role-name

【缺省情况】

使用创建SNMPv3用户时指定的角色。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

user-name:用户名,为1~32个字符的字符串,区分大小写。

user-role role-name:该用户对应的角色名称role-name为1~63个字符的字符串,区分大小写。

【使用指导】

一个RBAC方式配置的SNMPv3用户可配置多个用户角色。用户可以通过本命令来为通过RBAC方式创建的SNMPv3用户添加与删除角色,最多可以配置64个有效的用户角色且至少保留一个用户角色。

【举例】

# 已创建SNMPv3用户testUser拥有network-operato用户角色,现为用户testUser添加network-admin用户角色。

<Sysname> system-view

[Sysname] snmp-agent usm-user v3 testUser user-role network-admin

【相关命令】

·     snmp-agent usm-user v3

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们