在Linode的VPS上配置了VPN服务器(pptpd),连接正常。在我自己的Mac电脑上连接以后无法访问Google或其他国外网站,可正常访问百度和微博等国内网站,QQ也同样可以登录。
通过ip138查询当前访问ip来自VPN服务器所在地,证明我本地是通过VPN服务器访问的其他网站或服务。
同时,我在手机上也使用相同的账户连接同一个VPN服务器,手机可以正常访问Google和其他国外网站,比如twitter。
检查Mac路由表(连接VPN后):
连接VPN后,ping http://google.com 正常,nslookup 也正常,不知道改怎么调试了,求解.
MTU,英文全称为Maximum Transmission Unit,中文即最大传输单元的意思,是一种通信协议层上所能通过的最大数据包值。如果MTU设置得当,可以优化网络性能。反之设置不当,则可能影响网络速度、甚至影响部分软件和网络使用。比如连接上VPN不能访问网站,或不能连接等问题。
由于VPN连接需要对原有的IP或者是TCP/UDP数据进行封装,因此增加了数据的长度。如果VPN连接上不能上网,可以将MTU设置小一些,比如1450,具体设置方法可以参考下文介绍。
除了MTU的设置可能影响VPN连接使用外,如果设置不合理,也可能影响网络连接质量。现在常用的以太网网络下,MTU值默认是1500,超过此大小的话,数据包将被分段传输。如果MTU过小的话,会增加数据包拆分传输次数,而且拆包组包的过程也浪费了时间。
那么按上所说,是不是设置最大值最好呢?答案是否定的,因为在不同使用网络环境,网络MTU最大值也可能不一样。比如ADSL网络MTU值是1492字节,如果强行设置为1500,因为网络本身最大只能1492,超过的话,传输前就需要拆包分段传输,在这过程中也浪费了时间,并且产生额外的数据包。
所以MTU设置需要恰当,不能过大也不能过小,根据网络本身最大MTU传输字节设置即可。那么如何查看使用网络的最大MTU值呢,下面将介绍一下检查方法(Windows下手动查询,如果觉得麻烦,也可以使用Simple MTU Test这个软件查询)。
一、网络最大MTU值检测方法
1、首先同时按下键盘上的Win+R键,弹出“运行”窗口,输入”cmd.exe”,点击确定。
2、在命令行窗口中输入”ping -l 1472 -f www.baidu.com”然后按下回车键。解释一下这段命令的作用:
ping:发送一个数据包检测;
-l(L的小写):指定数据包大小;
1472:数据包大小为1472字节;
-f:禁止路由器拆分数据包;
www.baidu.com:使用百度为检测目标;
3、执行以上命令后,如果成功响应了(如下图),则说明你的网络MTU最大为1500字节,这时设置MTU为1500即可。(这里我修改了检测数据包为1450,方便截图)
4、如果返回显示需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,则说明数据包大小超过了本身网络最大MTU值。
5、这时可以减小发送数据包大小再尝试,依次减少5字节,直到能正确返回响应。返回后逐渐加1字节再次检测,以查询网络最大MTU值。比如查询网络最大MTU值为1452,那么这个并不是完整的MTU值,还需要加上28字节的数据包报文(包含IP头部,但不包含协议栈更下层的头部),完整的MTU应该是1480字节。
6、查询到网络最大MTU值后,设置即可。路由器设置的话,不同路由器,设置方法也可能不一样,建议查看使用说明设置。TP-LINK路由器的话,一般是在管理页面——网络参数——WAN口设置——编辑正在使用的网络连接——WAN口高级设置里。
7、当然除了直接在路由器设置外,还可以在操作系统里修改,下面将介绍一下各系统设置方法。
二、Windows系统设置MTU方法
除了下面介绍的手动设置方法外,一些软件也有辅助修改功能,比如魔方优化大师等。
A、Vista、Win7、Win8系统设置方法
1、打开系统盘\Windows\System32\文件夹下找到cmd.exe,右键“以管理员身份运行”;
2、在“命令提示符”窗口中输入“netsh interface ipv4 show subinterfaces”并回车查看当前的MTU值;
3、接下来输入“netsh interface ipv4 set subinterface “修改的网络连接名” mtu=查询的网络最大MTU值 store=persistent”并回车即可;
例如:“netsh interface ipv4 set subinterface “本地连接” mtu=1492 store=persistent”。
B、Windows XP系统设置方法
1、 按下Win+R组合键,弹出“运行”窗口,输入regedit,点击确定;
2、依次找到以下注册表项:“HKEY_Local_Machine——SYSTEM——CurrentControlSet——Services——Tcpip——Parameters——interface”;
3、在interface中下可能有很多项,需要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;
4、然后在该项上点击右键,选择“编辑——新建——DWORD值”,然后在右侧将其命名为“MTU”;
5、右键点击MTU,选择“修改”,在弹出的窗口中选择“十进制”,设置你查询网络MTU值即可。
6、设置后,需要重启电脑应用生效。
三、Mac OS X设置MTU方法
依次打开:系统偏好设置——网络——以太网(如果使用的是无线网络就修改无线网络)——高级设置,在“硬件”选项卡下“配置”选择手动,然后就可以设置MTU了,如下图: