公司内网一台电脑连接不上远端的服务器,经过检查原来是子网掩码设置错误。公司内网的网段是172.16.10.0,远端服务器所处网段是172.16.20.0,两个局域网通过路由器连接,网关就是路由器的IP。然而出问题的电脑在本网段内却连接正常,可以访问本网段(即172.16.10.0)内任一台电脑,ping网关(路由器)也能ping得通,但是ping不通远端服务器的IP(防火墙已关闭),更连接不上服务器。
由于其它电脑都正常,显然是故障电脑本身的问题,很可能是网络设置出错。经检查,使用tracert远端服务器IP时,不象其它正常电脑首先出现网关地址,而是直接出现Request timed out(也是在防火墙关闭的情况下测试的),因此第一个怀疑的是网关设置错误,但经检查默认网关地址是正常的。不过在检查网关时却发现该机的子网掩码填写错误,写成255.255.0.0,而正确的写法是255.255.255.0,修改回来后,联网问题解决。
并不是所有的子网掩码都必须是255.255.255.0,要看局域网设定情况而定。就前述而言,因本地网段为172.16.10.0,远端服务器所在网段是172.16.20.0,IP的第三、四组的数字是不同的,因此要区别这两个网络,必须使用255.255.255.0,否则象上面那样使用255.255.0.0,就会让电脑以为自己在一个172.16.0.0的网络段中(IP地址范围从172.16.0.1至172.16.255.254),这样,想去访问172.16.20.0网段中的服务器,就会让电脑误以为仍在自己所在的网段中,而不经过网关路由,因此就会出现找不到目标的错误,但是这种设置并不影响本地网络的访问,因为172.16.10.0(IP范围:172.16.10.1至172.16.10.254)也在172.16.0.0这个大网段内。
出现问题的电脑因为是手动设置IP,而windows默认情况下会按照IP的类别自动填定子网掩码,172.16.10.x是个B类地址,因此自动填写子网掩码255.255.0.0(如果是192.168.x.x这种C类地址就自动填写255.255.255.0),遇上不懂这种网络知识的同事自然不知道去修改正确,因此一个windows本想帮用户省事的设置却帮了倒忙。
最后再多说一点,如果上面说的网关、子网掩码、IP都正确,就要检查下电脑上路由设置,看看有没有用route命令手动添加了什么永久路由,导致数据走错了路。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1196.html