解决ADSL共享客户机不能访问某些站点的问题

网络与通信

目前,不少网虫家里都使用两台以上电脑,通过Windows自带的“连接共享”来共享ADSL上网。共享上网的设置方法很简单,但这样共享后大家几乎都会遇到一个同样的问题:主机(Internet网关)上网一切正常,客户机则有些站点(如http://www.163.net、http://www.sina.com.cn等)访问不了,用E-mail客户端软件去这些站点收发信件也不行。
造成这一现象的原因是在Windows操作系统中使用ADSL,系统默认的TCP/IP数据包最大值(MaxMTU)为1500(这是以太网分组标准),而ADSL实际使用的数据包(ADSL接入服务提供商设置的数据包大小)的最大值略小于1500,多为1492。而恰巧某些站点的MaxMTU值设置又大于1492,所以造成站点不能访问。我们可以通过修改客户机的Windows注册表,降低MaxMTU值的方法来解决这个问题。
下面我们针对不同的操作系统,来讲讲客户机注册表的设置修改。

一、在Windows 9X和Windows ME中

设置步骤如下:
第一步,运行“regedit”命令进入注册表,找到[HKEY_LOCAL_MACHINE\System
\CurrentControlSet\Services\Class\NetTrans\],然后找到其中的000n(n为任意数)项,这里的 “000n” 是你系统中使用TCP/IP协议的接口((图1))。

图1
图1

注意:NetTrans中的项目比较多,但一定不能找错,找错了即使完成了下面的步骤,仍然不能达到目的。如果不能确定是哪个000n,可以按(图1)右侧红线所示,寻找含有键名为“DriverDesc”,键值为“TCP/IP”的那个000n主键。这个主键里,有该计算机的网络属性设置(见(图1)右侧)。我的网卡IP地址设为10.0.0.2,网关设为10.0.0.1,子网掩码设为255.0.0.0。
第二步,在000n项下,新建“字符串”键名((图2))。
图2
图2

第三步,将新建的这个键命名为“MaxMTU”,设置其键值为十进制的1450或1430,一般小于1492都行。设置完成后注册表中将增加一个键值为1450的MaxMTU键((图3))。设置完毕,重启机器,客户机即可访问原来访问不了的那些站点。
图3
图3

二、在Windows 2000和Windows XP中

设置步骤如下:
第一步,进入注册表查找相关的主键,这里与Windows 9X中的略有不同,它的位置在[HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\]中。
同样,此处的关键也是要确定主键的正确位置。你可以查看“Interface”项下的每个主键,其中包含你机器的网络设置数据(比如IP地址、DNS服务器、默认网关等)的那项((图4))就是你需要的。

图4
图4

这里,我的网卡IP地址设为10.0.0.3,默认网关设为10.0.0.1,DNS服务器设为202.96.128.1和10.0.0.1。
第二步,在这个主键中,新建“REG_DWORD”键((图5))。
图5
图5

第三步,将新建的这个键命名为“MTU”,设置其数值为十进制的1450或是小于1492的任意数值。设置完毕,注册表中增加一个键值为1450的“MTU”键((图6)),设置完毕,重启机器,OK。
图6
图6