一、介绍

SNMP(Simple Network Management Protocol,简单网络管理协议)是目前使用最广 泛的网络管理协议,大量应用于以TCP/IP为基础的计算机网络。SNMP协议提供了一个在网络中两点之间交换管理信息的直接的、基本的方法。SNMP 采用轮询的消息查询机制,采用被广泛使用的面向无连接的传输层协议UDP来传输消息

SNMP协议:

  • SNMP v1简单、易实现,被众多厂家支持;
  • SNMPv2c对v1的功能进行了部分 修正和丰富,开始支持分层式的网管;
  • SNMPv3在安全性上做了极大的扩充,添加了USM (基于用户的安全模型)和VACM(基于视图的访问控制模型)子系统。

二、原理

SNMP协议采用管理站/代理模式,SNMP结构包括两个部分:

  • NMS 网络管理站 (Network Management Station),是运行支持 SNMP 协议的网管软件客户端程序的工作 站,在SNMP的网络管理中起核心作用。
  • Agent 代理,是运行在被管理网络设备上的服务 器端软件,直接管理被管对象。

NMS 利用通信手段,通过 Agent 代理来管理各被管对象。 (交换机具有Agent代理功能)。

SNMP的NMS和Agent之间通过标准消息进行通信,采取客户/服务器模式,由NMS 发出请求,Agent做出应答。SNMP共有7种消息类型:Get-Request  Get-Response  Get-Next-Request  Get-Bulk-Request  Set-Request  Trap/Inform-Request

Inform-Request主要用于 NMS之间进行通信,一般应用于分层式的网络管理。

NMS通过Get-Request、Get-Next-Request,Get-Bulk-Request 和 Set-Request 消息 来对Agent发出查询和设置管理变量的请求

Agent在收到请求后,用Get-Response消息 来对请求进行回复。在某些特殊情况下,如网络设备端口UP/DOWN、网络拓朴变化时候, Agent 会主动的向NMS发送Trap消息来通知NMS发生了异常事件。

NMS 可以访问的网管信息是经过精确的定义的,被完备的组织在一个管理信息数据库 中,即MIB。所谓MIB 管理信息库(Management Information Base),是对于通过网络管 理协议可以访问信息的精确定义。它使用一个层次化、结构化的形式,定义了可以从被监测 网络设备上获得的管理信息。

如果需要浏览Agent的MIB中的变量信息,需要在NMS上运行MIB浏览软件。Agent 上的MIB一般包括公有MIB和私有MIB两部分,公有MIB内定义的是公开的,所有NMS 都可以访问的网络管理信息,私有MIB 内定义的是各设备特有的属性信息,需要设备厂商 的支持才可以浏览和控制。

交换机可以做为SNMP Agent,支持SNMPv1/v2c和SNMPv3。本交换机支持基本 的MIB-II、RMON公有MIB,还支持BRIDGE MIB等相关公有MIB,同时支持自定义的私 有MIB

NMS还可以 通过设置RMON功能,自行对一些情况设置警报当设定的警报事件触发后Agent将根 据设置发送Trap或记录Log

RMON是一套MIB定义,其作用 是定义标准的网络监视功能和接口,使基于SNMP的管理终端和远程监视器之间能够通信。 RMON提供了一种有效并且高效的方法来监视子网范围内的行为。

三、SNMP配置示例

管理站(NMS)的IP地址是1.1.1.5;交换机(Agent)的IP地址是1.1.1.9。

例1:管理站的网管软件使用SNMP协议从交换机获取数据。

配置步骤如下:

Switch(config)#snmp-server enable 
打开交换机作为SNMP代理服务器功能

Switch(config)#snmp-server community rw private 
Switch(config)#snmp-server community ro public 
设置交换机的团体字符串;
管理站可以使用private作为团体字符串对交换机进行可读写的访问
也可以使用public 作为团体字符串对交换机进行只读的访问。

Switch(config)#snmp-server securityip enable
打开/关闭NMS管理站的安全IP地址检查功能。

Switch(config)#snmp-server securityip 1.1.1.5
设置允许访问本交换机的NMS管理站的安全IPv4

例2:管理站要接收来自交换机的v1 Trap消息(注:管理站可能设置了对Trap的团体 字符串的验证,那么此例假设管理站的Trap验证团体字符串为usertrap)。

配置步骤如下:

Switch(config)#snmp-server enable 
Switch(config)#snmp-server host 1.1.1.5 v1 usertrap 
设置接收 SNMP 的 Trap 消息的网络管理站IPv4 ,v1中的Trap团体字符串
Switch(config)#snmp-server enable traps
设置允许设备发送Trap消息,用于v1/v2c/v3。

例3:管理站的网管软件使用SNMP v3协议从交换机获取数据

配置步骤如下:

Switch(config)#snmp-server enable 
Switch(config)#snmp-server user tester UserGroup authPriv auth md5 hellotst  
为一个SNMP的组添加一个新用户,完成USM配置,用于v3。 

Switch(config)#snmp-server group UserGroup AuthPriv read max write max notify max 
设置交换机的组信息,完成VACM配置,用于v3。

Switch(config)#snmp-server view max 1 include
设置交换机的视图信息,用于v3。 

例4:管理站要接收来自交换机的v3Trap消息。

配置步骤如下:

Switch(config)#snmp-server enable 
Switch(config)#snmp-server host 10.1.1.2 v3 authpriv tester 
Switch(config)#snmp-server enable traps

例 5: 管理站(NMS)的 IPv6 地址是 2004:1:2:3::2, 交换机(Agent)的 IPv6 地址是 2004:1:2:3::1。管理站的网管软件使用SNMP协议从交换机获取数据。

交换机端的配置如下:

Switch(config)#snmp-server enable 
Switch(config)#snmp-server community rw private 
Switch(config)#snmp-server community ro public 
Switch(config)#snmp-server securityip 2004:1:2:3::2

管理站就可以使用private 作为团体字符串对交换机进行可读写的访问,也可以使用 public 作为团体字符串对交换机进行只读的访问。

例6: 管理站要接收来自交换机的Trap消息(注:管理站可能设置了对Trap的团体字符 串的验证,那么此例假设管理站的Trap验证团体字符串为usertrap)

交换机端的配置如下:

Switch(config)#snmp-server host 2004:1:2:3::2 v1 usertrap 
Switch(config)#snmp-server enable traps

注意:

  1. 物理连接正确
  2. 保证接口和链路协议是UP(使用show interface 命令),保证交换机和主 机能互相ping通(使用ping命令)
  3. 交换机打开了SNMP Agent服务器功能(使用snmp-server enable 命令)
  4. 为NMS配置安全IP(使用snmp-server securityip命令)和团体字符 串(使用snmp-server community 命令)正确,只要有一个错误SNMP将不 能正确和NMS通信;
  5. 使用Trap功能,务必打开Trap功能(使用snmp-server enable traps命 令),为了保证Trap能发送到指定的主机,需要正确配置Trap的目标主机的IP 和团体字符串(使用snmp-server host命令);
  6. 如果使用RMON功能,必须首先打开RMON(使用rmon enable命令);
  7. show snmp  查看SNMP 收发包的统计信息
  8. show snmp status 查看SNMP的配置信息
  9. debug snmp packet 打开SNMP的调试开关,查看调试信息
  10. snmp-server engineid设置交换机的本地引擎号,用于v3。
  11. snmp-server trap-source设置本交换机发送 trap 时所使用源 IPv4 或 IPv6 地址
  12. switchport updown notification enable开启或者关闭端口 UP/DOWN 事件发送 trap 信息的功能。
  13. snmp-server host设置接收 SNMP 的 Trap 消息的网络管理站 IPv4 或者IPv6 地址,v1/v2c 中的Trap团体字 符串,v3中的用户名和安全级别

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐