ubunut pppoe拨号部分网站无法访问的原因及解决办法
ubuntu 9.10(karmic koala)AMD64系统下,设置好ADSL PPPoE拨号后,出现一种情况,部分网站可以正常访问,而有些网站则没有响应,无法正常访问。比如google.cn是正常的,而sina.com.cn则无法访问。
出现这个问题的原因是PPPoE默认设置的MTU1492字节有问题。MTU是链路层的一个特性,叫做最大传输单元(Maximum Transfer Unit)。如果网络层(IP层)要发送的数据比链路层的MTU还要大,那么IP层必须对数据进行分片(fragmentation)。PPPoE的MTU是一种逻辑MTU,因为PPPoE并没有一个实体的链路层存在。通常情况下以太网(ethernet)的MTU为1500字节,所以PPPoE设置其MTU为1492字节,加上PPPoE 8个字节的头部,刚好达到以太网的MTU,从而可以提高网络的利用率。但实际上很多ADSL接入方式的MTU并不是1500字节,比如我的ADSL链路使用traceroute实测的路径MTU(PMTU)是1492字节。那么这种情况下,PPPoE设置其MTU为1492就存在问题了,加上8个字节的PPPoE头部后,就超过了以太网的MTU大小。