我在 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
我不确定这是否是该问题的最佳解决方案,但经过进一步实验后,以下方法似乎有效:
在 VirtualBox 中创建第二个网络接口,并将其设置为在“仅主机”模式。
编辑
hosts
主机操作系统上的文件以添加虚拟机主机名的硬编码 IP 地址。
在这种情况下,主机操作系统是 Windows,文件hosts
是:
c:\windows\system32\drivers\etc\hosts
- 这样,主机操作系统上运行的 Web 浏览器就可以连接到客户操作系统上的虚拟机中运行的网站/Web 服务器。
我唯一担心的是,VirtualBox 可能会在将来的某个时候决定不将相同的(私有网络)IP 地址分配给第二个网络接口,这取决于它如何确定这些事情。
[有关编辑 Windowshosts
文件的信息由以下人员提供:
编辑 hosts 文件
答案2
首先,除非你无论如何都要使用 IP6,否则就关闭它,听起来你在这方面想得太多了。创建一个桥接器,检查防火墙,只打开你需要的端口。你可以访问几乎任何好的网站,然后在谷歌上搜索我的外部 IP 地址。有了这些信息,你应该能够检查任何端口,因为你有 WAN 地址。
如果你仍然遇到问题,请给我发送电子邮件[电子邮件保护]我可以远程登录来帮助你。