公司的云专线+互联云业务的场景


某些客户需要在公有云和我们的互联云之间起GRE隧道进而实现同子网IP段。


我们发现从互联云-》公有云的速度正常,但是公有云-》互联云的速度不正常。

而不用GRE遂道,直接使用路由速度也正常。


问题已经发现了好些天了,同事死活无法解决。


更换IPIP隧道测试没有问题,GRE隧道就是不行。


我进行抓包,发现了奇怪的现象:


客户侧:


服务器------HOST侧:



而服务器-------GUEST OS侧,则压根没有收到seq 38以后的包:2886    4310 等

截图忘记了


然后各种实验,发现centos7的3.10.0-514.el7.x86_64 内核在进行转发GRE数据包时有BUG--------注意,不是直接使用,也就是说,物理机上直接创建GRE隧道没有问题。


升级KERNEL到4.1x则问题被解决。


为了查这个问题怀疑了各个因素:
MTU

链路质量

VLAN

一一验证出来不是。结果验证出来无论是用BRIDGE 还是 使用 direct方式创建VM 的interface,只要数据包经过HOST转发就有问题。

最终怀疑是HOST的KERNEL有BUG,验证后证实。这个场景应该是比较少见,在网络上也没有发现有同样的人说这个问题。


说出来和解决起来是挺简单的,但是中间排查的过程真的是很曲折。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐