路由器拒绝时差
排查了很多可疑之处都没有找到问题的根源,而且正常工作时,网络速度还是很正常的,下载速度也很理想,下班后所有员工的计算机都关了,没有人私自开机进行下载。笔者怀疑问题出在流量检测软件MRTG上,对MRTG重新进行初始化并配置相关参数,结果问题依旧。
经过一番折腾后,笔者发现原来是核心路由器上的时间设置有误,造成流量检测软件的流量图出现异常。进入路由器使用“sh calendar”命令显示日期和时间,并通过“calendar set 11:19:00 17 dec 2004”命令将时间和日期设置为当前的“2004年12月17日11点19分00秒”,只有把当前时间设置正确,MRTG流量检测软件才能显示出正确的流量信息。这样设置之后,流量图才变得与实际相符合。
总结:大家在遇到网络故障的时候,应该注意保证时间、日期设置的正确性,避免产生类似的监控软件出现时间错误的问题。
流量监控全攻略(上)——使用MRTG监控路由、交换设备
一名真正合格的网管所做的工作不应该仅仅局限在网络故障发生后,亡羊补牢的工作虽然不算迟,但损失的产生是不可避免的。那么,如何有效地监视网络状态,能在第一时间发现网络故障,在网络还没出现问题时进行预防,并合理地划分带宽资源呢?对网络流量进行监控就可以有效地解决以上难题。现在笔者要为大家介绍的就是网络流量监控领域的行家——MRTG。
本期,笔者向大家介绍如何通过MRTG对路由器或三层交换机进行监控。MRTG会利用SNMP协议(简单网络管理协议)监控、管理通过路由、交换设备的各个端口的流量。当然,笔者还会指导大家安装MRTG并在设备上启用SNMP协议以支持MRTG。
小知识:流量监控
大家都知道数据包形成数据流,就好比水流一样,所以我们对带宽采用流量这个名词来定义,及时了解网络流量对于排除网络故障能够起到很大的作用。很多公司都拥有路由、交换设备,这些设备担负着实现公司网络连接的重任,所以,了解通过路由、交换设备的各个端口的流量是非常重要的,只有对流量进行监控才能有效地管理网络带宽,提高企业网络的工作效率。
MRTG小档案:
软件大小:1558 KB
软件类型:免费软件
运行平台:Window 98/NT/2000/XP/2003
下载地址:http://www2.pcdog.com/down4/mrtg-2.10.0pre7.zip
安装MRTG
不管我们要对何种设备进行监控,都需要找到一台操作系统为Windows 2000的计算机(计算机A),并为它安装MRTG,用来接收数据流量。在Windows系统上安装MRTG需要Perl的支持,所以我们需要先安装Perl插件。此外,由于数据流量将以网页的形式体现出来,所以需要在计算机A上安装IIS服务(由于篇幅限制,IIS的安装就不作介绍了)。
Step1:Perl的安装比较简单,目前使用的一般是Active Perl for Windows,我们可以到http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.0.80 5-MSWin32-x86.msi下载。
Step2:进行安装时,如果遇到“是否使用PPM3发送个人信息至ASPN”,我们可以跳过。在安装完毕后重新启动计算机即可让Perl生效。
Step3:安装MRTG程序。由于MRTG是一个用Perl编写的程序,所以不需要安装,下载后直接解压即可。我们将它解压到“C:\mrtg”目录。现在我们就完成了安装工作。
小知识:Perl
和很多用JAVA编写的程序在使用时需要安装JDK一样,MRTG需要Perl程序的支持,所以在使用MRTG之前一定要在计算机A上安装Perl。Perl和JAVA一样也是一种语言,不过Perl主要在Linux和UNIX系统下使用,由于本例是在Windows下安装MRTG,而默认情况下Perl组件没有安装在Windows操作系统中,所以我们需要为计算机A安装相应的Perl语言库,就如同我们运行VB程序有时需要安装VB语言库一样。
监控Cisco设备
虽然我们在计算机A上安装了MRTG,但被监控的设备没有启用SNMP协议而且没有配置接受SNMP的目的地址,因此我们还需要在被监控设备上进行相应的配置。现在,让我们来看看如何使用计算机A监视通过Cisco 6509交换机各个端口的流量,以便数据发生异常时即时采取防护措施。
Cisco的高端产品6509交换机作为被监视设备,端口IP地址为10.91.30.1。选择安装了MRTG的计算机(计算机A)作为监视设备,IP地址为10.91.30.45。
小知识:SNMP
SNMP也叫简单网络管理协议,它用于记录网络流量信息,不管是网管软件还是流量监控软件都需要SNMP协议的支持。由于本例需要监控通过路由、交换设备各个端口的流量,所以需要在路由、交换设备上启用SNMP协议,并指定接收SNMP记录信息的目的地址。通过这些设置,路由、交换设备就可以对通过端口的数据信息进行记录并发送到指定的目的地。
1.Cisco 6509上的配置
下面我们需要进入6509将SNMP协议启动并指定数据接收目的地。
Step1:进入计算机A的命令提示符窗口,输入“telnet 10.91.30.1”登录6509设备。
Step2:输入正确的密码后,进入6509配置模式,接着输入以下指令。
snmp-server community softer RO
\\设置SNMP的团体名为softer。
snmp-server trap-source FastEthernet0/1
\\以Fa0/1端口为监控源,如果不输入此行,将以设备自身的ROUTER ID作为监控源。
snmp-server contact softer@163.com
\\设置管理者的邮箱地址。
snmp-server host 10.91.30.45 softer
\\设置管理机的IP地址为10.91.30.45(计算机A的IP地址),并设置团体名(softer)。
snmp-server enable traps
\\启动监控。
Step3:保存设置并退出后即可完成在6509设备上的所有配置。
2.计算机A上的配置
现在我们就需要在计算机A上设置MRTG让它接收6509交换机的SNMP信息,并将这些信息制作成网页的形式进行发布。在计算机A上配置好IIS的发布目录并正确安装Perl和MRTG程序后,重新启动计算机并进行如下操作。
Step1:打开计算机A的命令提示符窗口,然后进入C:\mrtg\bin目录。
Step2:输入“perl cfgmaker softer@10.91.30.1 --global "WorkDir: c:\www\ mrtg" --output mrtg.cfg”。其中,“softer”是团体名,“10.91.30.1”是6509设备上的端口IP地址。
Step3:输入“perl indexmaker mrtg.cfg>c:\wwwroot\mrtg\index.htm”后即可生成index.htm文件。
Step4:输入“perl mrtg -logging=mrtg.log mrtg.cfg”启动MRTG进行监控。从“mrtg.cfg”中读取配置并启动MRTG程序,同时记录日志信息到“mrtg.log”中。
完成以上设置工作后,我们就可以通过浏览器访问“10.91.30.45”,查看通过6509的各个端口的流量。如果你希望每5分钟刷新一次流量统计,则可以用记事本编辑“mrtg.cfg”,在最后加上“runasdaemon:yes”和“interval:5”(interval后的5表示每5分钟刷新一次,可根据实际情况进行修改)。
提示:在访问10.91.30.45查看流量时,一定要注意输入的地址应和IIS中配置的地址一致,同时还要注意虚拟目录的问题,只有输入正确的地址才能正常显示流量图。
监控华为设备
对于华为设备的监控基本上和对Cisco设备进行监控一样,只是在路由器配置命令上有些区别,而计算机A的配置步骤是一样的。在此,笔者只给出在华为2621上启用SNMP协议并指定数据接收目的地的指令。
snmp-agent community read softer
\\设置团体名为softer,属性为只读。
snmp-agent sys-info contact softer@163.com
\\设置管理者的邮箱地址。
snmp-agent target-host trap address 10.91.30.45 securityname softer
\\设置管理机的IP地址为10.91.30. 45,而且“securityname”(即团体名)要与上面的设置一致。
snmp trap enable
\\启动监控。
监控效果
如图所示,大家可以从图中看到我们对核心设备6509实施的“24×7”小时的流量监控,该软件对所有已经使用的端口(即连有客户机的端口)都进行了实时监控,并绘制出了准确的图表,非常直观。如果想看到更多的分时、分段的图表,还可以直接点击流量图进一步查看。另外,我们还可利用网页制作工具对生成的网页进行修饰、编辑,制作出美观大方的专业的流量监视控制台。
通过在路由器或交换机上配置MRTG我们可以直观地了解网络中各个部分的带宽使用情况,第一时间发现异常情况,有效防范黑客和病毒的攻击。同时,还可以根据各个端口使用带宽的情况对网络带宽进行合理划分。
退出路由、交换设备的正确方法 近日,笔者在对公司的路由器、交换机进行调试的时候,发现了一个奇怪的现象,那就是工作正常的Cisco 6509忽然不能用远程Telnet管理了,显示的信息是连接已关闭。
笔者只好到中心机房使用CONSOLE线连接路由器,发现使用CONSOLE控制台可以正常登录到Cisco 6509上。随后,笔者使用“sh user”命令查到原来是Telnet的连接线程太多,超出了规定的同时连接数以致无法建立新的Telnet连接。笔者马上使用“clear line vty 连接号”命令(连接号为0到5的数字)清除Telnet连接,在执行了6条清除连接命令后就清除了所有的Telnet连接,现在就可以正常地使用Telnet命令远程管理路由器了。
谁知好景不长,没过几天,Cisco 6509又不能使用Telnet进行登录了,而且还是因为连接线程数量太多。经过反复测试,笔者发现造成这个故障的原因是管理员远程登录Cisco 6509后,在退出时没有使用正常的退出命令“exit”,而是直接点击管理窗口右上方的关闭按钮,这就造成当前用户实际上仍然没有从路由器中退出,在路由器中,连接没有真正断开。时间一长,当Telnet的连接数量超过路由器配置的最大连接数时,就会产生无法用Telnet进行登录的故障。
由此可见,大家在退出路由器或交换机的时候,一定要使用正确的退出命令“exit”,而不能直接点击“关闭”按钮。