pptpd ***傳輸"大包,大長度,大字節"導致數據傳輸,失敗數據不加載,內容不顯示.

現象:

發現公司後臺通過***有的可以顯示,有的不能顯示,不能返回任何數據.不經過***就沒問題.


排查:

點擊某些頁時,感覺是沒任何反應;看後臺日誌發現每次請求都是到達服務器的.

經過查看nginx日誌,發現這2個請求的 字節大小不同,大概超過1000多的就打不開.

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"

firebug直接顯示流產了,返回字節爲0


解決:

這個時候問題的答案就有了.是網卡之間的MTU(最大傳輸單元)問題.有的服務器之間如果不一致,就會出現這類問題.

直接在***機器上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


(很久沒在這裏發文章了,難道是變懶了,呵呵... 想想每次有問題都是問百度谷歌,這要感謝前輩們的貢獻.今天這個問題不是很好找,所以還是發出來分享給需要的朋友)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章