HOST 无法通过 Virtualbox 的 NAT 网络连接到 GUEST,但其他人无法连​​接

Ton*_*nyY 14 virtualbox nat

它让我对 NAT 网络感到困惑,但我可以使用 VMware 和 Parallels Desktop 来做到这一点。

我知道 NAT 是如何工作的,只需要解释一下这种情况。

以下来自官方文档。为什么 HOST 无法通过 NAT 连接 GUEST。 在此处输入图片说明

小智 19

如果要从主机连接到来宾计算机,请使用 NAT 网络:

首先,创建一个NAT Network——在VirtualBox Manager中创建网络,File -> Preferences -> Network,并给它一个名字。

将该命名的 NAT 网络分配给 VirtualBox 中网络配置中的每台来宾计算机。

记下在您运行来宾计算机时分配给它们的 IP 地址。它将类似于 10.0.2.15 或 10.0.2.4。在 Posix 系统中,运行“ifconfig”并查看 em0 显示的 IP 地址。记录哪个地址去哪个访客机器。

编辑 NAT 网络的端口转发。在 VirtualBox 管理器中,转到文件 -> 首选项 -> 网络,然后单击您正在使用的 NAT 网络的编辑按钮。单击端口转发。添加将主机上的端口转发到来宾上的 IP 地址 + 端口的规则(您不需要为主机设置 IP 地址,这是可选的)。

  • 添加该规则后,您需要重新启动 VirtualBox(以及您的 VM) - 然后 VirtualBox 应该监听端口 2222,并且您通过您的 *hosts* IP 连接到您的来宾,而不是来宾 IP,例如 192.168.1.1:2222(不是10.0.2.4:2222 !) (2认同)

小智 10

我知道这是旧的,但这个话题仍然相关,我认为我还没有看到这个回复,所以这里是......我带着同样的问题来到这个线程。然后我想了想,实现了一个易于实现的理想解决方案。

添加第二个界面!!

一种是虚拟机与 Internet 通信的 NAT 接口。另一个是仅主机接口。就我而言,我正在安装 CentOS 来宾操作系统。新界面出现,两者都在各自的网络上获得了他们的 IP。host-only 不建立默认路由,所以没有冲突。它只是有效。我使用 VirtualBox 中定义的仅主机网络上的 IP 从主机公开访问来宾操作系统。


Sha*_*rpC 7

正如我从这个答案中发现的那样,官方文档似乎已得到改进,以更清楚地说明通信发生的方向:

组网方式概述


小智 5

要使用 NAT 网络从 HOST 连接到来宾 VM,只需添加一个端口转发。

之后,您可以像访问本地端口一样访问转发的端口:

ssh root@localhost
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明