8

我正在尝试调试一个问题,我正在了解 VirtualBox 中的 NAT 网络适配器和 VMWare Fusion 中的 NAT 网络适配器之间的区别。到目前为止,我可以配置 VMWare 并达到我想要的结果,但我无法在 VirtualBox 中实现这一点。在 VMWare 虚拟机中,我可以使用 NAT 网络适配器来实现以下目标:

  • 访客被分配了自己的唯一 IP 地址
  • 客人可以访问外部互联网
  • 主机可以 ping 来宾并 ssh 到它
  • 来宾可以 ping 主机并 ssh 到它
  • 来宾可以像主机一样解析(内部)域名

我以为我看到这在 VirtualBox 中是可能的,但现在我认为这是不可能的。也许有一些接近 VMWare 的选项,我/etc/resolv.conf在来宾中手动修改以匹配主机的选项?我确实发现了一些似乎表明我应该在 VirtualBox 中使用桥接模式的问题,例如这个问题:Can't ping to VirtualBox instance,其中两个答案似乎都表明 VirtualBox 的 NAT 适配器不支持我想要的功能:

很明显,当您使用 NAT 时,在 NAT 之后将无法 ping 主机。这就是 NAT 的工作方式……即使您将拥有真正的非虚拟主机,行为也会相同。

您需要将网络模式从 NAT 更改为桥接,并且 ping 应该开始双向工作。

此外,这个问题的答案似乎支持上述内容:How to ping ubuntu guest on VirtualBox

VirtualBox 中的 NAT 适配器是否无法从主机操作系统 ping 通?

4

1 回答 1

3

我已经使用虚拟盒子多年,并且在计算机网络方面也有 2-3 年的经验。

是的,在虚拟盒子中,您无法从主机 ping 使用 NAT 的来宾,这也是 NAT 在现实生活中的工作方式。在现实生活中,如果你想能够联系到 NAT 后面的主机,你必须设置一个端口转发规则,将连接到路由器某个端口的连接转发到某台机器。这必须在路由器上完成。

要在虚拟机环境中启用端口转发,请在虚拟机的配置窗口中选择网络窗格,展开高级部分,然后单击端口转发按钮。请注意,此按钮仅在您使用 NAT 网络类型时才有效 - 如果您使用 NAT,您只需转发端口(http://www.howtogeek.com/122641/how-to-forward-ports -to-a-virtual-machine-and-use-it-as-a-server/)。

于 2014-05-12T01:36:53.660 回答