![VMWare NAT 从客户机释放 SYN 数据包,但不允许 SYN/ACK 数据包进入客户机](https://linux22.com/image/622791/VMWare%20NAT%20%E4%BB%8E%E5%AE%A2%E6%88%B7%E6%9C%BA%E9%87%8A%E6%94%BE%20SYN%20%E6%95%B0%E6%8D%AE%E5%8C%85%EF%BC%8C%E4%BD%86%E4%B8%8D%E5%85%81%E8%AE%B8%20SYN%2FACK%20%E6%95%B0%E6%8D%AE%E5%8C%85%E8%BF%9B%E5%85%A5%E5%AE%A2%E6%88%B7%E6%9C%BA.png)
VMWare Server 2.0.2 主机操作系统为 Windows Server 2008 R2 标准客户操作系统为 Windows XP
我正在使用 VMWare VMNet8,即 NAT 网络。VM 客户机无法看到 VM 主机周围的网络。
VM 主机中的数据包嗅探显示:
- SYN 被发送到互联网主机
- 收到来自它们的 SYN/ACK
- 没有向主机发回 ACK
- 最终目标互联网主机使不完整的连接超时并发出 RST。
然而,VM 客户机中的数据包嗅探仅显示:
- SYN 被发送到互联网主机
- 未收到 SYN/ACK
- 也没有收到 RST
所以我得到连接超时。
VMNet8(和 VMNet1)以完全标准的方式配置。
根据其他地方的建议,我vmnat.exe
用 VM Player 中的版本替换了 VM Host。没有变化。
我有另一台服务器运行的是早期版本的 VMWare Server 1.0.6,其中完全相同的设置运行完美。除了 NAT 子网号外,配置完全相同。在进行数据包嗅探之前,我一直将此归因于未发现的配置差异或主机中未发现的防火墙设置,但嗅探表明这是一个较低级别的问题,可能仍然在 VMWare 的 NAT 中。
这是一个已知问题吗?有解决方法吗?还是我走错了路,应该去别处找找?
注意:由于该问题之外的原因,我需要使用 NAT,而不是桥接。
答案1
证明这一点有点困难没有人知道这是否是一个错误,但我为您快速搜索了 VMWare 论坛并发现了以下内容:
https://communities.vmware.com/message/1854012#1854012
我可以看到来自虚拟机的 SYN 数据包通过 vmnet8 适配器。然后,此 SYN 通过我的物理网络适配器发送。我还通过物理网络适配器从外部主机收到 ACK、SYN。我没有看到 ACK、SYN 通过 vmnet8 返回到虚拟机。
https://communities.vmware.com/message/1672902#1672902
我看到从主机操作系统发送到客户机的第二个 SYN 以启动新的连接,并且它得到了适当的 SYN/ACK,然后是 ACK,但客户端从未从其终端看到任何这些。
https://communities.vmware.com/message/2030172#2030172
我可以 ping 任何网站,并且会得到响应,没有问题。但是,如果我尝试使用 IE 查看网站,它会返回无法找到。我尝试更改虚拟机使用的 DNS 服务器,但没有帮助。
不确定这些都是常见的配置错误还是错误。有很多报告和网络捕获表明 VMWare Server 2 和 NAT 发生了一些奇怪的事情。
我想你可以尝试提交错误报告...
答案2
嗯...考虑到 VMware Server 2.02 自 2011 年起就已停产,我不知道如果这是一个错误,是否有任何补救措施。是时候放弃这个软件了。虚拟盒是一种常见的替代方案,或者您可以回到更旧的 VMware Server 1.x,因为它可以满足您的要求。