身为网络管理员经验是非常重要的,我们遇到的故障越多解决的问题越多,自身的阅历才能更加丰富。因此每当我在实际工作中遇到问题时都会尽力到网上寻求解决方案,力求搞定每一个疑难杂症。近日翻看网络维护笔记发现了三个网络故障排除实例,写出来和各位读者分享。
故障一:本地路由引起的网络故障
大家都知道在路由器和三层交换机上配置路由时一定要仔细,IP地址和子网掩码都不能有一点差错。在最近一次网络调试中笔者发现本机的路由也要合理设置,否则会出现奇怪的故障。
(1)故障起因:
笔者所在单位经常要进行网络调试,最近公司对外发布了一个网站需要调试访问的连通性。笔者用笔记本在公司服务器群中做了调试并修改IP地址为211.153.80.29,被访问的网站地址为211.153.80.1,域名为www.ftedu.gov.cn,经过调试发现在单位可以正常访问,之后笔者回到家中通过ADSL访问,由于ADSL是PPPOE拨号不用事先修改IP地址就可以正常上网,所以笔者并没有修改在公司设置的IP地址就草草拨号,上其他网站例如SOHU,SINA都没有任何问题,QQ和MSN也可以正常登录,唯独公司的211.153.80.1这个服务器不能访问,出现的是“该页无法显示”的信息,笔者又通过域名访问故障依旧。
(2)排除故障:
网络故障的解决方法和硬件故障解决方法类似,即替换法。为了能够找到问题真正所在,笔者马上打电话给同事,让同事在家通过ADSL访问公司服务器的地址,结果不管是通过IP地址还是域名都可以正常访问。至此本人将故障定位在本地计算机。
第一步:由于公司使用了防火墙所以用PING IP的方法是得不到反馈信息的,于是采取TRACERT命令。在命令行窗口中输入tracert 211.153.80.1。发现在第一跳就出现了 Request timed out。(如图1)这说明路由信息在第一跳存在问题。
图1
第二步:继续查询DNS是否出现问题,在命令行模式下输入nslookup,再输入www.ftedu.gov.cn后回车发现DNS服务器可以正确的解析出IP地址211.153.80.1来。说明问题不在DNS上。(如图2)
图2
第三步:尝试对临近的IP地址进行追踪,即在命令行模式下输入tracert 211.153.81.1。结果发现路由信息可以追踪到五跳以上。(如图3)
图3
第四步:为什么IP地址临近在路由路径方面却出现这么大的差别呢?笔者在无奈的情况下输入了IPCONFIG,结果发现当前本地计算机的IP地址仍然是在公司时设置的211.153.80.29,子网掩码255.255.255.0。会不会是这个的问题呢?马上将IP地址选为自动获得。重新拨号上网后故障解决,可以在家中正常访问单位的服务器了。
(3)故障分析:
本人马上把IP地址又设置回211.153.80.29,故障再次出现。在命令行模式下输入route print来查询本机路由,才发现这个故障的根源所在(如图4)。
图4
原来由于本地计算机设置IP地址为211.153.80.29,所以在访问211.153.80.0这个网段时都会直接把数据包发向211.153.80.29,而不是发向默认的网关地址61.51.199.192,自然无法找到正确的路由信息,这也是为什么跟踪211.153.81.1时可以发现正确路由的原因,因为211.153.81.1不属于211.153.80.0/255.255.255.0这个网段。
(4)总结:
通过这个故障可以得到这样一个经验,那就是在本地计算机使用的IP地址尽量保证唯一,如果不是必须不要为其分配多个IP地址,否则会出现路由错误的问题。
故障二:MTU设置故障
随着ADSL宽带费用和安装门槛的降低越来越多的中小企业选择ADSL作为公司的网络出口方式。笔者所在公司最近开拓了两个子公司,采用ADSL作为网络出口,在使用过程中总出现一个奇怪的问题,那就是拨号上网后公司内部计算机经常出现打不开网页的现象,不过并不是所有页面都打不开,有很多站点还是可以正常访问的。经过反复调试及上网查找资料后笔者发现原来是MTU在捣乱,默认情况下mtu值是1500,使用ip mtu 1492命令将其修改为1492后上述问题解决。
为什么MTU的设置错误就会产生这个问题呢?首先我们来看一下MTU的概念,MTU(Maximum Transmission Unit)即最大传输单元,对于PPPoE(ADSL)来说要求用户端的MTU不能大于1492,否则用户端无法浏览某些网站,因此必须将MTU的设定值进行调节。这点对于ADSL用户特别重要,很多不明不白的问题都有可能是因为MTU的设置造成的,遇到实际问题时应该引起足够的注意。
故障三:快速退出路由、交换设备引起的异常
笔者在对公司的路由器、交换机进行调试的时候,发现了一个奇怪的现象,那就是工作正常的Cisco 6509忽然不能用远程TELNET管理了,显示信息是连接已关闭。
笔者只好到中心机房使用CONSOLE线连接路由器,发现使用CONSOLE控制台可以正常登录到Cisco 6509上。随后,笔者使用“sh user”命令查到原来是TELNET的连接线程太多,超出了规定的同时连接数以致无法建立新的TELNET连接。笔者马上使用clear line vty “连接号”(不含引号,连接号为0到5的数字)例如clear line vty 0,依次执行了6条清除连接命令后清除了所有的TELNET连接后就可以正常的使用TELNET命令远程管理路由器了。
谁知好景不长,没过几天,Cisco 6509又不能使用TELNET进行登录了,而且还是因为连接线程数量太多。经过反复测试,笔者发现造成这个故障的原因是管理员远程登录Cisco 6509后,在准备退出时没有使用正常的退出命令“exit”,而是直接点击管理窗口右上方的关闭按钮,这就造成当前用户实际上仍然没有从路由器上退出,在路由器上,连接没有真正断开。时间一长,当TELNET的连接数量超过路由器配置的最大连接数时,就会产生无法用TELNET进行登录的故障。
由此可见,大家在退出路由器或交换机的时候,一定要使用正确的退出命令"exit"。