在 Virtual Box 下通过浏览器访问虚拟机

在 Virtual Box 下通过浏览器访问虚拟机

我正在运行 20.04.1。我使用 Oracle VirtualBox 6.12 安装了虚拟机。VM 也是 Ubuntu 20.04。虚拟机网络类型为bridged。当我尝试从 Google Chrome 或主机上的 Firefox 访问虚拟机时,我收到connection refused虚拟机上的报告,我可以使用 VM 上的 ping 来访问localhost和 IP 地址。VM 上的 nmap 可以localhost成功访问,但不能访问 VM 的 IP 地址。从主机使用时,和pingnmap无法访问localhostVM 的 IP 地址。两台机器都在同一个子网上。我尝试ufw在 VM 上启用和禁用它们。以前我用同样的主机但不同的 VM 时,这个方法有效。此外,我无法在从主机到 VM 的端口 22 上使用ssh同样的问题。

我尝试制作一台新的虚拟机,问题略有改善。在这种情况下,我仍然无法通过主机上的浏览器连接到虚拟机上的 Web 服务器,但我能够从主机 ping 虚拟机。nmap主机仍然表示它认为虚拟机已关闭。

关于如何解决这个问题,我有什么想法吗?

答案1

我认为您需要在虚拟机上启用端口转发。(使用选项NAT中的类型Attached to

在 Virtualbox 中,选择Settings虚拟机上下文菜单的(或Machine -> Settings在虚拟机运行时),转到Network,然后展开Advanced选项并选择Port Forwarding。在出现的对话框中,单击+符号以添加新的 TCP/IP 规则(如果不存在)。

Host PortGuest Port字段中输入端口号(例如8080),然后单击OK

现在,您应该能够访问8080客户机上的服务器(例如 HTTP)(如果您已在该端口配置了 HTTP 服务器)。

答案2

事实证明,问题与操作系统无关。网络服务器正在启动,127.0.0.1但网络上无法访问。将其更改为启动即可0.0.0.0解决问题。

答案3

这也让我抓狂了一段时间。我在 Alma linux 上运行了一个 LAMP 堆栈 - 在 vi​​rtualbox 中运行 - 网络设置桥接模式。在 lamp 服务器 vm 本身上,我可以打开浏览器并输入 http://server-IP,它运行正常。然后,我启动了一个克隆的 alma linux,也是在桥接模式下。我可以使用克隆 PING lamp 服务器,但是当我在浏览器中输入 IP 地址时,我无法连接。我还有一个 windows 10 主机。我尝试在浏览器中解析 lamp IP,但也失败了。所以我昨晚关闭了两个 vm 并退出。今天我启动它们,进入 win10 主机,再次无法解析 lamp vm 上的页面。然后 - 我尝试了 http://server-IP:8080 - 失败了。然后我尝试了 http://server-IP:80 并且... 它成功了!它现在可以在另一个 vm 上运行,但我不必输入端口 80,尽管我昨天无法解析此 vm 上的站点。因此,在桥接模式下,将混杂模式设置为拒绝,我只需在 URL 中输入 80 端口号即可解析网站。Fwiw

相关内容