记一次因错误的mtu导致github无法访问的问题

记录一个,SSL不能分包导致mtu超过限制的丢包问题

环境

设备1(ppp server):
eth0 -> 外网链路(可以正常访问github,google)
ppp0 -> 隧道 192.168.52.1

设备2(客户端锐捷路由器):
ppp0 -> 隧道与设备1连接 192.168.52.10

现象

访问Google 正常
访问Github 失败

复现

  1. curl -v http://github.com (80端口)正常响应
  2. curl -v https://github.com (443端口)TLS server hello 失败

分析:

  1. 在 设备2 ppp0 抓包可得到 SSL 没有server hello包
  2. 在 设备1 eth0 抓包可得到 server hello包正常获取且大小是 2712
  3. 在 设备1 ppp0 抓包发现无server hello包
  4. 同理分析谷歌可发现设备1 的 eth0 和 ppp0 均可得到 server hello包
  5. 分析 server hello 关键帧发现 谷歌运行分片,Github不允许分片,从 eth0 转发到 ppp0 mtu发生变化导致丢包
    是否可以分片
    mtu丢包

方案

修改ppp0的mtu到5000(这个数值在我的网络环境下可行,你需要通过ping 设备1ppp0的ip -l 1200命令测试,通过调整-l的大小测出一个最大值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值