linux下pptp搭建vpn代理上网很慢的解决办法

问题:

linux平台用pptp搭建了vpn服务器,拨入后访问内网ftp,下载文件极慢;用其作网关上网,除了baidu外,大部分网站访问速度极慢,几乎无法访问。

解决:

在pptp所在的linux服务的iptables的*filter表中加入

-I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356

或者执行下面命令:

/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356

原因分析:

=====在断开vpn链接的情况下:
 

在windowsXP下用ping -f -l XXXXXX 192.168.0.1一步一步测试(XXXXXXX为MTU大小,可以从1500开始,逐渐减小,知道可以ping通)
我们可以得到可以ping通的MTU最大为1426。
 =====在连接vpn的前提下
windowsXP下用ping -f -l XXXXXX 192.168.0.1一步一步测试(XXXXXXX为MTU大小,可以从1500开始,逐渐减小,知道可以ping通)
我们可以得到可以ping通的MTU最大为1372;
超过这个数则不能通。
 ====拨通vpn,在服务器上用netstat Ci查看接口,得到:

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 102528561 0 0 0 194391413 0 0 0 BRU
eth1 1500 0 519820535 954 11553 924 208798037 0 0 0 BRU
lo 16436 0 151062 0 0 0 151062 0 0 0 LRU
ppp0 1396 0 19 0 0 0 8 0 0 0 OPRU 

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

总结

以上所述是小编给大家介绍的linux下pptp搭建vpn代理上网很慢的解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

参与评论