拨上VPN后部分网站内容显示不全或打不开原因分析
拨上vpn(如pptp,openvpn等)后,会出现部分网站内容显示不全或打不开的现象。出现这种现象的原因分析如下:
首先来抓取数据包进行分析,如下图片所示:
注意红色框的地方。首先来看几个名字注释:
mtu:Maxitum Transmission Unit 最大传输单元。
mss:Maxitum Segment Size 最大分段大小。
mtu mss(应用层数据)+tcp包头+IP包头
mss大小是通讯双方在建立TCP连接时根据双方提供的 MSS值的最小值确定为这次连接的最大MSS值。
tcp数据包包头大小20Byte。
ip数据包包头大小20Byte。
如果超过mtu的大小就需要对ip报文进行分片。
如果ip报文中有DF(Donot Fragment)标记就表示不可分片。
如果报文超过MTU值又不能分片,就会丢弃报文,返回一个错误信息unreachable-need to frag(不可到达,需要分片)。 如图所示。
出现这种现象的解决办法如下:
修改数据报文的mss大小。
iptables -A FORWARD -p tcp --syn -s 192.168.100.0/24 -j TCPMSS --set-mss 1356
凡是来自192.168.100.0/24网段的tcp包,mss设置为1356.
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/yunwei/8313.html