作者:刘旭 | 来源:互联网 | 2023-10-10 15:37
今天在环境中需要安装虚似机,主要应用在测试环境上。但虚似机做好以后,发现使用SSH登录其它服务器的时候,出现“ssh_exchange_identification:read:Connection
今天在环境中需要安装虚似机,主要应用在测试环境上。但虚似机做好以后,发现使用SSH登录其它服务器的时候,出现
“ssh_exchange_identification: read: Connection reset by peer”
错误提示。虚似机是单网卡多IP的模式,初始怀疑可能是IP地址造成的,但变成单IP后,还是发现这样的问题。
而且有些跪疑的是,有时能连上,有时连不上。可后续又发现,从其它的PC,SSH登录虚似机,没有问题,登录装载虚似机的PC也没有问题。也就是说,外部应用SSH连入是没有问题的,但从内部SSH连入外部网络,有时可以,有时发现错误提示。
一直找不到问题的所在,Linux的防火墙关了,IP设成单IP形式。最后实在是没有办法了,开始抓包进行分析。
果不其然,通过抓包分析得到。
(为了叙述方便,设备网络环境)
[ 虚拟机IP地址 : 10.1.1.101 ]
[ 服务器IP地址 : 10.1.1.254 ]
101 向 254 发起SYN 请求,
254 向 101 回应SYN 请求,附带ACK,
101 向 254 发起 ACK , (问题出现在这里,ACK的回应是错误。至使后续的后为RST包)
254 向 101 发现 RST 。
通过分析,有可能是 虚拟机 与 服务器 之前的网络环境 存在问题。
通过排查,发现虚拟机的发现是一个Hub,且有两条链路与服务器相连。
去掉其中的一条链路之后,访问正常的。虚似机可以SSH登录到服务器,外部的PC也可以SSH登录到虚似机了。
通过这件事,发现造成SSH登录失败的,很有可能是网络环境的混乱造成的。但至于为什么虚拟机回应ACK是错误的。
现在还是很清楚,有一种可能,就是在Hub 通过服务器的链路中,有一种进行了交换机或路由器所造成的。