VirtualBox:使主机和客户操作系统相互对话

VirtualBox:使主机和客户操作系统相互对话

正如我在标题中所说,我想通过 ssh 从主机操作系统访问我的虚拟机,反之亦然(两个操作系统都是 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

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

问题是两台机器彼此之间无法“看到”对方:

$ 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

有什么问题?我遗漏了什么?

答案1

据我所知,您需要设置的不是“桥接”适配器,而是“仅主机”适配器。

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

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

您可以按照与任何其他连接相同的方式设置仅主机连接,使用ifconfigdhcpcd

答案2

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

虚拟机->设置->网络

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

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

设置第二个适配器,例如 NAT

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

相关内容