杂七杂八

Windows 无法浏览

以 Windows 2000 作为 Server 来连接分享时,为何无法浏览一些网站

最近更新时间: 2001/11/04

这些文章只是舍不得丢的数据,并不是什么需要特别阅读的!尤其是文章内容超级旧! 所以,大家看看就好!千万不要学喔!哈哈哈!

以 Windows 2000 作为 Server 来连接分享时,为何无法浏览一些网站?

  • 问:以 Windows 2000 作为 Server 来连接分享时,为何无法浏览一些网站?
  • 答:
    这个问题一直到前一阵子才发现解决之道!我还真是孤陋寡闻的哩!
    问题说明:
    其实不只是 windows 2000 ,就是使用 windows 98 以一些连接分享的软件来作为带宽分享工具时,同样也会有这个问题产生的!就是用户端无法浏览某些网站或是无法发送内含附件的电子邮件。而造成这个问题的原因就是 MTU 的问题啦!什么是 MTU 呢?那就是 Maximum Transmission Unit 的缩写!那是啥?其实我也不是很清楚,只知道不同的接口具有不同的 MTU 要求,当 MTU 的需求与你的网络接口不同时,就会有问题发生啦!一般而言,MTU 在网络卡(EtherNet)的默认值为 1500 单位,如果你是在 Linux 系统下的时候,运行 ifconfig eth0 试试看,你会看到如下的画面:
     
    eth0      Link encap:Ethernet  HWaddr 00:01:03:43:E5:34
              inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:259763 errors:1 dropped:1 overruns:1 frame:0
              TX packets:95076 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100
              Interrupt:10 Base address:0xc000
    看到了没!?那就是网络卡的 MTU 值啰!好啦!刚刚说到不同的网络接口具有不同的 MTU 要求,那以下就列出一下各主要的网络接口之 MTU 的要求啦!
     
    网络接口
    MTU
    EtherNet (一般的网络接口,这是默认值) 1500
    PPPoE(ADSL用的) 1492
    Dial-up(modem)  576

    由上面的表格我们可以知道,缺省的网络接口 MTU 是 1500 ,那 PPPOE 使用的是 1492,自然而然的 MTU 要求并不相同,所以啦!有一些网页、邮件数据等等的咚咚就无法合理的让你使用啦!

    解决之道:
    那该如何解决呢? 其实只要调整 Client 端网络卡的 MTU 值即可完全解决此一问题!而且借由调整 MTU 值也可以增进网络效率呢。 那首要课题自然就是知道你的网络卡所可以负荷的 MTU 啦!因此我们第一步就是要找到适合的 MTU :
  • 找出 MTU 值:
    在 windows 底下要找出 MTU 值就必须进入 DOS 模式,并且知道你的分享的主机的 IP 才行!例如你的主机是 windows 2000 且对内的分享的 IP 是 192.168.1.2,那么你可以这么做:
    1. 进入 MS DOS 模式;

    2.  
    3. 打入 ping -f -l 1500 192.168.1.2

    4.  
      C:\WINDOWS>ping -f -l 1500 192.168.1.2

      Pinging 192.168.1.2 with 1500 bytes of data:

      Packet needs to be fragmented but DF set.
      Packet needs to be fragmented but DF set.
      Packet needs to be fragmented but DF set.
      Packet needs to be fragmented but DF set.

      Ping statistics for 192.168.1.2:
          Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
      Approximate round trip times in milli-seconds:
          Minimum = 0ms, Maximum =  0ms, Average =  0ms

      上面的式子中,-l 是 L 的小写(不是 1 喔),1500 是我们要测的 MTU 值,结果出现了 Packet needs to be fragmented but DF set. 这个东西,那表示MTU值太大了,你需要更小的 MTU 值才行!好啦!那假设我们使用 1464 来测试时:
       
      C:\WINDOWS>ping -f -l 1464 192.168.1.2

      Pinging 192.168.1.2 with 1464 bytes of data:

      Reply from 192.168.1.2: bytes=1464 time=10ms TTL=128
      Reply from 192.168.1.2: bytes=1464 time<10ms TTL=128
      Reply from 192.168.1.2: bytes=1464 time<10ms TTL=128
      Reply from 192.168.1.2: bytes=1464 time<10ms TTL=128

      Ping statistics for 192.168.1.2:
          Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
      Approximate round trip times in milli-seconds:
          Minimum = 0ms, Maximum =  10ms, Average =  2ms

      结果出现了回应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可行的最大 MTU 值!这样一来,在设置的时候,才可以达到最佳的网络速率
       
    5. 找出 MTU 值:利用上面这个方法找到的数值还不是 MTU 喔!由于一些封包上面的问题,上面这个值再加上 28 才是我们所需要的 MTU 值!所以,在上面的例子中,我们所需要的 MTU 值是 1464+28=1492 啦!
  • 修改 MTU 值:
    OK!我们已经找出 MTU 值啦,那下一步自然就是修改啰!要如何修改呢?其实也是很简单,只要通过 Windows 本身缺省的 registry 修改即可!
    Windows 98:
    1. 在 『开始』>『运行』中,键入<regedit>,会出现一个大框框;
    2. 选择:『HKEY_Local_Machine』>『System』>『CurrentControlSet』>『Services』>『Class』>『NetTrans』>『000n』

    3. 上面最后一个数据是 000n,那个 n 指的是数字,以我为例,在 NetTrans 底下有两个数字,分别为 0000 与 0002,若按下 0000 会显示我的 Gate Way 以及我的网络卡的 IP 项目,至于 0002 则没有我的网络卡的相关信息,所以 0000 那这一个就是我的网络卡接口啦!请依你的情况选择!
    4. 选择你的网络卡接口后(以我为例,按一下 0000 那一个机码),按下『编辑』>『添加』,然后选择增加『DWORD』值;
    5. 将添加的机码取名为『MaxMTU』,并且在添加加的那个机码上面按右键,选『修改』,会出现如下画面,选择『十进位』后,输入刚刚我们找到的那一个 MTU 值:
    6. 改完之后你应该会看到如下的画面喔!那就是成功了!
    Windows 2000:
    1. 在 『开始』>『运行』中,键入<regedit>,会出现一个大框框(注意,也有可能是 regedit32 这个运行档,请依你的机器来作业);
    2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』,有点像下面的图标:
    3. 在 interface 底下可能有很多的接口,你一个一个的去看,会有一个接口与你的网络卡的 IP 相同,那个就是你要挑选的接口啦!然后同样的在该接口上选择『编辑』>『添加』>『DWORD值』之后,创建一个名为『MTU』的机码,然后选右键『修改』,选择十进位,填入我们刚刚找出来的 MTU 值!大功告成!
基本上,这样应该已经可以解决你的问题了!相关的网页你可以到底下两个网页去看看!
http://www.microsoft.com/taiwan/msclub/member/TIPS/Spring_2001/tip1to3/tip1to3_2.htm
http://redhat.ecenter.idv.tw/bbs/showthread.php?s=&threadid=21620&highlight=MTU
    另外,网友有建议另一个测试 MTU 的网页,你也可以上去瞧一瞧,不过,要上这个网页之前,『请先将你的 代理服务器设置 取消』否则测到的会是你的 Proxy 而不是你的真实 IP 喔!
    http://forums.speedguide.net:8117/
2001/12/15以来统计人数
其他链接
环境工程模式篇
鸟园讨论区
鸟哥旧站

今日 人数统计
昨日 人数统计
本月 人数统计
上月 人数统计