05-SNMP配置
本章节下载: 05-SNMP配置 (345.56 KB)
SNMP(Simple Network Management Protocol,简单网络管理协议)是因特网中的一种网络管理标准协议,被广泛用于实现管理设备对被管理设备的访问和管理。SNMP具有以下特点:
· 支持网络设备的智能化管理。利用基于SNMP的网络管理平台,网络管理员可以查询网络设备的运行状态和参数,设置参数值,发现故障、完成故障诊断,进行容量规划和生成报告。
· 支持对不同物理特性的设备进行管理。SNMP只提供最基本的功能集,使得管理任务与被管理设备的物理特性和联网技术相对独立,从而实现对不同厂商设备的管理。
SNMP网络包含NMS和Agent两种元素:
· NMS(Network Management System,网络管理系统)是SNMP网络的管理者,能够提供非常友好的人机交互界面,方便网络管理员完成绝大多数的网络管理工作。
· Agent是SNMP网络的被管理者,负责接收、处理来自NMS的请求报文。在一些紧急情况下,如接口状态发生改变等,Agent会主动向NMS发送告警信息。
NMS管理设备的时候,通常会对一些参数比较关注,比如接口状态、CPU利用率等,这些参数的集合称为MIB(Management Information Base,管理信息库)。这些参数在MIB中称为节点。MIB定义了节点之间的层次关系以及对象的一系列属性,比如对象的名字、访问权限和数据类型等。每个Agent都有自己的MIB。被管理设备都有自己的MIB文件,在NMS上编译这些MIB文件,就能生成该设备的MIB。NMS根据访问权限对MIB节点进行读/写操作,从而实现对Agent的管理。NMS、Agent和MIB之间的关系如图1-1所示。
图1-1 NMS、Agent和MIB关系图
MIB是按照树型结构组织的,它由很多个节点组成,每个节点表示被管理对象,被管理对象可以用从根开始的一串表示路径的数字唯一地识别,这串数字称为OID(Object Identifier,对象标识符)”。如图1-2所示,被管理对象B可以用一串数字{1.2.1.1}唯一确定,这串数字就是被管理对象B的OID。
图1-2 MIB树结构
SNMP提供四种基本操作来实现NMS和Agent的交互:
· GET操作:NMS使用该操作查询Agent MIB中的一个或多个节点的值。
· SET操作:NMS使用该操作设置Agent MIB中的一个或多个节点的值。
· Trap操作:Agent使用该操作向NMS发送Trap信息。Agent不要求NMS发送回应报文,NMS也不会对Trap信息进行回应。SNMPv1、SNMPv2c和SNMPv3均支持Trap操作。
· Inform操作:Agent使用该操作向NMS发送Inform信息。Agent要求NMS发送回应报文,因此,Inform信息比Trap信息更可靠。如果Agent在一定时间内没有收到NMS的回应报文,则会启动重发机制。只有SNMPv2c和SNMPv3支持Inform操作。
设备支持GET、SET和Trap三种操作。
目前Agent支持SNMPv1、SNMPv2c和SNMPv3三种版本:
· 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之间的通信提供更高的安全性。
NMS和Agent成功建立连接的前提条件是NMS和Agent使用的SNMP版本必须相同。
表1-1 SNMP配置任务简介
配置SNMP基本参数 |
||
配置SNMP日志 |
||
配置SNMP代理功能 |
由于SNMPv3版本的配置和SNMPv1版本、SNMPv2c版本的配置有较大区别,所以下面分两种情况进行SNMP基本功能的配置介绍,详见表1-2和表1-3。
使用SNMPv3版本时,需要先创建一个SNMP组并设置该组的访问权限和认证、加密功能,然后创建一个SNMPv3用户并设置该用户的属性。
表1-2 配置SNMP基本参数(SNMPv3版本)
缺省情况下,SNMP Agent服务处于关闭状态 执行除snmp-agent calculate-password外任何以snmp-agent开头的命令,都可以启动SNMP Agent服务 |
||
缺省情况下,系统维护联系信息为“New H3C Technologies Co., Ltd.”;物理位置信息为“Hangzhou, China”;版本为SNMP v3 |
||
设置本地SNMP实体的引擎ID |
缺省情况下,设备引擎ID为公司的“企业号+设备信息” |
|
创建MIB视图或更新MIB视图内容 |
snmp-agent mib-view { excluded | included } view-name oid-tree [ mask mask-value ] |
缺省情况下,设备上已存在MIB视图ViewDefault,OID为1 |
在FIPS模式下,3DES加密密码和MD5认证密码均不支持,只支持SHA认证密码。 |
||
创建SNMPv3用户 |
在FIPS模式下,设备不支持 MD5、 DES56和3DES |
|
设置Agent能处理的SNMP报文的最大长度 |
缺省情况下,Agent能接收/发送的SNMP消息包长度的最大值为2000字节 |
· SNMPv3版本的用户名、密文密码等的生成都和引擎ID相关联,如果更改了引擎ID,则原引擎ID下配置的用户名、密码失效。
· MIB视图是MIB的子集,由视图名和MIB子树来唯一确定一个MIB视图。视图名相同但包含的子树不同,则认为是不同的视图。除缺省视图外,用户最多可以创建16个MIB视图。
使用SNMPv1或SNMPv2c版本时,需要先设置Agent启用的SNMP版本号,然后设置访问权限,访问权限的设置方法有两种:
· 直接设置,即通过指定团体名的方式创建一个SNMP团体。
· 间接设置,即先创建一个SNMP组,然后为该SNMP组添加一个新用户,用户名相当于SNMPv1和SNMPv2c版本的团体名。
表1-3 配置SNMP基本参数(SNMPv1版本、SNMPv2c版本)
缺省情况下,SNMP Agent服务处于关闭状态 执行除snmp-agent calculate-password外任何以snmp-agent开头的命令,都可以启动SNMP Agent服务 |
||||
缺省情况下,系统维护联系信息为“New H3C Technologies Co., Ltd.”;物理位置信息为“Hangzhou, China”;版本为SNMP v3 |
||||
设置本地SNMP实体的引擎ID |
缺省情况下,设备引擎ID为公司的“企业号+设备信息” |
|||
创建或更新MIB视图内容 |
snmp-agent mib-view { excluded | included } view-name oid-tree [ mask mask-value ] |
缺省情况下,视图名为ViewDefault,OID为1 |
||
直接设置是以指定SNMPv1和SNMPv2c版本的团体名的方式进行设置 间接设置采用与SNMPv3版本类似的命令形式,添加用户到指定的组,用户名相当于SNMPv1和SNMPv2c版本的团体名 |
||||
为一个SNMP组添加一个新用户 |
||||
设置Agent能处理的SNMP报文的最大长度 |
缺省情况下,Agent能接收/发送的SNMP消息包长度的最大值为2000字节 |
MIB视图是MIB的子集,由视图名和MIB子树来唯一确定一个MIB视图。视图名相同但包含的子树不同,则认为是不同的视图。除缺省视图外,用户最多可以创建16个MIB视图。
SNMP日志可以记录NMS对Agent的GET请求、SET请求和SET响应信息,不能记录GET响应信息。
· 当进行GET操作时,Agent会记录NMS用户的IP地址、GET操作的节点名和节点OID。
· 当进行SET操作时,Agent会记录NMS用户的IP地址、SET操作的节点名、节点OID、节点值以及SET操作返回的错误码和错误索引。
这些日志将被发送到设备的信息中心,级别为informational,即作为设备的一般提示信息。通过设置信息中心的参数,最终决定SNMP日志的输出规则(即是否允许输出以及输出方向)。
表1-4 配置SNMP日志功能
打开SNMP日志开关 |
缺省情况下,SNMP日志开关处于关闭状态 |
· 大量的日志记录会占用设备的存储空间,影响设备的性能。正常情况下,建议关闭SNMP日志功能。
· SNMP每条日志信息中记录的node域(信息内容对应的MIB节点名)和value域(信息内容对应的MIB节点值)的长度之和不能超过1024字节,超出的部分将不会被输出。
Trap信息是Agent主动向NMS发送的,用于报告一些紧急的重要事件(如被管理设备重新启动等)。Trap报文有两种:
· 通用Trap。设备支持的通用Trap包括authentication、coldstart、linkdown、linkup和warmstart五种(其它均为企业自定义Trap)。
因为Trap信息通常较多,会占用设备内存,影响设备性能,所以建议用户根据需要开启指定模块的Trap功能。
开启模块的Trap功能后,该模块生成的Trap报文将被发送到设备的信息中心。可以根据各模块生成的Trap信息的级别设置信息中心参数,最终决定Trap报文的输出规则(即是否允许输出以及输出方向)。
开启Trap功能 |
缺省情况下,所有模块的Trap功能处于开启状态 |
|
开启接口状态变化的Trap功能 |
enable snmp trap updown |
缺省情况下,接口下接口状态变化的Trap功能处于开启状态 |
· 如果要求接口在状态发生改变时生成接口状态变化的Trap报文,需要在接口下和全局都开启接口状态变化的Trap功能。
· 要使各个模块生成相应的Trap报文,除了使用snmp-agent trap enable命令开启Trap功能外,还可能需要执行各个模块的相关配置,详情请参见各模块的相关描述。
如果要将Trap发送给NMS,必须先完成以下配置:
· 完成SNMP基本配置(如果使用SNMPv1和SNMPv2c版本需要设置启用的SNMP版本和团体名;如果使用SNMP v3版本需要设置用户名和MIB视图),这些参数的配置必须和NMS上的配置相同。
· 确保设备与NMS路由可达。
当收到Trap报文后,SNMP模块有两种处理方式:
· 将Trap报文存在消息队列里(在网络出现故障时,消息队列用于缓存Trap报文,在网络恢复后,系统会将消息队列中的Trap报文依次发出,用户可以设置该队列的长度、Trap报文在队列里的保存时间);
· 将Trap报文直接发送给指定的目标主机(通常为NMS)等。
表1-6 配置Trap报文发送参数
设置Trap报文的目标主机属性 |
如果要将Trap信息发送给NMS,该步骤为必选,并将ip-address指定为NMS的IP地址 |
|
设置Trap报文的源地址 |
缺省情况下,由SNMP选择一个接口的IP地址作为Trap报文源IP地址 |
|
对标准linkUp/linkDown Trap报文进行私有扩展 |
||
设置Trap报文发送队列的长度 |
缺省情况下,Trap报文的消息队列最多可以存储1000条Trap消息 |
|
设置Trap报文的保存时间 |
缺省情况下,Trap报文的保存时间为120秒 |
|
设置Trap报文最大发送次数 |
缺省情况下为0,即不控制Trap报文发送次数 |
· 对linkUp/linkDown Trap报文进行私有扩展后,设备生成和发送的linkUp/linkDown Trap报文由标准linkUp/linkDown Trap报文后增加接口描述和接口类型信息构成。如果NMS不支持该扩展报文,请禁用私有扩展功能,使设备发送标准的linkUp/linkDown Trap报文。
· 如果在Trap报文的发送队列已满时系统又收到了新的Trap报文,系统会自动删除最先收到的Trap报文。
· 如果发送队列中的Trap报文到达了已设定的保存时间,系统会自动删除该Trap报文。
在系统运行过程中,系统可以根据用户设置的采样周期对系统运行参数进行采样,再将一个统计周期内获取的采样值进行运算,得出相应MIB节点的值,供用户查询。系统运行参数统计值的统计周期和统计值采样周期就是用于周期性地计算h3cDot11AvgRxSignalStrength、h3cDot11HighestRxSignalStrength、h3cDot11LowestRxSignalStrength、h3cEntityExtCpuAvgUsage和h3cEntityExtMemAvgUsage等MIB节点的值。比如,设置统计周期为5s,采样周期为2s,在一个统计周期内会对CPU利用率采样两次,h3cEntityExtCpuAvgUsage节点的值为这两个采样值的平均值。
设置AC统计值的采样周期 |
缺省情况下,统计值的采样周期为0,即不采样 |
|
设置AC统计值的统计周期 |
缺省情况下,统计值的统计周期为0,即不统计 |
SNMP代理功能用于指定本设备对另外一台设备进行代理。被代理设备用IP地址进行标识。当启动代理功能后,对被代理设备进行的网管操作都在代理设备上进行。
表1-8 配置SNMP代理功能
开启SNMP代理功能 |
如果要开启代理功能,代理设备与被代理设备必须处于同一漫游组中,且一台代理设备只能代理一台设备。漫游组的相关内容请参见“WLAN配置指导”中的“WLAN漫游”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后SNMP的运行情况,通过查看显示信息验证配置的效果。
表1-9 SNMP显示和维护
· NMS与Agent相连,NMS的IP地址为1.1.1.2/24,Agent的IP地址为1.1.1.1/24。
· NMS通过SNMP v1或者SNMP v2c对Agent进行监控管理,Agent在出现故障时能主动向NMS发送Trap报文。
图1-3 配置SNMP组网图
# 配置Agent的IP地址为1.1.1.1/24,并确保Agent与NMS之间路由可达。(配置步骤略)
#设置Agent(AC)使用的SNMP版本为v1/v2c、只读团体名为public,读写团体名为private。
[AC] snmp-agent sys-info version v1 v2c
[AC] snmp-agent community read public
[AC] snmp-agent community write private
# 设置AC的联系人和位置信息,以方便维护。
[AC] snmp-agent sys-info contact Mr.Wang-Tel:3306
[AC] snmp-agent sys-info location telephone-closet,3rd-floor
# 允许向NMS发送Trap报文,使用的团体名为public。
[AC] snmp-agent target-host trap address udp-domain 1.1.1.2 udp-port 5000 params securityname public v1
snmp-agent target-host命令中的指定的版本必须和NMS上运行的SNMP版本一致,如果NMS上运行的是SNMP v2c版本,则需要将snmp-agent target-host命令中的版本参数设置为v2c。否则,网管站将收不到Trap信息。
# 设置NMS使用的SNMP版本为SNMPv1/v2c,只读团体名为public,读写团体名为private。具体情况请参考NMS的配套手册。
# 通过查询Agent上相应的MIB节点获取已发送Trap信息的数量,结果为18:
Send request to 1.1.1.1/161 ...
Protocol version: SNMPv1
Operation: Get
Request binding:
1: 1.3.6.1.2.1.11.29.0
Response binding:
1: Oid=snmpOutTraps.0 Syntax=CNTR32 Value=18
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
· NMS与Agent相连,NMS的IP地址为1.1.1.2/24,Agent的IP地址为1.1.1.1/24。
· NMS通过SNMPv3只能对Agent的SNMP报文的相关信息进行监控管理,Agent在出现问题的时候能够主动向NMS发送Trap报文。
· NMS与Agent建立SNMP连接时,需要认证,认证算法为MD5,认证密码为authkey。NMS与Agent之间传输的SNMP报文需要加密,使用的加密协议为DES56,加密密码为prikey。
# 配置Agent的IP地址为1.1.1.1/24,并确保Agent与NMS之间路由可达。(配置步骤略)
# 设置访问权限:用户只能读写节点snmp(OID为1.3.6.1.2.1.11)下的对象,不可以访问其它MIB对象。
[AC] undo snmp-agent mib-view ViewDefault
[AC] snmp-agent mib-view included test snmp
[AC] snmp-agent group v3 managev3group read-view test write-view test
# 设置Agent使用的用户名为managev3user,认证算法为MD5,认证密码为authkey,加密算法为DES56,加密密码是prikey。
# 设置设备的联系人和位置信息,以方便维护。
[AC] snmp-agent sys-info contact Mr.Wang-Tel:3306
[AC] snmp-agent sys-info location telephone-closet,3rd-floor
# 设置允许向NMS发送Trap报文,使用的用户名为managev3user。
[AC] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname managev3user v3 privacy
# 设置NMS使用的SNMP版本为SNMPv3,用户名为managev3user,启用认证和加密功能,认证算法为MD5,认证密码为authkey,加密协议为DES56,加密密码为prikey。另外,还要设置“超时”时间和“重试次数”。用户可利用网管系统完成对设备的查询和配置操作,具体配置请参考NMS的相关手册。
NMS侧的配置必须和Agent侧保持一致,否则无法进行相应操作。
# 通过查询Agent上相应的MIB节点获取已发送Trap信息的数量,结果为18:
Send request to 1.1.1.1/161 ...
Protocol version: SNMPv3
Operation: Get
Request binding:
1: 1.3.6.1.2.1.11.29.0
Response binding:
1: Oid=snmpOutTraps.0 Syntax=CNTR32 Value=18
Get finished
通过查询Agent上相应的MIB节点获取设备名称时,由于没有权限,结果为空(NULL):
Send request to 1.1.1.1/161 ...
Protocol version: SNMPv3
Operation: Get
Request binding:
1: 1.3.6.1.2.1.1.5.0
Response binding:
1: Oid=sysName.0 Syntax=noSuchObject Value=NULL
Get finished
# 对设备上某个空闲的接口执行shutdown/undo shutdown操作,NMS上将看到相应的Trap信息:
1.1.1.1/3374 V3 Trap = linkdown
SNMP Version = V3
Community = managev3user
Command = Trap
1.1.1.1/3374 V3 Trap = linkup
SNMP Version = V3
Community = managev3user
Command = Trap
· NMS与Agent相连,NMS的IP地址为1.1.1.2/24,Agent的IP地址为1.1.1.1/24。
· 在Agent上配置SNMP日志功能,以便记录NMS对Agent进行的操作。
图1-5 配置SNMP日志组网图
# 打开控制台对日志信息的显示功能(此步骤可省略,缺省为该功能是开启的)。
<AC> terminal logging
# 配置信息中心允许输出级别高于等于informational的系统信息到Console口。
[AC] info-center source snmp channel console log level informational
# 打开Agent的SNMP日志开关,对NMS的GET和SET操作进行记录。
· NMS对Agent进行GET操作时,可以在控制台上看到如下日志信息。
· NMS对Agent进行SET操作时,可以在控制台上看到如下日志信息。
表1-10 SNMP日志输出信息描述表
表示SNMP日志生成的时间 |
|
表示该SNMP日志的编号(系统会对记录的SNMP日志进行自动编号,编号从0开始) |
|
NMS的IP地址 |
|
表示SNMP操作类型(GET或者SET) |
|
SNMP操作节点的名称和实例的OID |
|
错误索引(0表示没有错误) |
|
错误状态(noError表示没有错误) |
|
SET操作时设置的值(GET操作时此域为空,表示不记录GET操作获取的值) 当设置的值为字符串,而且字符串中包含编码范围超出了ASCII 0~127或者包含不可显示的字符时,则以十六进制的方式显示整个字符串,形如:value = <81-43>[hex] |
信息中心的系统信息可以输出到控制台或日志缓冲区等方向。本举例是将SNMP日志信息输出到控制台,如果要配置别的输出方向,请参见“网络管理和监控配置指导”中的“信息中心”。
在安装了H3C SecBlade IAG插卡的AC(Access Controller,接入控制器)设备上,通过设置代理功能,使NMS可以通过对AC设备的网管操作,同时管理AC设备和H3C SecBlade IAG插卡。
NMS的IP地址为1.1.1.1/24,AC设备两个子接口的IP地址分别为1.1.1.2/24和2.1.1.1/24,H3C SecBlade IAG插卡两个子接口的IP地址分别为1.1.1.3/24和2.1.1.2/24。
图1-6 配置SNMP代理功能组网图
· 下面只列出了与SNMP代理功能相关的配置,NMS和Agent的SNMP功能配置请参见1.9.1 。
· 漫游组的相关内容请参见“WLAN配置指导”中的“WLAN漫游”。
# 配置NMS的IP地址为1.1.1.1/24,并确保NMS与Agent的子接口(1.1.1.2/24)之间路由可达。(配置步骤略)
(2) 配置Agent(AC)
# 配置Agent一个子接口的IP地址为1.1.1.2/24,并确保该子接口与NMS和H3C SecBlade IAG插卡的子接口(1.1.1.3/24)之间路由可达,配置Agent另外一个子接口的IP地址为2.1.1.1/24,并确保该子接口与H3C SecBlade IAG插卡的子接口(2.1.1.2/24)之间路由可达。(配置步骤略)
# 设置漫游组。
[AC] wlan mobility-group abc
[AC-wlan-mg-abc] member ip 2.1.1.2
[AC-wlan-mg-abc] source ip 2.1.1.1
[AC-wlan-mg-abc] mobility-group enable
[AC-wlan-mg-abc] quit
# 启动代理服务。
[AC] snmp-agent proxy ip 2.1.1.2
# 配置H3C SecBlade IAG插卡两个子接口的IP地址分别为1.1.1.3/24和2.1.1.2/24,并确保两个子接口分别与Agent上同网段的子接口之间路由可达。(配置步骤略)
# 设置漫游组。
[IAG] wlan mobility-group abc
[IAG-wlan-mg-abc] member ip 2.1.1.1
[IAG-wlan-mg-abc] source ip 2.1.1.2
[IAG-wlan-mg-abc] mobility-group enable
[IAG-wlan-mg-abc] quit
通过以上配置,NMS可以通过对AC的网管操作,同时管理AC和H3C SecBlade IAG插卡。
设备的MIB分为公有MIB和私有MIB两大类,私有MIB需要在MIB节点enterprises(1.3.6.1.4.1)下申请一个子节点挂靠。H3C私有MIB有两种风格:
· 一种是设备公有MIB在H3C企业ID 25506下,私有MIB在企业ID 2011下的MIB,称为H3C兼容风格MIB;
· 一种是设备公有MIB与私有MIB均在H3C企业ID 25506下的MIB,称为H3C新风格MIB。
这两种风格的MIB在管理功能上完全一致,区别仅在于根节点不同。设备在出厂前都会加载好MIB,设备型号不同,加载的MIB风格可能不同。为了支持NMS对设备的灵活管理,设备提供了MIB风格配置功能,即用户可以任意切换MIB的两种风格,但需要保证设备的MIB风格和NMS的MIB风格一致,NMS才能顺利识别被管理设备。
设置设备的MIB风格 |
缺省情况下,设备的MIB风格为new |
修改设备的MIB风格后需要重启设备配置才会生效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MIB的风格,通过查看显示信息验证配置的效果。
表2-2 MIB风格显示和维护
查询设备的MIB风格 |
display mib-style [ | { begin | exclude | include } regular-expression ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!