NAT客戶端無法連接Server的解決方法
客戶端通過NAT連接上網,有的客戶端可以訪問server端,有的不可以,本文介紹了如何通過訪問固定請求的URL抓包排查和定位問題。
1、http contains "/frontend" 過濾出來客戶端請求的這個URL。
2、跟蹤一下流(follow stream),看請求是否正常。
3、打開客戶端的包,發現請求失敗的是重傳包,過濾一下 tcp.analysis.retransmission
可以看到有四次請求重傳
思考:
A、不是雲盾攔截,因為雲盾攔截是基於ip的
B、檢查係統內沒有雲鎖之類的軟件,iptables也沒開
C、檢查係統參數 system –p (-a打印所有)看到有timestamp
結論:
成功的timestamp都很大,修改net.ipv4.tcp_timestamps=0即可。
同時開啟timestamp(時間戳)和tw_recycle,會導致在一個MSL時間內隻響應timestamp遞增的請求,對於時間戳較小的請求都拋棄了。
最後更新:2017-06-14 18:31:37