华三SNMP配置详解
一、SNMP配置
1.1 SNMP简介
SNMP(Simple Network Management Protocol,简单网络管理协议)是网络中管理设备和被管理设备之间的通信规则,它定义了一系列消息、方法和语法,用于实现管理设备对被管理设备的访问和管理。SNMP具有以下优势:
自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务分别与被管设备的物理特性和下层的联网技术相对独立,从而实现对不同厂商设备的管理,特别适合在小型、快速和低成本的环境中使用。
1.1.1 SNMP的工作机制
SNMP网络元素分为NMS和Agent两种。
NMS(Network Management Station,网络管理站)是运行SNMP客户端程序的工作站,能够提供非常友好的人机交互界面,方便网络管理员完成绝大多数的网络管理工作。
Agent是驻留在设备上的一个进程,负责接收、处理来自NMS的请求报文。在一些紧急情况下,如接口状态发生改变等,Agent也会主动通知NMS。
NMS是SNMP网络的管理者,Agent是SNMP网络的被管理者。NMS和Agent之间通过SNMP协议来交互管理信息。
SNMP提供四种基本操作:
Get操作:NMS使用该操作查询Agent的一个或多个对象的值。
Set操作:NMS使用该操作重新设置Agent数据库(MIB,Management Information Base)中的一个或多个对象的值。
Trap操作:Agent使用该操作向NMS发送报警信息。
Inform操作:NMS使用该操作向其他NMS发送报警信息。
1.1.2 SNMP的协议版本
目前,设备的SNMP Agent支持SNMP v1、SNMP v2c和SNMP v3三种。
SNMP v1采用团体名(Community Name)认证。团体名用来定义SNMP NMS和SNMP Agent的关系。如果SNMP报文携带的团体名没有得到设备的认可,该报文将被丢弃。团体名起到了类似于密码的作用,用来限制SNMP NMS对SNMP Agent的访问。
SNMP v2c也采用团体名认证。它在兼容SNMP v1的同时又扩充了SNMP v1的功能:它提供了更多的操作类型(GetBulk和InformRequest);它支持更多的数据类型(Counter64等);它提供了更丰富的错误代码,能够更细致地区分错误。
SNMP v3提供了基于用户的安全模型(USM,User-Based Security Model)的认证机制。用户可以设置认证和加密功能,认证用于验证报文发送方的合法性,避免非法用户的访问;加密则是对NMS和Agent之间的传输报文进行加密,以免被窃听。通过有无认证和有无加密等功能组合,可以为SNMP NMS和SNMP Agent之间的通信提供更高的安全性。
NMS和Agent的SNMP版本匹配,是它们之间成功互访的前提条件。Agent可以同时配置多个版本,与不同的NMS交互采用不同的版本。
1.1.3 MIB简介
任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB(Management Information Base,管理信息库)是被管理对象的集合。它定义了对象之间的层次关系以及对象的一系列属性,比如对象的名字、访问权限和数据类型等。每个Agent都有自己的MIB。NMS根据权限可以对MIB中的对象进行读/写操作。
MIB是以树状结构进行存储的。树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别(OID)。如图1-2所示,被管理对象B可以用一串数字{1.2.1.1}唯一确定,这串数字是被管理对象的OID(Object Identifier,对象标识符)。
1.3 配置SNMP日志
1.3.1 SNMP日志介绍
SNMP日志功能将记录NMS对SNMP Agent的GET和SET操作。当进行GET操作时,Agent会记录NMS用户的IP地址、GET操作的节点名和节点的OID。当进行SET操作时,Agent会记录NMS用户的IP地址、SET操作的节点名、节点的OID、设置的值以及SET操作返回的错误码和错误索引。这些日志将被发送到设备的信息中心,级别为informational,即作为设备的一般提示信息。通过设置信息中心的参数,最终决定SNMP日志的输出规则(即是否允许输出以及输出方向)。
SNMP日志记录GET请求、SET请求和SET响应信息,不记录GET响应信息。
1.3.2 开启SNMP日志功能
[HX-A]snmp-agent log {all | get-operation | set-operation } 打开SNMP日志开关
[HX-A]info-center source ? 配置SNMP日志输出规则,缺省情况下,SNMP日志只会输出到日志主机(loghost)和日志文件(logfile)方向,如果要输出到别的方向(比如控制台、监视终端等)需要使用该命令配置
1.4 配置SNMP Trap
Trap是Agent主动向NMS发送的信息,用于报告一些紧急的重要事件(如被管理设备重新启动等)。Trap报文有两种:通用Trap和企业自定义Trap。设备支持的通用Trap包括authentication、coldstart、linkdown、linkup和warmstart五种,其它均为企业自定义Trap。企业自定义Trap由模块生成。因为Trap信息通常较多,会占用设备内存,从而影响设备性能,所以建议用户根据需要开启指定模块的Trap功能,生成相应的Trap报文。
开启Trap功能后,相应模块生成的Trap报文将被发送到设备的信息中心。信息中心有七个输出方向,缺省情况下,允许所有模块的所有Trap信息发往控制台(console)、监视终端(monitor)、日志主机(loghost)和日志文件(logfile);允许所有模块的高于等于warnings级别的Trap信息发往告警缓冲区(trapbuffer)和SNMP模块(snmpagent);日志缓冲区(logbuffer)方向不能发送Trap信息。可以根据各模块生成的Trap信息的级别设置信息中心参数,最终决定Trap报文的输出规则(即是否允许输出以及输出方向)。有关信息中心的配置请参见“信息中心配置”。
[HX-A]snmp-agent trap enable ? 缺省情况下,各模块的Trap功能处于开启状态
[HX-A]int g1/0/20 进入接口视图
[HX-A-GigabitEthernet1/0/20]enable snmp trap updown 缺省情况下,端口下端口状态变化的Trap功能处于开启状态
1.4.2 配置Trap报文发送参数
1. 配置准备
如果要将Trap发送给NMS,则需要进行以下配置准备:
完成SNMP基本配置(包括版本设置,如果使用SNMP v1和v2c版本需要设置团体名;如果使用SNMP v3版本需要设置用户名和MIB视图)。
设备与NMS建立连接,能够互相操作。
2. 配置过程
当Trap报文发送到SNMP模块后,SNMP模块将Trap报文存在消息队列里,用户可以设置该队列的长度、Trap报文在队列里的保存时间,也可以将报文发送给指定的目标主机(通常为NMS)等。
如果要将Trap信息发送给NMS,该步骤为必选,并将ip-address指定为NMS的IP地址
[HX-A]snmp-agent target-host trap address udp-domain 10.1.1.254 udp-port 22 params securityname 32
[HX-A]snmp-agent trap source ? 设置发送Trap报文中的源地址
[HX-A]snmp-agent trap if-mib link extended 对RFC定义的标准linkUp/linkDown Trap报文进行私有扩展
[HX-A]snmp-agent trap queue-size ? 设置Trap报文发送队列的长度
[HX-A]snmp-agent trap life 60 设置Trap报文的保存时间,缺省情况下,Trap报文的保存时间为120秒
1.5 SNMP显示和维护
在完成上述配置后,在任意视图下执行display命令,均可以显示配置后SNMP的运行情况,通过查看显示信息,来验证配置的效果。
[HX-A]display snmp-agent sys-info [ contact | location | version ]* 显示系统维护联络信息、系统位置信息及SNMP版本信息
[HX-A]display snmp-agent statistics 显示SNMP报文统计信息
[HX-A]display snmp-agent local-engineid 显示设备的SNMP实体引擎ID
[HX-A]display snmp-agent group 显示SNMP组信息
[HX-A]display snmp-agent trap queue 显示Trap消息队列的基本信息
[HX-A]display snmp-agent trap-list 显示系统当前可以发送Trap消息的模块及其Trap消息的使能状态
[HX-A]display snmp-agent usm-user ? 显示SNMP v3用户信息
[HX-A]display snmp-agent community ? 显示SNMP v1或SNMP v2c团体信息
[HX-A]display snmp-agent mib-view ? 显示MIB视图的信息
1.6 SNMP v1/v2c典型配置举例
1. 组网需求
NMS与Agent通过以太网相连,NMS的IP地址为1.1.1.2/24,Agent的IP地址为1.1.1.1/24。
NMS通过SNMP v1或者SNMP v2c对Agent进行监控管理,Agent在故障或者出错的时候能够主动向NMS报告情况。
2. 组网图
图1-3 配置SNMP v1/v2c组网图
[H3C]int GE1/0/1
[H3C-GigabitEthernet1/0/1]port link-mode route 二层接口改成三层接口
[H3C-GigabitEthernet1/0/1]ip address 1.1.1.1 24 配置IP地址和掩码
设置SNMP基本信息,包括版本、团体名。
[H3C]snmp-agent sys-info version v1 v2c
[H3C]snmp-agent community read public
[H3C]snmp-agent community write private
设置交换机的联系人和位置信息,以方便维护。
[H3C]snmp-agent sys-info contact Mr.zeng-tel:0813
[H3C]snmp-agent sys-info location telephone-closet,3rd-floor
允许向网管工作站(NMS)1.1.1.2/24发送Trap报文,使用的团体名为public。
[H3C]snmp-agent trap enable
[H3C]snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname public v1
snmp-agent target-host命令中的指定的版本必须和NMS上运行的SNMP版本一致,如果NMS上运行的是SNMP v2c版本,则需要将snmp-agent target-host命令中的版本参数设置为v2c。否则,网管站将收不到Trap信息。
(2) 配置NMS
在使用SNMP v1/v2c版本的NMS上需要设置“只读团体名”和“读写团体名”。另外,还要设置“超时”时间和“重试次数”。用户可利用网管系统完成对设备的查询和配置操作,查看上面配置命令。
1.7 SNMP v3典型配置举例
具体配置可以参考华三官网配置信息: