公司私有云升级,猜测因为网络连接方法从vlan 变为vxlan ,导致虚拟机 MTU 从1500 改为1450。而容器内网络MTU 未改,导致网络不通。
永久修改方法可以在docker 启动参数里加MTU。
临时修改方法直接修改容器网络MTU,如果容器内无命令行工具,可以将容器网络命名空间映射出来再修改.
ln -s /var/run/docker/netns /var/run/netns
ip netns exec xxx ifconfig ethxx mtu 1450 up
另外可以通过ping 发送固定大小包来测试MTU
ping -s 1422 -M do URL
注意把数据包长度加上数据包头28.