一、SNMP原理

SNMP是广泛应用于TCP/IP网络的网络管理标准协议。网管系统可以通过SNMP协议对网络设备(包括交换机、路由器、防火墙等)进行监测和管理。

SNMP是被广泛接受并投入使用的工业标准,用于保证管理信息在任意两点间传送,便于网络管理员在网络上的任何节点检索信息、修改信息、寻找故障、完成故障诊断、进行容量规划和生成报告。SNMP采用轮询机制,只提供最基本的功能集,特别适合在小型、快速和低价格的环境中使用。SNMP的实现基于连接的传输层协议UDP,得到众多产品的支持。

SNMP分为NMS和Agent两部分,NMS(Network Management Station),是运行客户端程序的工作站,目前常用的网管平台有Sun NetManager和IBM NetView;Agent是运行在网络设备上的服务器端软件。

NMS可以向Agent发出GetRequest、GetNextRequest和SetRequest报文,Agent接收到NMS的请求报文后,根据报文类型进行Read或 Write操作,生成Response报文,并将报文返回给NMS。Agent在设备发现重新启动等异常情况时,也会主动向NMS发送Trap报文,向NMS汇报所发生的事件。

SNMP网络架构:

java读取交换机snmp 查看交换机snmp_java读取交换机snmp

如上图所示,SNMP网络的组成包括网管、被纳管设备、中间网络,这几部分都有可能导致网管与被纳管设备之间的SNMP交互异常。

SNMP版本及支持的MIB:

为了在SNMP报文中唯一标识设备中的管理变量,SNMP用层次结构命名方案来识别管理对象。用层次结构命名的管理对象的集合就象一棵树,树的节点表示管理对象,如下图所示。管理对象可以用从根开始的一条路径别无二义地识别。

MIB(Management Information Base)的作用就是用来描述树的层次结构,它是所监控网络设备的标准变量定义的集合。在上图中,管理对象B可以用一串数字{1.2.1.1}唯一确定,这串数字是管理对象的Object Identifier(客体标识符)。

以太网交换机中的SNMP Agent支持SNMP V1、V2C和V3,支持的常见MIB如下表所示。

以太网交换机支持的常见MIB:

java读取交换机snmp 查看交换机snmp_java读取交换机snmp_02

二、配置SNMP流程

SNMP的主要配置包括:

1. 设置团体名;

2. 设置sysContact;

3. 允许或禁止发送Trap;

4. 设置Trap目标主机的地址;

5. 设置sysLocation;

6. 配置本地或远端设备的名字;

7. 配置一个SNMP的组;

8. 指定发送Trap的源地址;

9. 为一个SNMP的组添加一个新用户;

10. 创建或者更新视图的信息;

11. 设置Agent能接收/发送的SNMP消息包的大小。

开启SNMP:

1.通过telnet登录交换机或者去机房插console线。

配置交换机的读团体名和写团体名为"public"。

snmp-agent
/设置读团体名∶public/
snmp-agent community read public
/设置写团体名∶private/
snmp-agent community write private

2.配置SNMP版本(all是所有版本)。

snmp-agent sys-info version all
/设置联系方式/
snmp-agent sys-info contact MR.LI-tel:8002
/设置设备位置/
snmp-agent sys-info location 3rd-flood

3.允许向网管工作站(NMS)192.168.1.1发送Trap报文,使用的团体名为public。

snmp-agent target-host trap address udp-domain 172.16.149.253 params securityname public

至此,我们就设置完成了。

交换机的SNMP协议开启之后,你就可以通过简单网管协议对交换机进行远程设置了。

交换机snmp配置注意事项:

snmp-agent protocol source-status all-interface
#上述代码需要使能,否则远端无法访问此snmp配置,此配置意思为开启监听来源口

关闭SNMP:

1.启动SNMP-agent服务:

snmp-agent 
undo snmp-agent

2.设置"public"团体名具有只读权限:

snmp-agent community read public
undo snmp-agent community read public

3.设置"private"团体名具有读写权限:

snmp-agent community write private 
undo snmp-agent community write private

4.设置管理员的联系方式(联系方式改成自己的):

snmp-agent sys-info contact MRZHANG.133333333333 
undo snmp-agent sys-info contact MRZHANG.1333333333335

5.设置安全网关(网络设备)具体位置;//位置改成自己的:

snmp-agent sys-info location HWBJ
undo snmp-agent sys-info location HWBJ

6.SNMP的版本支持:

snmp-agent sys-info version v1 v3(默认只支持V3,这里可以选择同时支持V1和V3)
undo snmp-agent sys-info version vl v3

7.192.168.0.1【TRAP报文的目的地址,也就是NMS计算机IP,就是装PRTG的那台)"161"TRAP报文的通信端口号;使用的团体名为"public";//(IP改成自己的,端口号不需要换)】

snmp-agent target-host trap address udp-domain 192.168.0.1 udp-port 161 params securityname public
undo snmp-agent target-host 192.168.0.1 securityname public

SNMP配置案例:

网管工作站(NMS)与以太网交换机通过以太网相连,网管工作站IP地址为129.102.149.23,以太网交换机的VLAN接口IP地址为129.102.0.1。在交换机上进行如下配置:设置团体名和访问权限、管理员标识、联系方法以及交换机的位置信息、允许交换机发送Trap消息。

java读取交换机snmp 查看交换机snmp_java读取交换机snmp_03

配置步骤:

# 进入系统视图
<Quidway>system-view
# 设置团体、群组和用户:
[Quidway] snmp-agent sys-info version all
[Quidway] snmp-agent community write public
[Quidway] snmp-agent mib include internet 1.3.6.1
[Quidway] snmp-agent group v3 managev3group write internet
[Quidway] snmp-agent usm v3 managev3user managev3group 
# 设置网管使用的VLAN接口为VLAN 2接口,将用于网管的端口Ethernet2/1/3加入到VLAN2中,配置VLAN2的接口IP地址129.102.0.1。
[Quidway] vlan 2
[Quidway-vlan2] port ethernet 2/1/3
[Quidway-vlan2] interface vlan 2
[Quidway-Vlan-interface2] ip address 129.102.0.1 255.255.255.0
# 允许向网管工作站(NMS)129.102.149.23发送Trap报文,使用的团体名为public。
[Quidway] snmp-agent trap enable standard authentication
[Quidway] snmp-agent trap enable standard coldstart
[Quidway] snmp-agent trap enable standard linkup
[Quidway] snmp-agent trap enable standard linkdown
[Quidway] snmp-agent target-host trap address udp-domain 129.102.149.23 udp-port 5000 params securityname public

配置NMS:

网管所在的PC机需要进行登录设置。对于Mib-Browser,登陆设置为:SNMPV1、V2使用缺省的团体名public登录,SNMPV3使用用户managev3user登陆。