VirtualBox:使主机操作系统和来宾操作系统彼此对话


9

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

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

所有接口都已启动,并在route -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

(这在主机操作系统上-在来宾操作系统上也是如此)。

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

$ 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

有什么问题?我想念的是什么?

Answers:


7

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

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

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

您可以使用ifconfig和,以与其他任何连接相同的方式设置仅主机的连接dhcpcd


6

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

VM->设置->网络

将第一个适配器设置为“仅主机”

  • 主机操作系统获得192.168.56.1,来宾操作系统获得192.168.56.101/254

用NAT设置第二个适配器

  • 这将允许来宾OS与外界对话
  • 每个来宾操作系统获得10.0.2.15
  • 每个来宾操作系统可以设置自己的端口转发
  • 当然,同一主机端口不应用于不同的来宾
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.