考虑下面这个问题,这是我在工程中实际遇到的:
一台路由器用S0口DDN接入Internet,配置摘要如下:
interface s0
ip address 202.111.111.98 255.255.255.252
interface e0
ip address 202.111.111.65 255.255.255.252
ip route 0.0.0.0 0.0.0.0 s0
现有工作站:pc: ip=202.111.111.66 255.255.255.252 网关:202.111.111.65
问题:pc ping 202.111.111.65 通, pc ping 202.111.111.98 通,但 pc ping 202.111.111.97 或internet server: 202.100.100.1 (肯定是正常的)都不通: request time out.
怎样才能让202.111.111.64 ping 通202.111.111.97?走出去?
检查发现:从202.111.111.97或202.100.100.1 ping 202.111.111.97 或98 或65 或66均通;从Internet (如202.111.111.97 或 202.100.100.1)上可以telnet 202.111.111.98 管理路由器。
很奇怪吧?从internet能够管理到路由器,说明这个路由器和电信的路由器的连线、协议都没有问题,电信至少也有202.111.111.96/30的路由设置,并且这条路由设置是正确的。
在内部,路由器的路由设置没有问题,服务器的默认网关设置没有问题,为何就是出不去呢?可能的原因是电信没有设置好202.111.111.64/30的路由,我们的包到电信后回不来。
可是如果电信局方没有设置好到202.111.111.64/30的路由,为何从internet又能ping到65,66呢?
[以下为原因及说明,如果你还要思考,目光请停在这:-) ]
我在做这个工程的时候,拿到了由省局发的IP地址分配很正式的一个文件,所以一点也没有想到过会有问题。到现场的时候把所有的东西都检查一遍,把其它可能也试一遍。结果还是不行。
然后我决定上网去检查一下。当我telnet 202.111.111.98时是我方这一台路路由器的画面,但telnet 202.111.111.65的时候--是另一台路由器的登录画面!
晃然大悟之下,打电话到电信,还好有人值班(周六),弄到了修改后的地址,配上就OK了。
原因是这样的,电信把64这段地址下文分给我们之后,却又分给了别人用,结果呢从外面Ping到的65,66并不是我们的主机。
其实这样的事情并不少见,就在前面有个事情很相似。
有一客户说他们的防火墙突然出不去。查来查去,竟然是外部IP被人占用!
因为他们的10M线路接到电信的HUB上,跟别的用户同一个子网,那些用户乱配置IP,影响了这边。
比较搞笑的是因为HUB上用户比较多,无法判定是那位调皮的用户,只好一根根地断开HUB上的线,看看非法地址出自哪里。:-)
所以当你做Troubleshooting时,一定要小心电信!