debian7.8 在 vBox 中作为路由器使用, img.t.sinajs.cn 等部分地址在 nat 后连接无响应,在路由上直接使用 wget 或本机直接 pppoe 则正常,那么可能是什么问题?

2015-03-09 23:00:04 +08:00
 KCheshireCat
路由器虚拟机网卡使用 准虚拟化网络virtio-net , 连接方式 桥接

使用archlinux上pppd页面提供的pppoe脚本拨号

nat使用 iptables v1.4.14 方式 SNAT,SNAT+DNAT,MASQUERADE都尝试过

用Wireshark捕获



看起来是丢包
然后用本机这直接pppoe连接,再捕获



也是有丢包的样子,但是最终连上了

不知道问题出在哪里,希望有人能解答,

如果需要其他细节也请说明,谢谢
2102 次点击
所在节点    Linux
1 条回复
KCheshireCat
2015-03-15 13:40:41 +08:00
终于找到了问题,TCP包通过路由器时没有设置合适的MSS。解决方法
iptables -t nat -I POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175670

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX