pptp上网解决方法


代理服务器更换centos6半月有余,更换后发现wint系统拨号后访问 sina.com.cn / iciba.com / 360.com / abot.cn 等部分网站时页面打不开,而在服务器上或和机房内直接用通过服务器做网关的其它机器都能正常访问,一直不到其解。
今晚搜索了一下,找到些资料,发现是PPTPD默认的MTU太大,导致链路上有些设备堵塞。
解决思路就是把MTU改小些,方法大概有三种:
一、如果开启了iptables的(验证过可行)
iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356 
其中粗体部分换上你的pptp client的IP段
二 、在 /etc/ppp/ip-up 中,exit 0行前添加 (验证过可行)
ifconfig $1 mtu 1356
看到ip-up中有一行: 
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@" 
所以也在 ip-up.local文件中添加ifconfig $1 mtu 1356也同效。
三、在PPTPD配置文件中设置:
打开/etc/ppp/options.pptpd 
在文件最后添加 mtu1356
 
 继续前篇博文的内容继续谈谈mtu导致访问非常慢的问题或者直接访问不了。我们的服务器是aliyun的新加坡服务器,pptp连接成功后,访问墙外的大多数网站基本毫无压力,但是放不了百度,好奇怪,都能访问到被墙的谷歌了,百度难道也被新加坡的墙档上了吗?
    经过一番百度+谷歌后,发现果真有很多人有这样的情况。在linux系统下面的ppp0的网卡接口的mtu是1396,而我们windows 客户端的默认mtu是1496。本来在mtu在路由通信的时候会自协商,可是有些运营商或者主机管理着为了防止DDOS,禁用了ping的功能(不知道能起到防ddos的作用),mtu自协商正好利用ICMP协议来通信的,导致不能协商mtu,发送到pptp服务器的数据包,就会有问题,自然有些网站就访问不了,有些网站超时的情况。
    下面来看看解决ppp0接口mtu的几种方式。
  1. 在PPTP的服务端/etc/ppp/options.pptpd 中配置上mtu 1496.
  2. 给ppp0的接口直接修改mtu值,然后重启pptp服务即可生效。
ifconfig ppp0 mtu 1496 /etc/init.d/pptpd restart
修改iptables实现
iptables -A FORWARD -p tcp -syn -s 192.168.100.0/24 -j TCPMSS -set-mss 1496
最后重新连接,就能访问一些因为mtu不统一的问题,访问不了的网站了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM