查看路由器上的日志,我任意找到其中一条关于ICMP的记录:
Jul 09 15:51:50 %ACL_LOG-I-PERMIT, ACL [out]
on "uplink" ICMP 210.29.42.70 -> 218.79.246.212
www.5idzw.com
原来,当路由器接收到一个不知道IP地址(也就是说,路由器不知道目标路由)的数据包时,它会尝试发送ARP广播来解析,如果有目标主机回应这个ARP广播,则路由器会把数据包转发给目标主机。如果路由器没有接收到回应,它将会为接下来的4个数据包发送ARP请求,如果当第6个数据包到达时,还没有解析出目标主机的MAC地址,默认情况下,路由器将会在接下来的20秒钟内丢弃第6个以及后续的数据包,并且返回“主机不可达”的ICMP信息给源主机。
从计算机B的记录中的第一句也可以得到证明,路由器向该网段中发出一个ARP查询,查找IP为“222.222.222.191”的计算机,结果没有计算机相应,路由器则认为该网段中没有目标主机,所以返回一个ICMP信息给源计算机说明目标主机不可到达,以通知源主机这里存在问题,同时丢弃原始数据包。
至此问题已经明朗,原来路由器记录的ICMP都是路由器发送给源地址的“Destination Unreachable”信息。那么为什么这些外面的IP地址会找校内的计算机呢?从采集的数据分析不难发现,这些外部主机主要是找内部的固定的三个计算机。经过历史日志的检查,可以发现这三台计算机的主要相同的记录:
07:52:19 Jul 09 07:50:02 %ACL_LOG-I-PERMIT, ACL [out]
on "uplink" TCP 222.222.222.136:3159 -> 61.173.209.101:6881
08:00:15 Jul 09 07:53:50 %ACL_LOG-I-DENY, ACL [out]
on "uplink" TCP 222.222.222.12:3194 -> 219.121.133.197:6883
08:00:15 Jul 09 07:57:59 %ACL_LOG-I-DENY, ACL [out]
on "uplink" TCP 222.222.222.220:3196 -> 210.238.6.177:6881
这三台主机连接目标主机的端口固定在6881到6889之间,而这些端口正是现在比较流行的BT下载的常用端口。难怪以前没有出现过此类日志,直到最近BT流行时,才出现的。主要原因是,这些主机使用BT下载时,在BT服务器上留下了记录,以便其他的主机到这些主机上下载资源,而当这些主机关机后,路由器就告诉它们找不到这些主机了。
由于日志服务所记录的是第三层以上的信息,而路由器接收到的数据包在第二层上就被丢弃了,所以没有在日志中记录这些输入的异常数据包。为了减少路由器的日志量,在配置模式下使用“ip disable icmp-messages destination-unreachables”来禁止此类信息的转发。
这两个故障均由ICMP引发,而且从某种角度上讲都不是系统配置上的问题,而是由于外部因素引起的。此类故障需要我们经过一定的分析才能查出原因,再作相应的配置才能排除故障。
故障一:IOS丢失
Processor: R5000 rev 2.1 [0x2321], 198 MHz, (bus: 66 MHz), 64 MB DRAM
I-Cache 32 KB, linesize 32. D-Cache 32 KB, linesize 32
L2-Cache 512 KB, linesize 32, cache enable
Mounting 8MB Linear external flash card …Done
initializing system …….Failure
Autoboot in 2 seconds – press ESC to abort and enter prom.
最后一句表明,系统初始化失败。在看到“Autoboot in 2 seconds – press ESC to abort and enter prom.”后,随即按下“ESC”键,进入启动模式。
将笔记本电脑的IP地址和路由器以太网管理端口的地址设置为同一个子网。比如:把你的笔记本电脑设置IP为10.10.10.2,掩码为255.255.255.0。并且用交叉线把电脑的网卡和SSR的en0相连。
www.5idzw.com
这个软件实际上就是在计算机上开始打开了69端口来接受传入的数据,或通过此端口把数据传出。它可以安装在WIN9X也可以装在WINDOWS2000或者WINDOWSXP上。然后把路由器的IOS系统映像文件放在TFTP的默认路径下。
设置路由器上en0的IP地址为10.10.10.1,掩码为255.255.255.0(在启动模式下设置)。
SSR-BOOT> set netaddr 10.10.10.1(设置路由器的IP地址)
SSR-BOOT> set bootaddr 10.10.10.2(设置启动的TFTP服务器的地址)
SSR-BOOT> set netmask 255.255.255.0(设置子网掩码)
设置完毕后,使用PING命令测试路由器和笔记本的连通性。如果能够正确连通,则使用以下命令:
SSR-BOOT> reboot(使路由器重启)
路由器启动完后,进入管理模式,把系统映像文件复制到flash卡上。这个命令的格式是这样的:
System image add
例如:
SSR# system image add 10.10.10.2 ssr8305
Downloading image ‘ssr8305’ from host ‘10.10.10.2’(正在下载)
To local image ssr8305 (takes about 3 minutes)
Kernel:100%
Image checksum validated.(检查映像文件)
“10.10.10.2”是电脑的IP地址,“ssr3200”是存放在TFTP SERVER根目录下的系统映像文件名。在“kernel:”之后会出现进度指示:从0%一直变化到100%。下载完毕后,进行自动校验,判断是否正确。
至此,系统映像文件已经下载完毕,键入system image list 来查看PCMCIA FLASH卡上的系统映像文件列表,如果您的PCMCIA卡的容量大的话,可以存放2个系统映像。然后使用system image choose 命令来选择那个系统映像作为SSR下次启动时的系统。
例如:
SSR# system image list
Images currently available:
Ssr8304
Ssr8305
SSR# system image choose ssr8305
Making image ssr8305 the active image for next reboot
这个操作,您不需要激活,新的系统映像要在下次重启之后才会被使用。选择该系统映像后,下次用system image list显示系统映像文件列表时,则会在此文件后显示“[selected for next boot]”。
当路由器启动时,在超级终端上如果看到下面的信息就表明IOS加载成功了:
………………
using link: bootsource
link pointed at file:/pc-flash/boot/xp9050/
source: file:/pc-flash/boot/xp9050/
Loaded version file
Loading kernel (base 0x80001000, size 50592)
(base 0x8000d5a0, size 3995697)
100% -Image checksum validated
此类故障的发生率比较高,故管理员一定要学会,虽然不同品牌的路由器所使用的具体命令不尽相同,但基本步骤或原理是类似的。
,路由器一般故障到特殊故障的解决