MTU设置造成VPN无法正常工作

今天要上youtube去找某位高人听写出来的Rayman3一个CG的字幕,结果发现上不了,更悲剧的是发现几乎所有的网站,如Google、youtube、twitter都上不了,但奇怪的是百度和我自己的网站能上。

开始以为是自己电脑上的360耍流氓了,就到室友电脑上上,发现故障依旧。

然后开始疯狂Google。得到什么在Windows配置和VPN配置里把什么加密给关掉,照做,未果。

突然在一条回复上看到有人提到了MTU这个词,遂想起前几天因为某人的WOW需要,好像是在路由器上改了什么MTU。当时我还一直问某飞MTU是啥MTU是啥,他也不告诉我。

于是问Google。MTU为Maximum Transmission Unit。指一个设备一帧报文最大的数据量,单位Byte。

再搜索VPN MTU,得知MTU确实会影响VPN数据的传输,表现正是有些网站可以打开有些网站不行。

参考了几篇文章,尝试了以下做法。

Win7下管理员模式cmd,在VPN连接时执行netsh interface ipv4 show subinterfaces,看到本机网卡MTU为1500,VPN的MTU为1400。

VPS Linux下执行ifconfig,看到ppp0的MTU为1396好像。

感觉貌似要是加上这个头那个头的,就会超过路由器上设置的1410而被拦截,而原来是1496。

于是Win7下执行netsh interface ipv4 set subinterface "MyVPS" mtu=1300 store=persistent。重新连接后依旧不行。

再到Linux下执行ifconfig ppp0 mtu 1300,于是问题解决!

感觉这个MTU是在配置虚拟网络时根据iptable写的MSS决定的。。一会去把那个改一下试试。

话说网络这东西好神奇。。。

2 Replies to “MTU设置造成VPN无法正常工作”

  1. 真的是谢谢楼主了,解决了我一个很大很大的问题!!!!!!!! 非常感谢!!!!

Leave a Reply

Your email address will not be published. Required fields are marked *