继续前篇博文的内容继续谈谈mtu导致访问非常慢的问题或者直接访问不了。我们的服务器是aliyun的新加坡服务器,pptp连接成功后,访问墙外的大多数网站基本毫无压力,但是放不了百度,好奇怪,都能访问到被墙的谷歌了,百度难道也被新加坡的墙档上了吗?
经过一番百度+谷歌后,发现果真有很多人有这样的情况。在linux系统下面的ppp0的网卡接口的mtu是1396,而我们windows 客户端的默认mtu是1496。本来在mtu在路由通信的时候会自协商,可是有些运营商或者主机管理着为了防止DDOS,禁用了ping的功能(不知道能起到防ddos的作用),mtu自协商正好利用ICMP协议来通信的,导致不能协商mtu,发送到pptp服务器的数据包,就会有问题,自然有些网站就访问不了,有些网站超时的情况。
下面来看看解决ppp0接口mtu的几种方式。
在PPTP的服务端/etc/ppp/options.pptpd 中配置上mtu 1496.
给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不统一的问题,访问不了的网站了。
本文出自 “-=湖边竹=-” 博客,请务必保留此出处http://bronte.blog.51cto.com/2418552/1881566
原文地址:http://bronte.blog.51cto.com/2418552/1881566