解决 expecting SSH2_MSG_KEX_ECDH_REPLY 等一系列网络问题

背景

公司有多个内网,之间通过 VPN 互联。

问题

本地使用 Linux 电脑,进行软件开发等活动。遇到了各种各样奇异的网络问题,例如 SSH 不能连接内网的 git;开发的 Java 程序不能访问内网的数据库、zookeeper;远程桌面可以连接,但一旦复制粘贴文件,远程桌面就断开等。ping、telnet 连接对应端口,都是正常的。

更奇怪的是,如果重启进入 Windows 系统,“SSH 不能连接内网的 git”就自动好了。

一度怀疑是某些数据包触发了墙,然后整个连接被墙了。

解决

求助运维同事,一开始也排查不出来,后来在给 SSH 连接加上了详细的 debug 信息后,发现是”expecting SSH2_MSG_KEX_ECDH_REPLY”这步卡住了。

上网一搜,就是 MTU 的问题。

马上用 ifconfig 把 MTU 从 1500 改到 1400,结果问题依然存在。改为 1300,SSH 能联通了,其他问题也都没有了。

后记

MTU 感觉就是在学网络时才有提到的词,没想到被坑到了。很可能与公司加了一层 VPN 有关,毕竟平时 1500 MTU,还没出现过问题。


发表评论