? 上一篇下一篇 ?

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 –i查看接口,得到:
 

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