我们所有的 Solaris VM 都存在问题。我们发现的问题是,通过 SSH 或 HTTP 连接时经常出现超时。这似乎只影响初始连接...当我通过 SSH 连接时,它会挂起并超时,甚至在我收到登录提示之前,但如果我按 CTRL C 并重试,它就会正常连接。
当发生这种情况时,我登录到 VMware 控制台并在 Solaris VM 上运行 snoop 命令来获取数据包捕获。以下是捕获。
我的计算机是 10.0.0.3,我删除了要连接的 Solaris VM 的主机名。
根据数据包捕获,虚拟机似乎看到了我的第一个 SYN 数据包,但没有回复,促使我的计算机重新发送它。然后它决定用 ACK 数据包回复,我认为这应该是 SYN ACK 数据包。然后它似乎发送了一个 SYN ACK 数据包。
有人知道为什么会这样吗?我们的 Cisco ASA 防火墙等待 30 秒,然后由于 SYN 超时而断开连接。
在此先感谢您的帮助。
德里克
答案1
最新的补丁集群似乎已经解决了我们的问题。该问题已记录在案这里,并在补丁 144489-05 中修复。
感谢您的帮助。
答案2
您的捕获缺少有关什么的信息别的网络中正在发生什么。每当我看到 TCP 连接中莫名其妙的延迟时,我首先想到的就是“DNS 查找”。当您使用 RFC1918 地址时,这种情况会加倍,因为通常甚至没有 rDNS 服务器可以说“滚开”,所以查找会超时。
我敢打赌,您的虚拟机的 DNS 配置有误,您看到的延迟是虚拟机上的 SSH 守护进程在询问“您是谁?”并等待结果。^C
-retry-success 序列可能刚好足够让虚拟机意识到它不会得到答案并让您第二次通过。
我敢打赌,对虚拟机往返流量的完整捕获会显示 DNS 数据包毫无意义。重新检查虚拟机上的 DNS 解析,您可能会发现一些有用的东西。