SNMP(SimpleNetwork Management Protocol,简单网络管理协议),基于TCP/IP工作,能对企业网络中支持SNMP功能的设备进行集中网络管理。这些设备包括服务器、工作站、路由器、交换机、PIX防火墙、ASA、入侵检测与防御设备等),它是一种开放的、标准的应用层协议。SNMP使网络管理员能够更有效的管理企业网络,包括:集中监控网络服务器及各种网络设备的CPU、内存、接口状态等实时信息。发现并解决网络问题及规划网络增长。通过SNMP接收随机消息(及事件报告),使得网络管理系统获知网络出现问题。
SNMP网络管理的组件:
SNMP 管理的网络由3个主要部分组成:被管理设备、代理和网络管理系统。
被管理设备:通常有一个基本的网络通信点,可以是路由器、服务器、交换机和网桥、主机网络打印机、防火墙等。被管理设备有时被称为网络单元。
SNMP代理:是被管理设备上的一个网络管理软件模功能块,通常被集成到被管理的网络设备上。SNMP 代理拥有本地的相关管理信息,并将它们转换成SNMP 兼容的格式消息,发送给网络管理平台。
NMS(网络管理系统):运行基于SNMP的网络管理应用程序以实现监控被管理的网络设备,也就是SNMP管理的服务端。任何受SNMP管理的网络至少需要一个或多个网络管理系统,整个SNMP的网络管理构建如图9.88所示。
关于思科网络设备支持SNMP的版本:
SNMPv1:SNMPv1是最早的SNMP定义,其所有的PDU有相同的格式,相对简单,但存在严重的安全问题、一般不建议使用。
SNMPv2:与SNMPv1相比较,在MIB的定义上有所增强,在安全性上有所增强,事实上整体报文结构的定义也有很大的区别。如存在基于共同体的v2c、思科的网络设备就支持SNMPv2c,在SNMPv2中还存在基于用户的v2u,但无论是v2的什么版本,始终不变的是PDU报文格式。
SNMPv3:v3成功地解决了v2存在多种变体的问题,并在SNMP报文首部标识出了处理安全性事务的专用字段,每种SNMPv3的安全性模型可以裁剪安全性字段,v3具备更高的安全性与灵活性,但是很多厂商现在不支持这个版本。
理解SNMP的报文格式:
如图9.89所示。
版本识别符(VersionIdentifier):确保SNMP代理使用相同的协议版本。每个SNMP代理都会丢弃与自己协议版本不同的数据报文。
团体名(CommunityName):用于SNMP代理与SNMP管理站之间进行认证。如果被管理设备与SNMP网络管理系统之间协同工作,那么要求它们的团体名称必须一致。在默认情况下,“private”与“public”为SNMP的团体名,“private”表示SNMP管理站可对SNMP代理(被管理设备)执行写操作,具备安全风险,如果不是必须,请小心使用。“public”表示SNMP管理站可对SNMP代理(被管理设备)执行只读操作。
协议数据单元(PDU):PDU指明了SNMP的消息类型及其相关参数。注意,PDU消息是SNMP代理(被管理设备)发出的真实消息,如图9.90所示。
注意:SNMP数据报文与PDU之间的区别。SNMP报文与SNMP的PDU报文,严格地说不是一回事。PDU是被管理设备之间通信的真实消息,它和大量用于携带标识和安全性字段一起被嵌入到SNMP整体报文中,因此,一般我们将SNMP的报文表达成SNMP报文首部与PDU消息体。
哪些网络设备可以被执行SNMP的网络管理?为什么可以精确到设备上的每个部件或功能?
只要集成了SNMP管理信息库和SNMP代理的设备都可以被执行SNMP管理。管理信息库(Management Information Base,MIB)是执行SNMP网络管理的标准,在MIB库里面认定了网络代理设备必须保存的数据项目、数据类型及允许在每个数据项目中的操作。通过对这些数据项目的存取访问,就可以得到该网络设备的所有内容。在MIB中定义了可以访问的网络设备及其功能属性,网络设备的每个特性由对象识别符(Object Identifier,OID)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。换而言之,一个可被SNMP执行管理的网络设备的那些功能和特性能被管理,是由MIB所定义的。MIB的树形结构如图9.91所示。
实例:理解SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备OID,如图9.91所示,OID 1.3.6.1.4.1.9.1.323的意义是什么?
分析:1代表ISO组织标准;3代表org;6表示美国国防部;1表示Internet;4表示私有定义;1表示企业标准;9表示思科公司;1.323表示交换机2950上运行的标准镜像系统。NMS平台正是使用这样的方式获得思科交换机2950的相关信息的。
演示目标:配置思科设备上的SNMP功能,使其支持网络管理。
演示环境:如图9.92所示。
演示工具:为了让整个实验的效果更真实,在该演示环境中,将使用一套第三方的NMS管理系统,以方便作SNMP管理的效果评估,网络管理软件(AdventNet_ManageEngineOpManager 6.0 中文版),类似于这样的网络管理平台系统,在Internet上免费共享软件很多,注意,这NMS平台的使用不是我们认证要求的重点,要点是在思科的网络设备配置SNMP功能。
演示背景:在如图9.92所示的网络环境中完成基本配置,完成服务器的IP地址配置,激活交换机或路由器的相关接口,为基于SNMP的网络管理做准备工作。
演示步骤:
第一步:配置网络设备以支持SNMP的网络管理。interface Vlan1指示进入交换机的管理接口VLAN 1;ip address 192.168.240.1255.255.255.0表示为VLAN 1的管理接口输入IP地址与子网掩码;snmp-server community ccna ro 指示为交换机S1可被执行SNMP管理配置团体字符串“ccna”,并且以ro(只读)方式管理该交换机;snmp-server host192.168.240.200 version 2c ccna指示交换机S1将SNMP的消息发送到网络管理平台主机192.168.240.200,其中,“version 2c”表示有SNMP版本2,“ccna”表示SNMP的团体字符串,该字符串必须与图9.13中所输入的团体字符串一致,否则SNMP无法完成网络管理。在路由器R1的SNMP配置与交换机S1基本相同,这里不再重述。
在交换机S1上支持SNMP功能的配置:
S1(config)# interface Vlan1
S1(config)# ip address 192.168.240.1255.255.255.0
S1(config)# snmp-server community ccna ro
S1(config)# snmp-server host192.168.240.200 version 2c ccna
路由器R1上支持SNMP功能配置:
r1(config)# interface e1/0
r1(config)# ip address 192.168.240.253255.255.255.0
r1(config)# snmp-server community ccna ro
r1(config)# snmp-server host192.168.240.200 version 2c ccna
第二步:配置Windows 2003的服务器支持SNMP管理。基于微软Windows 2003的操作系统支持SNMP代理功能,但没有集成SNMP网络管理平台功能,换言之,Windows 2003能支持SNMP管理,但是不具备NMS的功能。在默认情况下,Windows操作系统没有安装SNMP协议,需要管理员通过“开始”→“控制面板”→“添加/删除程序”→“添加/删除Windows组件”→“管理和监视工具”命令,如图9.93所示,选择“简单网络管理协议(SNMP)”复选框,可完成SNMP的安装。完成安装后,在Windows操作系统的“服务”选项中可打开如图9.94所示的“SNMP Service的属性”对话框,确保该服务已被成功启动。在“SNMP Service的属性”对话框中选择“陷阱”选项卡,如图9.95所示,配置团体名称为“ccna”,该团体名称必须与NMS管理平台设备的团体名称一致。设置陷阱的目标主机为NMS管理平台的IP地址192.168.240.200,然后再选择“安全”选项卡,如图9.96所示,设置“发送身份验证陷阱”复选框的团体字符串为“ccna”,权限为“只读”,设置只接受来自网络管理平台192.168.240.200所发出的SNMP消息。
注意:下一个步骤是配置SNMP的服务端,也就是NMS平台,注意因为SNMP的服务端软件的用户订制环境不同,配置界面也有很大的区别,由于这不是CCNA认证课程的核心,所以在下一个配置步骤中笔者只是演示当时他所使用的SNMP服务端,而这个配置是不具备通用性的。笔者使用的是AdventNet_ManageEngine OpManager 6.0的SNMP服务端软件。
第三步:在网络管理主机(192.168.240.200)上根据AdventNet_ManageEngineOpManager 6.0 中文版的安装向导完成网络管理平台的安装与基本配置。安装完成后的启动界面如图9.97所示,提示要求输入用户名与密码,默认的用户名是admin、密码是admin。登录成功后出现如图9.98所示的网络管理平台的整体界面。
第四步:配置AdventNet ManageEngine OpManager 6.0,执行SNMP网络管理的基本参数,在第一次启动该网络管理系统时会出现配置向导对话框,用户可根据配置向导来完成对网络管理系统的配置和自动发现需要执行网络管理的子网。也可以在“管理”选项卡中选择“SNMP参数”选项进行手工配置,如图9.99所示。在出现如图9.100所示的对话框中,输入SNMP的“共同体字串”为“ccna”,单击“更新”按钮。注意,此时的共同体字符串必须与SNMP代理(被执行SNMP管理的设备)上的共同体字符串一致,否则SNMP管理将失败。
第五步:在AdventNet_ManageEngine OpManager 6.0的管理平台上添加SNMP管理设备。以添加交换机S1(192.168.240.1)为目标,在“管理”选项卡中选择“添加设备”选项,出现如图9.101所示的界面,输入被管理设备的IP地址、子网掩码与共同体字串。
第六步:到此为止,已完成了所有SNMP代理(被管理设备)、SNMP的管理平台NMS的基本配置,现在需要验证使用SNMP执行网络管理的情况。在基于SNMP的网络管理平台(192.168.240.200)上可见如图9.102所示的界面,对交换机S1(192.168.240.1)的SNMP监控结果、NMS成功地识别出了交换机的厂商与型号及IOS的版本等相关重要信息。如图9.103所示为NMS对服务器的监控显示,成功地发现了服务器的厂商、操作系统的名称与版本,以及对CPU、内存、硬盘的实时监控情况。
第七步:取证与分析SNMP数据帧,加强对SNMP的理解。在被管理服务器(192.168.240.2)上启动网络协议分析器,然后启动数据帧捕获功能,再切换到NMS网络管理平台选择对服务器(192.168.240.2)的对话框,单击“状态更新”按钮。在被管理服务器(192.168.240.2)上停止数据帧捕获,并查看分析捕获的数据帧,如图9.104所示,可证实该数据帧是NMS网络管理平台(192.168.240.200)发向被管理服务器(192.168.240.2)的SNMP Get request的状态请求帧。特别需要注意理解的是,该帧请求了一个OID对象,OID的序列号是1.3.6.1.2.1.1.1,这表示什么?
可以通过查寻如图9.105所示的MIB树形结构得知:意义为ios(1)定义下的org(3)组织下dod(6)美国国防部下定义的internet(1)下定义的mgmt(2)下的mib(1)中定义的系统system(1)中定义的系统描述sysDescr(1)。所以OID:1.3.6.1.2.1.1.1表示获取一个系统描述信息。
此时被管理服务器(192.168.240.2)会把如图9.106所示的SNMP Response数据帧发送给NMS网络管理平台,响应OID:1.3.6.1.2.1.1.1系统描述请求为Windows version 5.2(Windows 2003)的版本。
本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1341148,如需转载请自行联系原作者