VirtualBox:使主机和来宾操作系统相互通信

aka*_*ppa 9 networking virtualbox virtual-machine

正如我在标题中所说,我想通过 ssh 从主机操作系统访问我的 VM,反之亦然(两个操作系统都是 ubuntu;主机上是 10.10,来宾上是 9.10)

为此,我在来宾上配置了一个桥接 NIC,将其连接到我的物理 eth0 NIC,然后静态分配给同一子网(10.0.0.100 和 10.0.0.100)的两个接口地址。

所有接口都已启动,路由 -n 中有正确的条目:

$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:1d:ba:65:10:12  
          inet addr:10.0.0.100  Bcast:10.0.255.255  Mask:255.255.0.0
...
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0
Run Code Online (Sandbox Code Playgroud)

(这是在主机操作系统上 - 来宾操作系统上的情况相同)。

问题是两台机器不会“看到”彼此:

$ ping 10.0.0.101
PING 10.0.0.101 (10.0.0.101) 56(84) bytes of data.
^C
--- 10.0.0.101 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5040ms
Run Code Online (Sandbox Code Playgroud)

有什么问题?我缺少什么?

Mok*_*bai 7

我可以告诉您需要设置的不是“桥接”适配器,而是“仅主机”适配器。

桥接适配器将完全切断您的主机并通过您的物理网卡转发所有数据,甚至绕过默认使用的 NAT 模式。如果您想在虚拟机上托管网络范围的服务,我希望这最有用。

另一方面,“仅主机”适配器设置了一个小型 dhcp 服务器(供您的来宾获取 IP)并仅在主机和来宾之间传递数据。

您可以使用ifconfig和设置任何其他连接一样的方式设置仅主机连接dhcpcd


Yoi*_*chi 6

参考:https://blogs.oracle.com/fatbloke/entry/networking_in_virtualbox1

虚拟机 -> 设置 -> 网络

将第一个适配器设置为 Host-Only

  • 主机操作系统获得 192.168.56.1,客人获得 192.168.56.101/254

使用例如 NAT 设置第二个适配器

  • 这将允许来宾操作系统与外部世界对话
  • 每个来宾操作系统都获得 10.0.2.15
  • 每个来宾操作系统都可以设置自己的端口转发
  • 当然,不同的guest不应该使用相同的主机端口