我在 Windows 7 上使用 VirtualBox 5.1.8(和 5.1.18)和 Kubuntu 16.04
设置:
- 客户机只有一个网络接口,模式为 NAT
- Windows 防火墙已关闭(所有配置文件、所有接口)
- 我在主机(Windows)上安装了 Bromium 和 Pulse Secure
症状:
- 我可以 ping 客户端上的任何 IP 地址。ICMP 数据包从虚拟机发送到主机,然后进入网络,再返回。我使用 Linux(客户端)上的 tcpdump 和 Windows(主机)上的 Wireshark 对其进行了测试。
- 我无法连接到虚拟机之外的任何 IP 地址:
- 每当我尝试连接到虚拟机外部的任何 IP 地址时,都会收到“网络不可达”错误
- 客户系统上的 tcpdump 显示默认网关使用 ICMP 消息“网络不可达”来响应 TCP 连接请求消息。
- 主机上的 Wireshark 未显示与连接尝试相关的任何活动。
- 从主机(Windows)盒连接到同一主机工作正常。
- 对于同一个客户系统,桥接而不是 NAT 可以正常工作(当我将接口模式设置为桥接连接时,工作正常)。
- 在同一台主机上安装 FreeBSD 作为客户机并遇到同样的问题(可以 ping,无法连接)
- 我的一位同事拥有完全相同的设置,并且对他来说效果很好。
我的目标是让 NAT 模式再次发挥作用。
迄今已尝试:
- 我尝试将 VirtualBox 升级到 5.1.18 版本,但没有帮助
- 将 VirtualBox 降级至版本 5.1.8(最新已知工作版本)
- 每次重新安装和重新配置虚拟机后都需要重新启动
- 安装新的虚拟机并安装不同的操作系统(FreeBSD)
- 使用“Nat Network”模式
我的问题是:
- 什么原因导致 NAT 丢弃 TCP 连接并使其无法访问?
- 我如何才能追踪导致 TCP 连接中断的原因?
- 我怎样才能使 NAT 再次工作?
我无法使用桥接模式,因为我无法在网络上拥有其他 IP 地址(除了我的 Windows 机器的 IP 地址)。所以我必须使用 NAT(或 NAT 网络)
答案1
我重新安装了 Windows(主机),问题解决了。设置相同。
- 重新安装 Windows
- 安装 VirutalBox
- 将虚拟机添加到 VirtualBox 并启动
它可以像以前一样工作。