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

H3C BBU3100基带处理单元 特性手册(R2120)-6W100

14-SNMP

本章节下载 14-SNMP  (569.17 KB)

docurl=/cn/Service/Document_Software/Document_Center/LTE/Catalog/Access_network/BBU3100/Configure/Operation_Manual/H3C_BBU3100_TX(R2120)-6W100/202010/1350864_30005_0.htm

14-SNMP

目 

1 SNMP

1.1 SNMP简介

1.1.1 SNMP的网络架构

1.1.2 MIB和MIB视图

1.1.3 SNMP基本操作

1.1.4 SNMP版本介绍

1.1.5 SNMP支持的访问控制方式

1.1.6 SNMP静默功能

1.2 配置任务简介

1.3 开启SNMP功能

1.4 配置SNMP版本

1.5 配置SNMPv1/v2c/v3版本公共参数

1.6 配置SNMPv1/v2c团体

1.6.1 功能简介

1.6.2 配置限制和指导

1.6.3 基于名称配置SNMPv1/v2c团体

1.6.4 基于用户配置SNMPv1/v2c团体

1.7 配置SNMPv3组和用户

1.7.1 配置限制和指导

1.7.2 配置SNMPv3组和用户

1.8 配置SNMP告警

1.8.1 功能简介

1.8.2 开启告警功能

1.8.3 配置告警信息发送参数

1.9 配置SNMP日志

1.10 SNMP显示和维护

1.11 SNMP典型配置举例

1.11.1 SNMPv1/v2c配置举例

1.11.2 SNMPv3配置举例

1.12 SNMP配置命令

1.12.1 display snmp-agent community

1.12.2 display snmp-agent context

1.12.3 display snmp-agent group

1.12.4 display snmp-agent local-engineid

1.12.5 display snmp-agent mib-node

1.12.6 display snmp-agent mib-view

1.12.7 display snmp-agent remote

1.12.8 display snmp-agent statistics

1.12.9 display snmp-agent sys-info

1.12.10 display snmp-agent trap queue

1.12.11 display snmp-agent trap-list

1.12.12 display snmp-agent usm-user

1.12.13 enable snmp trap updown

1.12.14 snmp-agent

1.12.15 snmp-agent { inform | trap } source

1.12.16 snmp-agent calculate-password

1.12.17 snmp-agent community

1.12.18 snmp-agent community-map

1.12.19 snmp-agent context

1.12.20 snmp-agent group

1.12.21 snmp-agent local-engineid

1.12.22 snmp-agent log

1.12.23 snmp-agent mib-view

1.12.24 snmp-agent packet max-size

1.12.25 snmp-agent port

1.12.26 snmp-agent remote

1.12.27 snmp-agent sys-info contact

1.12.28 snmp-agent sys-info location

1.12.29 snmp-agent sys-info version

1.12.30 snmp-agent target-host

1.12.31 snmp-agent trap enable

1.12.32 snmp-agent trap if-mib link extended

1.12.33 snmp-agent trap life

1.12.34 snmp-agent trap log

1.12.35 snmp-agent trap queue-size

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

1.12.37 snmp-agent usm-user v3

1.12.38 snmp-agent usm-user v3 user-role

 


1 SNMP

1.1  SNMP简介

SNMP(Simple Network Management Protocol,简单网络管理协议)广泛用于网络设备的远程管理和操作。SNMP允许管理员通过NMS对网络上不同厂商、不同物理特性、采用不同互联技术的设备进行管理,包括状态监控、数据采集和故障处理。

1.1.1  SNMP的网络架构

SNMP网络架构由三部分组成:NMS、Agent和MIB。NMS、Agent和MIB之间的关系如图1-1所示。

·     NMS(Network Management System,网络管理系统)是SNMP网络的管理者,能够提供友好的人机交互界面,来获取、设置Agent上参数的值,方便网络管理员完成大多数的网络管理工作。

·     Agent是SNMP网络的被管理者,负责接收、处理来自NMS的SNMP报文。在某些情况下,如接口状态发生改变时,Agent也会主动向NMS发送告警信息。

·     MIB(Management Information Base,管理信息库)是被管理对象的集合。NMS管理设备的时候,通常会关注设备的一些参数,比如接口状态、CPU利用率等,这些参数就是被管理对象,在MIB中称为节点。每个Agent都有自己的MIB。MIB定义了节点之间的层次关系以及对象的一系列属性,比如对象的名称、访问权限和数据类型等。被管理设备都有自己的MIB文件,在NMS上编译这些MIB文件,就能生成该设备的MIB。NMS根据访问权限对MIB节点进行读/写操作,从而实现对Agent的管理。

图1-1 NMS、Agent和MIB关系图

 

1.1.2  MIB和MIB视图

MIB以树状结构进行存储。树的每个节点都是一个被管理对象,它用从根开始的一条路径唯一地识别(OID)。如图1-2所示,被管理对象B可以用一串数字{1.2.1.1}唯一确定,这串数字是被管理对象的OID(Object Identifier,对象标识符)。

MIB视图是MIB的子集合,将团体名/用户名与MIB视图绑定,可以限制NMS能够访问的MIB对象。当用户配置MIB视图包含某个MIB子树时,NMS可以访问该子树的所有节点;当用户配置MIB视图不包含某个MIB子树时,NMS不能访问该子树的所有节点。

图1-2 MIB树结构

 

1.1.3  SNMP基本操作

SNMP提供以下基本操作:

·     Get操作:NMS使用该操作查询Agent MIB中节点的值。

·     Set操作:NMS使用该操作配置Agent MIB中节点的值。

·     告警操作:SNMP告警包括Trap和Inform两种。

¡     Trap操作:Agent使用该操作向NMS发送Trap报文。Agent不要求NMS发送回应报文,NMS也不会对Trap报文进行回应。SNMPv1SNMPv2cSNMPv3均支持Trap操作。

¡     Inform操作:Agent使用该操作向NMS发送Inform报文。Agent要求NMS发送回应报文,因此,Inform报文比Trap报文更可靠,但消耗的系统资源更多如果Agent在一定时间内没有收到NMS的回应报文,则会启动重发机制。只有SNMPv2cSNMPv3支持Inform操作。

1.1.4  SNMP版本介绍

设备支持SNMPv1、SNMPv2c和SNMPv3三种版本。只有NMS和Agent使用的SNMP版本相同时,NMS才能和Agent建立连接。

SNMPv1采用团体名(Community Name)认证机制。团体名类似于密码,用来限制NMS和Agent之间的通信。如果NMS配置的团体名和被管理设备上配置的团体名不同,则NMS和Agent不能建立SNMP连接,从而导致NMS无法访问Agent,Agent发送的告警信息也会被NMS丢弃。

SNMPv2c也采用团体名认证机制。SNMPv2c对SNMPv1的功能进行了扩展:提供了更多的操作类型;支持更多的数据类型;提供了更丰富的错误代码,能够更细致地区分错误。

SNMPv3采用USM(User-Based Security Model,基于用户的安全模型)认证机制。网络管理员可以配置认证和加密功能。认证用于验证报文发送方的合法性,避免非法用户的访问;加密则是对NMS和Agent之间的传输报文进行加密,以免被窃听。采用认证和加密功能可以为NMS和Agent之间的通信提供更高的安全性。

1.1.5  SNMP支持的访问控制方式

SNMP支持的访问控制方式包括:

·     VACM(View-based Access Control Model,基于视图的访问控制模型):将团体名/用户名与指定的MIB视图进行绑定,可以限制NMS能够访问哪些MIB对象,以及对MIB对象不同的操作权限。

·     RBAC(Role Based Access Control,基于角色的访问控制):创建团体名/用户名时,可以指定对应的用户角色,通过用户角色下制定的规则,来限制NMS能够访问哪些MIB对象,以及对MIB对象不同的操作权限。

¡     拥有network-admin或level-15用户角色的SNMP团体/用户,可以对所有的MIB对象进行读写操作;

¡     拥有network-operator用户角色的SNMP团体/用户,可以对所有的MIB对象进行读操作;

¡     拥有自定义用户角色的SNMP团体/用户,可以对角色规则中指定的MIB对象进行操作。

对于同一SNMP用户名/团体名,只能配置一种控制方式,多次使用两种控制方式配置同一用户名/团体名时,以最后一次的配置方式为准。

RBAC配置方式限制的是MIB节点的读写权限,VACM配置方式限制的是MIB视图的读写权限,而一个视图中通常包括多个MIB节点。所以,RBAC配置方式更精准、更灵活。

1.1.6  SNMP静默功能

设备使用SNMP静默功能可以自动检测并防御SNMP攻击,不需要命令行配置。

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

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

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

1.2  配置任务简介

SNMP配置任务如下:

(1)     开启SNMP功能

(2)     配置SNMP版本

(3)     配置SNMP基本参数

¡     (可选)配置SNMPv1/v2c/v3版本公共参数

¡     配置SNMPv1/v2c团体

¡     配置SNMPv3组和用户

(4)     (可选)配置SNMP告警

(5)     (可选)配置SNMP日志

1.3  开启SNMP功能

1. 配置限制和指导

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     启动SNMP功能。

snmp-agent

缺省情况下,SNMP功能处于关闭状态。

1.4  配置SNMP版本

1. 配置限制和指导

设备支持SNMPv1、SNMPv2c和SNMPv3三种版本。只有NMS和设备使用的SNMP版本相同时,NMS才能和Agent建立连接。

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置设备支持的SNMP版本。

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

缺省情况下,启用SNMPv3版本。

多次执行该命令配置不同的版本时,各配置均生效,设备会和NMS协商一个版本进行通信

1.5  配置SNMPv1/v2c/v3版本公共参数

1. 配置限制和指导

设备出厂时,已分配了全网唯一的SNMP引擎ID。并且,SNMPv3版本的用户名、密文密码等都和引擎ID相关联,如果更改了引擎ID,则原引擎ID下配置的用户名、密码失效。所以,通常情况下,请不要修改设备的SNMP引擎ID。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置设备上接收SNMP报文的端口号。

snmp-agent port port-number

缺省情况下,使用161号端口接收SNMP报文。

(3)     配置本设备的SNMP引擎ID。

snmp-agent local-engineid engineid

缺省情况下,设备引擎ID为“公司的企业号+设备信息”。

(4)     配置远端SNMP实体的引擎ID。

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

缺省情况下,未配置远端SNMP实体的引擎ID。

当设备需要向目的主机(能够解析Trap和Inform报文的设备,通常为NMS)发送SNMPv3 Inform报文时,该步骤必选。

(5)     创建或者更新MIB视图。

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

缺省情况下,存在四个MIB视图,名称均为ViewDefault。

¡     视图一包含MIB子树iso。

¡     视图二不包含子树snmpUsmMIB。

¡     视图三不包含子树snmpVacmMIB。

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

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

(6)     配置SNMP管理信息。

¡     配置设备的维护联系信息。

snmp-agent sys-info contact sys-contact

缺省情况下,设备的维护联系信息为New H3C Technologies Co., Ltd.

¡     配置设备的物理位置信息。

snmp-agent sys-info location sys-location

缺省情况下,物理位置信息为Hangzhou, China。

(7)     创建SNMP上下文。

snmp-agent context context-name

缺省情况下,不存在SNMP上下文。

(8)     配置Agent能处理的SNMP报文的最大长度。

snmp-agent packet max-size byte-count

缺省情况下,Agent能处理的SNMP报文的最大长度为1500。

1.6  配置SNMPv1/v2c团体

1.6.1  功能简介

用户可以基于名称配置SNMPv1/v2c团体,或者基于用户配置SNMPv1/v2c团体。两种配置方式,效果相同。基于用户配置指的是先创建SNMP组,再向创建的组中添加SNMPv1/v2c用户,SNMPv1/v2c用户相当于SNMPv1/v2c的团体名,在NMS上配置的团体名需要跟设备上配置的SNMPv1/v2c用户名一致。

1.6.2  配置限制和指导

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

1.6.3  基于名称配置SNMPv1/v2c团体

(1)     进入系统视图。

system-view

(2)     直接创建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 } ] *

¡     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 } ] *

(3)     (可选)创建团体名到SNMP上下文的映射。

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

1.6.4  基于用户配置SNMPv1/v2c团体

(1)     进入系统视图。

system-view

(2)     通过创建用户来创建SNMP团体。

a.     创建SNMPv1/v2c组:

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 } ] *

b.     创建SNMPv1/v2c用户:

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 } ] *

(3)     (可选)创建团体名到SNMP上下文的映射。

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

1.7  配置SNMPv3组和用户

1.7.1  配置限制和指导

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

SNMPv3使用组来管理用户。NMS使用SNMPv3用户名访问设备时,是否需要认证和加密,由组的配置决定,创建用户时,可以为不同用户配置不同的算法和认证密码、加密密码,基本配置要求见表1-1

表1-1 不同安全模式的基本配置要求

安全模型

创建组时必须配置的相关参数

创建用户时必须配置的相关参数

说明

认证加密

privacy

算法、认证密码、加密密码

认证密码和加密密码必须和NMS上的一致才能建立SNMP连接

认证不加密

authentication

算法、认证密码

认证密码必须和NMS上的一致才能建立SNMP连接

不认证不加密

即便配置了认证密码、加密密码,建立SNMP连接时也不会用到

 

1.7.2  配置SNMPv3组和用户

(1)     进入系统视图。

system-view

(2)     创建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 } ] *

(3)     (可选)为明文密码计算对应的密文密码。

snmp-agent calculate-password plain-password mode { 3desmd5 | 3dessha | md5 | sha } { local-engineid | specified-engineid engineid }

(4)     创建SNMPv3用户。请选择其中一项进行配置。

¡     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 } auth-password [ privacy-mode { 3des | aes128 | des56 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-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 } auth-password [ privacy-mode { 3des | aes128 | des56 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] *

当设备需要向目的主机发送SNMPv3 Inform报文时,remote参数必选。

(5)     (可选)为通过RBAC方式创建的SNMPv3用户添加角色。

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

缺省情况下,使用创建SNMPv3用户时指定的角色。

1.8  配置SNMP告警

1.8.1  功能简介

SNMP告警信息包括Trap和Inform两种,用来告知NMS设备上发生了重要事件,比如,用户的登录/退出,接口状态变成up/down等。业务模块开启告警功能后,会将生成的告警信息发送给SNMP模块,SNMP根据当前的配置封装成Trap和(或)Inform报文发送。如无特殊说明,本文中的告警信息均指Trap和Inform两种信息。

1.8.2  开启告警功能

1. 配置限制和指导

因为告警信息通常较多,会占用设备内存,影响设备性能,所以建议用户根据需要开启指定模块的告警功能,生成相应的告警信息。

如果要求接口在链路状态发生改变时生成相应的告警信息,需要在全局和接口下均开启接口链路状态变化的告警功能。如果要生成其它模块的告警信息,除了使用snmp-agent trap enable命令开启告警功能外,还可能需要执行各个模块的相关配置,详情请参见各模块的相关描述。

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启SNMP告警功能。

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

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

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

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启接口链路状态变化的告警功能。

enable snmp trap updown

缺省情况下,接口状态变化的告警功能处于开启状态。

1.8.3  配置告警信息发送参数

1. 功能简介

设备第一次发送告警信息时,会检查设备和目的主机是否路由可达。如果可达,则直接发送。如果不可达,则先将告警信息缓存在消息队列里,等路由可达后,再发送。为防止告警信息累积占用太多内存,用户可以配置该队列的长度以及告警信息在队列里的保存时间。

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

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

·     如果告警信息的发送队列中的某信息到达了已设定的保存时间,则系统会自动删除该告警信息。

对于Trap报文,设备支持重发机制。缺省情况下,设备会监控Trap报文中包含的变量的值,当这些值达到一定要求时,设备会进入告警状态并自动发送Trap报文通知NMS。设备只有进入告警状态或解除告警状态时,才发送Trap报文。使用Trap报文重发机制,当设备一直处于告警状态时,可以按照指定的周期和次数重复发送Trap报文。目前,仅CPU利用率Trap和内存利用率Trap支持重发。

2. 配置Trap报文发送参数

(1)     进入系统视图。

system-view

(2)     配置接收SNMP告警信息的目的主机(能够解析Trap和Inform报文的设备,通常为NMS)的属性。

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

缺省情况下,未配置Trap报文的目的主机(能够解析Trap和Inform报文的设备,通常为NMS)。

(3)     (可选)配置发送的Trap报文的源IP地址。

snmp-agent trap source interface-type interface-number

缺省情况下,使用出接口的IP地址作为Trap报文的源IP地址。

3. 配置Inform报文发送参数

(1)     进入系统视图。

system-view

(2)     配置Inform报文的发送参数。

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 { v2c | v3 [ authentication | privacy ] }

缺省情况下,未配置Inform报文的目的主机。

仅SNMPv2c和SNMPv3版本支持Inform报文。

(3)     (可选)配置发送的Inform报文的源IP地址。

snmp-agent inform source interface-type interface-number

缺省情况下,使用出接口的IP地址作为Inform报文的源IP地址。

4. 配置告警信息公共发送参数

(1)     进入系统视图。

system-view

(2)     对标准linkUp/linkDown告警信息进行私有扩展。

snmp-agent trap if-mib link extended

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

配置本命令后,设备生成和发送的linkUp/linkDown告警信息由标准linkUp/linkDown告警信息后加接口描述和接口类型信息构成。如果NMS不支持该扩展信息,请关闭私有扩展功能。

(3)     配置告警信息发送队列的长度。

snmp-agent trap queue-size size

缺省情况下,告警信息的消息队列最多可以存储100条告警信息。

(4)     配置告警信息的保存时间。

snmp-agent trap life seconds

缺省情况下,告警信息的保存时间为120秒。

1.9  配置SNMP日志

1. 功能简介

SNMP日志可以记录NMS对Agent的Get请求、Set请求和Set响应信息,不能记录Get响应信息。同时SNMP日志可以记录Agent对NMS的Trap和Inform操作信息以及SNMP认证失败信息。

当进行Get操作时,Agent会记录NMS用户的IP地址、Get操作的节点名和节点OID。

当进行Set操作时,Agent会记录NMS用户的IP地址、Set操作的节点名、节点OID、节点值以及Set操作返回的错误码和错误索引。

当进行Trap和Inform操作时,Agent会向NMS发送告警,Agent会记录告警相关的信息。

当进行SNMP认证操作时,如果Agent收到来自NMS的SNMP请求但是没有通过认证,Agent会记录相关日志。

这些日志将被发送到设备的信息中心,并通过信息中心配置的参数,最终决定SNMP日志的输出规则(即是否允许输出以及输出方向)。SNMP每条日志信息中记录的node域(信息内容对应的MIB节点名)和value域(信息内容对应的MIB节点值)的长度之和不能超过1024字节,超出的部分将不会被输出。

2. 配置限制和指导

大量的日志记录会占用设备的存储空间,影响设备的性能。正常情况下,建议关闭SNMP日志功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     打开SNMP日志开关。

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

缺省情况下,SNMP日志开关处于关闭状态。

(3)     打开SNMP告警日志开关。

snmp-agent trap log

缺省情况下,SNMP告警日志功能处于关闭状态。

1.10  SNMP显示和维护

在完成上述配置后,在任意视图下执行display命令,均可以显示配置后SNMP的运行情况,通过查看显示信息,来验证配置的效果。

表1-2 SNMP显示和维护

操作

命令

显示SNMPv1或SNMPv2c团体信息

display snmp-agent community [ read | write ]

显示SNMP上下文

display snmp-agent context [ context-name ]

显示SNMP组信息

display snmp-agent group [ group-name ]

显示本设备的SNMP引擎ID

display snmp-agent local-engineid

显示SNMP支持的MIB节点信息

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

显示MIB视图的信息

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

显示远端SNMP实体引擎信息

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

显示SNMP报文统计信息

display snmp-agent statistics

显示SNMP设备的系统信息

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

显示告警信息队列的基本信息

display snmp-agent trap queue

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

display snmp-agent trap-list

显示SNMPv3用户信息

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

 

1.11  SNMP典型配置举例

1.11.1  SNMPv1/v2c配置举例

说明

SNMPv1和SNMPv2c的配置方法相同,下面以SNMPv1为例进行配置。

1. 组网需求

NMS与Agent相连,设备的IP地址和掩码如图1-3所示。

NMS通过SNMPv1对Agent进行监控管理,Agent在故障时能够主动向NMS发送告警信息。

2. 组网图

图1-3 SNMPv1配置组网图

 

3. 配置步骤

(1)     配置Agent

# 配置Agent的IP地址为1.1.1.1/24,并确保Agent与NMS之间路由可达。(配置步骤略)

# 配置Agent支持SNMPv1版本、只读团体名为public,读写团体名为private。

<Agent> system-view

[Agent] snmp-agent sys-info version v1

[Agent] snmp-agent community read public

[Agent] snmp-agent community write private

# 配置设备的联系人和位置信息,以方便维护。

[Agent] snmp-agent sys-info contact Mr.Wang-Tel:3306

[Agent] snmp-agent sys-info location telephone-closet,3rd-floor

# 开启NMS告警功能,告警信息发送到主机1.1.1.2,使用的团体名为public。

[Agent] snmp-agent trap enable

[Agent] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname public v1

snmp-agent target-host命令中指定的版本必须和NMS上运行的SNMP版本一致,因此需要将snmp-agent target-host命令中的版本参数配置为v1。否则,NMS无法正确接收告警信息。

(2)     配置NMS

配置NMS使用的SNMP版本为SNMPv1,只读团体名为public,读写团体名为private。另外,还可以根据需求配置“超时”时间和“重试次数”。具体配置请参考NMS的相关手册。

说明

NMS侧的配置必须和Agent侧保持一致,否则无法通信。

 

4. 验证配置

# 通过查询Agent上相应的MIB节点获取NULL0接口的MTU值,结果为1500:

Send request to 1.1.1.1/161 ...

Protocol version: SNMPv1

Operation: Get

Request binding:

1: 1.3.6.1.2.1.2.2.1.4.135471

Response binding:

1: Oid=ifMtu.135471 Syntax=INT Value=1500

Get finished

# 当使用错误的团体名获取Agent上的MIB节点信息时,NMS上将看到认证失败的Trap报文,即authenticationFailure:

1.1.1.1/2934 V1 Trap = authenticationFailure

SNMP Version = V1

Community = public

Command = Trap

Enterprise = 1.3.6.1.4.1.43.1.16.4.3.50

GenericID = 4

SpecificID = 0

Time Stamp = 8:35:25.68

1.11.2  SNMPv3配置举例

1. 组网需求

NMS与Agent相连,设备的IP地址和掩码如图1-4所示。

NMS通过SNMPv3只能对Agent的SNMP报文的相关信息进行监控管理,Agent在出现故障时能够主动向NMS发送告警信息,NMS上接收SNMP告警信息的默认UDP端口号为162。

NMS与Agent建立SNMP连接时,需要认证,使用的认证算法为SHA-1,认证密码为123456TESTauth&!。NMS与Agent之间传输的SNMP报文需要加密,使用的加密协议为AES,加密密码为123456TESTencr&!。

2. 组网图

图1-4 SNMPv3配置组网图

 

3. 通过RBAC方式配置步骤

(1)     配置Agent

# 配置Agent的IP地址为1.1.1.1/24,并确保Agent与NMS之间路由可达。(配置步骤略)

# 创建用户角色test并配置访问权限:用户只能读节点snmpMIB(OID为1.3.6.1.6.3.1)下的对象(本举例验证时会用到linkUp和linkDown节点),不可以访问其它MIB对象。

<Agent> system-view

[Agent] role name test

[Agent-role-test] rule 1 permit read oid 1.3.6.1.6.3.1

# 配置用户角色test具有system(OID为1.3.6.1.2.1.1)的读权限与interfaces(OID为1.3.6.1.2.1.2)的读写权限,以便接口状态变化时,Agent会向NMS发送告警信息。

[Agent-role-test] rule 2 permit read oid 1.3.6.1.2.1.1

[Agent-role-test] rule 3 permit read write oid 1.3.6.1.2.1.2

[Agent-role-test] quit

# 创建用户RBACtest,为其绑定用户角色test,认证算法为SHA-1,认证密码为123456TESTauth&!,加密算法为AES,加密密码是123456TESTencr&!。

[Agent] snmp-agent usm-user v3 RBACtest user-role test simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!

# 配置设备的联系人和位置信息,以方便维护。

[Agent] snmp-agent sys-info contact Mr.Wang-Tel:3306

[Agent] snmp-agent sys-info location telephone-closet,3rd-floor

# 开启NMS告警功能,告警信息发送到主机1.1.1.2,使用的用户名为RBACtest。

[Agent] snmp-agent trap enable

[Agent] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname RBACtest v3 privacy

(2)     配置NMS

# 配置NMS使用的SNMP版本为SNMPv3,用户名为RBACtest,启用认证和加密功能,认证算法为SHA-1,认证密码为123456TESTauth&!,加密协议为AES,加密密码为123456TESTencr&!。另外,还可以根据需求配置“超时”时间和“重试次数”。具体配置请参考NMS的相关手册。

说明

NMS侧的配置必须和设备侧保持一致,否则无法进行相应操作。

 

4. 通过VACM方式配置步骤

(1)     配置Agent

# 配置Agent的IP地址为1.1.1.1/24,并确保Agent与NMS之间路由可达。(配置步骤略)

# 配置访问权限:用户只能读节点snmpMIB(OID为1.3.6.1.6.3.1)下的对象(本举例验证时会用到linkUp和linkDown节点),不可以访问其它MIB对象。

<Agent> system-view

[Agent] undo snmp-agent mib-view ViewDefault

[Agent] snmp-agent mib-view included test snmpMIB

[Agent] snmp-agent group v3 managev3group privacy read-view test

# 配置访问权限:配置用户具有system(OID为1.3.6.1.2.1.1)和interfaces(OID为1.3.6.1.2.1.2)的读写权限,以便接口状态变化时时,Agent会向NMS发送告警信息。(VACM方式只能将MIB视图中包含的所有节点配置为只读属性或者读写属性,不能仅配置部分节点的属性)

[Agent] snmp-agent mib-view included test 1.3.6.1.2.1.1

[Agent] snmp-agent mib-view included test 1.3.6.1.2.1.2

[Agent] snmp-agent group v3 managev3group privacy read-view test write-view test

# 配置Agent使用的用户名为VACMtest,认证算法为SHA-1,认证密码为123456TESTauth&!,加密算法为AES,加密密码是123456TESTencr&!。

[Agent] snmp-agent usm-user v3 VACMtest managev3group simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!

# 配置设备的联系人和位置信息,以方便维护。

[Agent] snmp-agent sys-info contact Mr.Wang-Tel:3306

[Agent] snmp-agent sys-info location telephone-closet,3rd-floor

# 开启NMS告警功能,告警信息发送到主机1.1.1.2,使用的用户名为VACMtest。

[Agent] snmp-agent trap enable

[Agent] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname VACMtest v3 privacy

(2)     配置NMS

# 配置NMS使用的SNMP版本为SNMPv3,用户名为VACMtest,启用认证和加密功能,认证算法为SHA-1,认证密码为123456TESTauth&!,加密协议为AES,加密密码为123456TESTencr&!。另外,还可以根据需求配置“超时”时间和“重试次数”。具体配置请参考NMS的相关手册。

说明

NMS侧的配置必须和设备侧保持一致,否则无法进行相应操作。

 

5. 验证配置

(1)     NMS使用RBACtest用户名访问Agent

可查询sysName节点的值,返回结果为Agent。

设置sysName节点的值为Sysname,由于没有权限,操作失败。

在Agent上关闭或打开接口,NMS上将收到linkUP(OID为1.3.6.1.6.3.1.1.5.4)或linkDown(OID为1.3.6.1.6.3.1.1.5.3)Trap报文。

(2)     NMS使用VACMtest用户名访问Agent

可查询sysName节点的值,返回结果为Agent。

设置sysName节点的值为Sysname,操作成功。

在Agent上关闭或打开接口,NMS上将收到linkUP或linkDown Trap报文。

1.12  SNMP配置命令

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

1.12.1  display snmp-agent community

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

【命令】

display snmp-agent community [ read | write ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

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

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

【使用指导】

不带参数时,显示所有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-3 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.12.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.12.3  display snmp-agent group

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

【命令】

display snmp-agent group [ group-name ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

group-name:指定要显示信息的SNMPv1、SNMPv2c或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-4 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-3

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.12.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.12.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-5 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-6 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-7 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-8 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-9 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.12.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-10 display snmp-agent mib-view命令显示信息描述表

字段

描述

View name

视图名

MIB Subtree

MIB视图对应的MIB子树

Subtree mask

MIB子树的掩码

Storage-type

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

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.12.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-11 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.12.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-12 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.12.9  display snmp-agent sys-info

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

【命令】

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

【视图】

任意视图

【缺省用户角色】

network-admin

【参数】

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.12.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-13 display snmp-agent trap queue命令显示信息描述表

字段

描述

Queue size

告警信息队列长度

Message number

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

 

【相关命令】

·     snmp-agent trap life

·     snmp-agent trap queue-size

1.12.11  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.

   configuration notification is enabled.

   mac-address notification is enabled.

   radius notification is disabled.

   standard notification is enabled.

   syslog notification is disabled.

   system notification is enabled.

 

   Enabled notifications: 4; Disabled notifications: 3

【相关命令】

·     snmp-agent trap enable

1.12.12  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-14 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-3

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.12.13  enable snmp trap updown

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

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

【命令】

enable snmp trap updown

undo enable snmp trap updown

【缺省情况】

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

【视图】

接口视图

【缺省用户角色】

【使用指导】

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

【举例】

# 允许发送端口GigabitEthernet1/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/1

[Sysname-GigabitEthernet1/1] enable snmp trap updown

【相关命令】

·     snmp-agent target-host

·     snmp-agent trap enable

1.12.14  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 Agent功能。

<Sysname> system-view

[Sysname] snmp-agent

【相关命令】

·     display udp verbose

·     snmp-agent port

1.12.15  snmp-agent { inform | trap } source

snmp-agent { inform | trap } source命令用来配置发送的告警信息的源IP地址。

undo snmp-agent { inform | trap } source命令用来恢复缺省情况。

【命令】

snmp-agent { inform | trap } source interface-type { interface-number | interface-number.subnumber }

undo snmp-agent { inform | trap } source

【缺省情况】

使用出接口的IP地址作为告警信息的源IP地址。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

inform用来指定Inform报文中的源IP地址。

trap用来指定Trap报文中的源IP地址。

interface-type { interface-number | interface-number.subnumber }:指定三层接口类型与接口编号。其中interface-number为主接口编号;subnumber为子接口编号,取值范围为1~4094。

【使用指导】

执行该命令后,系统会使用指定接口的主IP地址作为发送出去的告警信息的源IP地址。这样,在NMS上就可以使用该IP地址唯一标志Agent。即便Agent使用不同的出接口发送告警信息,NMS都可以使用该IP地址来过滤Agent发送的所有告警信息。

在将某个接口配置为获取告警信息的源地址接口之前需要注意的是:

·     如果配置的接口已存在,并且配置了合法的IP地址,则该IP地址将作为告警信息的源地址;

·     如果配置的接口不存在,则该命令会配置失败;

·     如果配置的接口已存在,但未配置合法的IP地址,则该命令不生效,在接口配置了合法IP地址后,该命令会自动生效。

【举例】

# 配置Trap报文的源地址为以太网接口GigabitEthernet1/1上的接口主IP地址。

<Sysname> system-view

[Sysname] snmp-agent trap source gigabitethernet 1/1

# 配置Inform报文的源地址为以太网接口GigabitEthernet1/2上的接口主IP地址。

<Sysname> system-view

[Sysname] snmp-agent inform source gigabitethernet 1/2

【相关命令】

·     snmp-agent trap enable

·     snmp-agent target-host

1.12.16  snmp-agent calculate-password

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

【命令】

snmp-agent calculate-password plain-password mode { 3desmd5 | 3dessha | md5 | sha } { local-engineid | specified-engineid engineid }

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

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

mode:指定认证算法和加密算法。设备支持的认证算法有HMAC-MD5和HMAC-SHA1,其中HMAC-MD5的计算速度比HMAC-SHA1快,而HMAC-SHA1的安全强度比HMAC-MD5高;设备支持的加密算法安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全要求,DES算法就可以满足需要。

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

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

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

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

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

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

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

【使用指导】

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

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

生成的密码是和引擎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.12.17  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个字符的字符串,不区分大小写。

【使用指导】

为了安全起见,只有具有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配置方式,安全性更高。

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

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

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

使用acl参数可以限制非法NMS访问设备:

·     当未引用ACL、引用的ACL不存在、或者引用的ACL下没有配置规则时,允许所有NMS访问设备。

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

【举例】

# 以明文方式创建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 mib-view

1.12.18  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.12.19  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.12.20  snmp-agent group

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

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

【命令】

·     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 ]

【缺省情况】

不存在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个字符的字符串,不区分大小写。

【使用指导】

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

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

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

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

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

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

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

创建SNMP组和用户的时候都可以使用acl参数限制非法NMS访问设备,只有两个ACL均允许的NMS才能访问设备。在创建组或用户时,ACL均遵循以下规则:

·     当未引用ACL、引用的ACL不存在、或者引用的ACL下没有配置规则时,允许所有NMS访问设备。

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

【举例】

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

<Sysname> system-view

[Sysname] snmp-agent group v3 group1

【相关命令】

·     display snmp-agent group

·     snmp-agent mib-view

·     snmp-agent usm-user

1.12.21  snmp-agent local-engineid

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

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

【命令】

snmp-agent local-engineid engineid

undo snmp-agent local-engineid

【缺省情况】

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

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

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

【使用指导】

SNMP引擎ID有两个作用:

·     在NMS管理的所有设备中,每一台设备都需要用一个唯一的引擎ID来标识Agent,缺省情况下每个设备有一个缺省的引擎ID,网络管理员需要确保管理域内不能有重复的引擎ID。

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

通常情况下,使用设备的缺省引擎ID即可,用户也可以根据网络整体规划给设备配置方便记忆的引擎ID,比如A栋一楼的一号设备可以将它的引擎ID设置为000Af0010001,二号设备可以配置为000Af0010002。

【举例】

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

<Sysname> system-view

[Sysname] snmp-agent local-engineid 123456789A

【相关命令】

·     display snmp-agent local-engineid

·     snmp-agent usm-user

1.12.22  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日志功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

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.12.23  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.12.24  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.12.25  snmp-agent port

snmp-agent port命令用来配置设备上接收SNMP报文的端口号。

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

【命令】

snmp-agent port port-number

undo snmp-agent port

【缺省情况】

使用161号端口接收SNMP报文。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

port-number:设备上接收SNMP报文的本地端口号,取值范围为1~65535,缺省值为161。

【使用指导】

用户配置成功后,使用新端口重新连接设备后,可以进行Get/Set等操作,此时使用display current-configurantion命令查看SNMP相关配置,此项配置可以显示。

【举例】

# 指定新的端口号。

<Sysname> system-view

[Sysname] snmp-agent port 5555

# 恢复默认端口号。

<Sysname> system-view

[Sysname] undo snmp-agent port

1.12.26  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 { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]

【缺省情况】

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

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

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

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.12.27  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.12.28  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.12.29  snmp-agent sys-info version

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

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

【命令】

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

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

【缺省情况】

启用SNMPv3版本。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

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

v1:支持SNMPv1版本。

v2c:支持SNMPv2c版本。

v3:支持SNMPv3版本。

【使用指导】

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

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

【举例】

# 配置设备支持SNMPv3版本。

<Sysname> system-view

[Sysname] snmp-agent sys-info version v3

【相关命令】

·     display snmp-agent sys-info

1.12.30  snmp-agent target-host

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

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

【命令】

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 { v2c | v3 [ authentication | privacy ] }

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

undo snmp-agent target-host { trap | inform } address udp-domain { ipv4-target-host | ipv6 ipv6-address } 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。

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

params 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.12.31  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配置告警信息。配置该参数后,系统会以10分钟为周期,查看周期内当前运行配置或者启动配置是否被修改,以及是否有用户对启动配置文件进行修改,并将最后一次修改形成一条告警输出。

protocol:开启指定协议模块的SNMP告警功能。用户可通过执行snmp-agent trap enable ?命令来获取该参数的取值。

standard:SNMP标准告警信息。包括以下五种:

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

·     coldstart:当设备重新启动时,输出设备冷启动告警信息。

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

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

·     warmstart:当SNMP模块重新启动时,输出热启动告警信息。

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

【使用指导】

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

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

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

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

【举例】

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

<Sysname> system-view

[Sysname] snmp-agent trap enable standard authentication

【相关命令】

·     snmp-agent target-host

·     snmp-agent sys-info version

1.12.32  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.12.33  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.12.34  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.12.35  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.12.36  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个字符的字符串,不区分大小写。

【使用指导】

为了安全起见,只有具有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组和用户的时候都可以使用acl参数限制非法NMS访问设备,只有两个ACL均允许的NMS才能访问设备。在创建组或用户时,ACL均遵循以下规则:

·     当未引用ACL、引用的ACL不存在、或者引用的ACL下没有配置规则时,允许所有NMS访问设备。

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

【举例】

# 在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 group

·     snmp-agent community

·     display snmp-agent community

1.12.37  snmp-agent usm-user v3

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

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

【命令】

·     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 } auth-password [ privacy-mode { 3des | aes128 | 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 } auth-password [ privacy-mode { 3des | aes128 | 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 ] }

【缺省情况】

不存在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算法。

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

·     以明文方式配置时,auth-password表示明文认证密码。认证密码的长度范围是1~64个字符。

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

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

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

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

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

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

·     以明文方式配置时,auth-password表示明文加密密码。密码的长度范围是164个字符。

·     以密文方式配置时,auth-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方式创建SNMPv3用户后,还可以使用snmp-agent usm-user v3 user-role命令为该用户绑定更多的用户角色,最多可绑定64个用户角色。

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

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

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

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

创建SNMP组和用户的时候都可以使用acl参数限制非法NMS访问设备,只有两个ACL均允许的NMS才能访问设备。在创建组或用户时,ACL均遵循以下规则:

·     当未引用ACL、引用的ACL不存在、或者引用的ACL下没有配置规则时,允许所有NMS访问设备。

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

【举例】

# 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 group

·     snmp-agent calculate-password

·     snmp-agent remote

·     snmp-agent usm-user v3 user-role

1.12.38  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-operator用户角色,现为用户testUser添加network-admin用户角色。

<Sysname> system-view

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

【相关命令】

snmp-agent usm-user v3

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

新华三官网
联系我们