1. SNMP技术原理
SNMP的结构包括网管站NMS(Network Management Station)和Agent两部分。SNMP协议是规定NMS和Agent之间如何传递管理信息的应用层协议(UDP协议,使用162端口)。
2. SNMP版本
SNMPv1:方便实现,安全性弱。
SNMPv1定义五种协议操作:
1. Get-Request:NMS从代理进程的MIB中提取一个或多个参数值。
2. Get-Next-Request:NMS从代理进程的MIB中按照字典式排序提取下一个参数值。
3. Set-Request:NMS设置代理进程MIB中的一个或多个参数值。
4. Response:代理进程返回一个或多个参数值。它是前三种操作的响应操作。
5. Trap:代理进程主动向NMS发送报文,告知设备上发生的紧急或重要事件。
SNMPv2:有一定的安全性,现在应用也最广泛。
SNMPv2c新增了2种协议操作:
1. GetBulk
相当于连续执行多次GetNext操作。在NMS上可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数。
2. Inform
被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管设备没有收到确认信息,则会将告警暂时保存在Inform缓存中,并且会重复发送该告警,直到NMS确认收到了该告警或者发送次数已经达到了最大重传次数。
SNMPv3:定义一种管理框架,引入USM(User Security Model 用户的安全模型),为用户提供安全的访问机制。
SNMPv3的实现原理基本和SNMPv1/SNMPv2一致,主要区别是SNMPv3增加了身份验证和加密处理。
1. NMS向Agent发送不带安全参数的Get请求报文,向Agent获取安全参数等信息。
2. Agent响应NMS的请求,向NMS反馈所请求的参数。
3. NMS向Agent发送带安全参数的Get请求报文。
4. Agent对NMS发送的请求消息进行验证,认证通过后对消息进行解密,解密成功后,向NMS发送加密的响应。
3. Agent
运行在被管理设备上的代理进程。被管理设备在接收到网管设备侧NMS发出的请求后,由Agent作出响应操作。主要功能包括:收集设备状态信息、实现NMS对设备的远程操作、向网络管理人员端发出告警信息。
4. MIB
是一个虚拟的数据库,是在被管理设备端维护设备的状态信息采集。Agent通过查找MIB来收集设备状态信息。MIB按照层次式树形结构组织来管理对象,并使用ASN.1格式进行描述。网管中被管资源,而网络管理中的资源是以对象来表示,每一个对象表示被管资源某一方面的属性,这些对象的集合形成管理信息库。
5. SNMP配置命令
#启动SNMP Agent服务,缺省情况下,未开启SNMP Agent功能。
[Router]snmp-agent
#配置SNMP的版本信息为SNMPv2c
[Router]snmp-agent sys-info version v2c
#如果设备故障,设备维护人员可以利用系统维护联系信息,及时与设备生产厂商取得联系
[Router]snmp-agent sys-info contact 18899966666
#配置管理节点的物理位置
[Router]snmp-agent sys-info location Beijing
6. SNMP-agent community命令用来配置SNMPv1、SNMPv2c的读写团体名
snmp-agent community {read | write} {community-name | cipher community-name} [mib-view view-name | acl {acl-number | acl-name} | alias alias-name]
使用read参数,希望网管在指定视图下具有只读权限,例如低级管理员。
使用write参数,希望网管在指定试图下具有读写权限,例如高级管理员。
使用mib-view view-name(可以省略)参数,希望使用该团体名的网管,都能拥有视图Viewdefault权限。
[Router]snmp-agent community read public mib-view iso-view
例如,通过配置设备的读写团体名,并通过选择是否配置mib-view view-name或acl acl-name,限制网管对设备的访问权限。
[Router]snmp-agent community write private mib-view iso-view
用来创建MIB视图,表示该MIB视图包括该MIB子树
[Router]snmp-agent mib-view iso-view include iso
当需要配置发送trap报文的协议版本,对发送的trap报文是否进行加密参数时,配置trap报文的发送参数信息。
[Router]snmp-agent target-host trap-paramsname trapnms v2c securityname adminnms
设置trap报文目的的主机IP地址,设备的trap报文将发送到此IP对应的主机上
[Router]snmp-agent target-host trap-hostname nms address 172.16.10.10 trap-paramsname Trapnms
用户希望一次性打开所有模块的告警开关
[Router]snmp-agent trap enable
指定发送Trap的源接口,建议使用本地的Loopback接口,因为Loopback接口比较稳定。
[Router]snmp-agent trap source E0/0/0