我遇到了如下的 TCP 连接问题。
设置:
VMWare 虚拟机:Windows Server 2008 R2 DataCenter SP1,IP:192.168.2.111,DG:192.168.2.254 主机:Windows 7 Professional SP1,IP:192.168.2.152,DG:192.168.2.254
两台机器上的防火墙均已禁用
虚拟机设置网络适配器=桥接模式
无 IP 地址或 MAC 地址冲突(“arp -a” 对于此映射看起来没问题)
Wireshark 在虚拟机和主机上运行
Linux Box 2.6.18-194.e15,IP:10.1.0.120,DG:10.1.0.254
- 防火墙已禁用
VM 和 Linux 机箱位于不同的子网,但所有流量都通过默认网关(192.168.2.254 和 10.1.0.254)双向传输,正常
问题:
无法从 Linux 机器到 VM 建立 TCP 连接
在 Linux 上,如果我这样做:traceroute -T 192.168.2.111 -p5066
SYN 消息由在主机(192.168.2.152)上运行的 Wireshark 接收,而不是由虚拟机(192.168.2.111)接收,因此它们无法到达虚拟机。
192.168.2.111 上肯定有一个应用程序正在监听端口 5066 上的 TCP,因此,如果 SYN 到达 VM,它就会响应。
我可以从 Linux ping 192.168.2.111,并且可以执行 traceroute -I 192.168.2.111(使用类似 ping 的 ICMP),但 TCP 不起作用。
我可以从 VM 到 Linux 机器以另一种方式建立 TCP 连接,因此我认为虚拟网络适配器和主机物理网络适配器之间的映射没有任何问题。
如果我 ping 127.0.0.1,虚拟机就可以 ping 通自己,虚拟机和主机可以互相 ping 通,并且我可以在虚拟机和主机之间双向浏览文件。
我已经卸载并重新安装了 VM 上的网络适配器以及 IPv4 的 TCP/IP,但仍然没有成功。
还有什么建议可以尝试吗?
谢谢