PPTP VPN的MMS和MTU问题

问题:在linux上面用架设了PPTP VPN,但连上以后大部分网站访问速度极慢,几乎无法访问。
解决:修改MSS值
iptables -A FORWARD -p tcp --syn -s XXX.XXX.XXX.XXX/XX -j TCPMSS --set-mss 1372

原因分析:
1.断开vpn的情况下:
ping -f -l XXXX www.baidu.com

一步一步测试(XXXX为MTU大小,可以从1500开始,逐渐减小,直到可以ping通)
我们可以得到可以ping通的MTU最大为1472;

2.连接vpn的情况下:

ping -f -l XXXX www.baidu.com

一步一步测试(XXXX为MTU大小,可以从1500开始,逐渐减小,直到可以ping通)
我们可以得到可以ping通的MTU最大为1372;

3.连接vpn,在服务器上用
netstat -i
查看接口,得到

Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 2850923 0 0 0 2675804 0 0 0 BMRU
lo 16436 0 36427 0 0 0 36427 0 0 0 LRU
ppp0 1396 0 177 0 0 0 96 0 0 0 MOPRU

可知ppp的最大mtu为1396,当然,对应的mss应为(mtu-20字节的IP头部-20字节的TCP 头部=)1356

标签: none

添加新评论