在主机浏览器上显示在 VirtualBox 客户 VM OS 上运行的网站?

在主机浏览器上显示在 VirtualBox 客户 VM OS 上运行的网站?

我在 VirtualBox 中将 Debian 服务器作为 VM 运行,它本身在(真实的)Windows 7 计算机上运行。

为了测试目的,我需要能够访问在 Debian VM 上运行的 Web 应用程序通过实际主机 Windows 计算机上运行的 Web 浏览器(但该网站不应从互联网上的任何其他地方访问)。虚拟机本身也需要与互联网建立有效的连接,以便下载软件更新等。

使用在 VM OS 上运行的浏览器,可以使用 VM 的(虚拟)主机名(FQDN)访问网站(设置了默认的单个虚拟网络接口并自动配置为 NAT),并且我通常可以访问互联网,但尝试通过(小)VM 窗口访问网站相当不方便且不太可取。

来自VirtualBox 网络文档看起来我可能可能需要设置(额外的?)桥接虚拟网络接口,以便使虚拟机上的 Web 服务器可供真实主机使用,但恐怕我发现说明不清楚。

我尝试通过 VirtualBox 网络设置创建一个新的虚拟接口,并将其设置为“桥接适配器”,但这似乎只是以某种方式自动设置了一个 IPv6 地址(并​​且没有创建 IPv4 地址设置?)。如果相关的话,我们的网站尚不支持 IPv6,因此虚拟机上的网站可能需要通过 IPv4 才能被真正的主机操作系统访问?

虽然我可以通过 IPv6 IP 地址访问主机操作系统上的站点主页,但是只要我尝试在地址栏中添加 URI 路径,它就会恢复为虚拟计算机的(假)主机名,因此我无法访问站点的其余部分。

我是否朝着正确的方向前进,或者使用带有端口转发的 NAT(也在网络页面上列出)也许也是一个选择?

恐怕我发现 VirtualBox 文档根本没有多大帮助,如果能澄清我需要做什么,我将非常感激。

答案1

我不确定这是否是该问题的最佳解决方案,但经过进一步实验后,以下方法似乎有效:

  1. 在 VirtualBox 中创建第二个网络接口,并将其设置为在“仅主机”模式

  2. 编辑hosts主机操作系统上的文件以添加虚拟机主机名的硬编码 IP 地址。

在这种情况下,主机操作系统是 Windows,文件hosts是: c:\windows\system32\drivers\etc\hosts

  1. 这样,主机操作系统上运行的 Web 浏览器就可以连接到客户操作系统上的虚拟机中运行的网站/Web 服务器。

我唯一担心的是,VirtualBox 可能会在将来的某个时候决定不将相同的(私有网络)IP 地址分配给第二个网络接口,这取决于它如何确定这些事情。

[有关编辑 Windowshosts文件的信息由以下人员提供: 编辑 hosts 文件

答案2

首先,除非你无论如何都要使用 IP6,否则就关闭它,听起来你在这方面想得太多了。创建一个桥接器,检查防火墙,只打开你需要的端口。你可以访问几乎任何好的网站,然后在谷歌上搜索我的外部 IP 地址。有了这些信息,你应该能够检查任何端口,因为你有 WAN 地址。

如果你仍然遇到问题,请给我发送电子邮件[电子邮件保护]我可以远程登录来帮助你。

相关内容