pptpd ***传输"大包,大长度,大字节"致使数据传输,失败数据不加载,内容不显示.

现象:nginx

发现公司后台经过×××有的能够显示,有的不能显示,不能返回任何数据.不通过×××就没问题.服务器


排查:tcp

点击某些页时,感受是没任何反应;看后台日志发现每次请求都是到达服务器的.
ide

通过查看nginx日志,发现这2个请求的 字节大小不一样,大概超过1000多的就打不开.
spa

27.115.1.1 - - [27/Sep/2014:12:12:53 +0800] "GET /admin/game_setting/ HTTP/1.1" 200 1659 "http://1.1.1.1:1688/admin/left/" "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"日志

27.115.1.1 - - [27/Sep/2014:12:13:11 +0800] "GET /admin/makeconfig/ HTTP/1.1" 200 654 "http://1.1.1.1:1688   /admin/left/" "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"ip

firebug直接显示流产了,返回字节为0get


解决:it

这个时候问题的答案就有了.是网卡之间的MTU(最大传输单元)问题.有的服务器之间若是不一致,就会出现这类问题.
io

直接在***机器上netstat -i 观察下各网卡的MTU值是多少,还有ppp0的值.

我这里直接指定mss(最大报文长度)的长度(之前作***的时候都设置了,此次竟然忘记了,换服了才发现这个问题.)

/sbin/iptables -A FORWARD -p tcp --syn -s ***地址池IP.0/24 -j TCPMSS --set-mss 1356 

iptables里必需要有的2条#service iptables statu

Chain POSTROUTING (policy ACCEPT)num  target     prot opt source               destination         1    MASQUERADE  all  --  192.168.100.0/24     0.0.0.0/0 Chain FORWARD (policy ACCEPT)num  target     prot opt source               destination         1    TCPMSS     tcp  --  192.168.100.0/24     0.0.0.0/0           tcp flags:0x17/0x02 TCPMSS set 1356


(好久没在这里发文章了,难道是变懒了,呵呵... 想一想每次有问题都是问百度谷歌,这要感谢前辈们的贡献.今天这个问题不是很好找,因此仍是发出来分享给须要的朋友)

相关文章
相关标签/搜索