仅配置 VirtualBox 主机网络:OSX 主机、Ubuntu 来宾

Gre*_*g K 10 networking virtualbox osx-snow-leopard ubuntu macos

已解决:我通过将 vbox 网络设置重新配置为 192.168.21.19(在 VirtualBox -> Preferences -> Network 中)并注释指定网关的行,因为它不需要它(仅主机接口上没有外部访问),以此来实现此目的发布

然后我可以192.168.21.20从 OSX SSH连接到 Ubuntu。我改变了我的/etc/fstab坐骑指向//192.168.21.19/


我有一个配置了两个接口的 Ubuntu 来宾,eth0正在使用 NAT 并且工作正常,我可以访问网络。

第二个接口eth1设置为仅托管网络,VirtualBoxvboxnet0在主机上创建了一个虚拟适配器。

vboxnet0在 VirtualBox 适配器设置中配置了以下内容:

ip 192.168.21.20
subnet 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

VM 来宾运行后,ifconfig在 OSX 上vboxnet0设置为:

vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:00:27:00:00:00 
    inet 192.168.21.20 netmask 0xffffff00 broadcast 192.168.21.255
Run Code Online (Sandbox Code Playgroud)

在来宾中,eth0设置为使用 DHCP,我已静态分配eth1给 192.168.21.20(这是一个错误,主机和来宾之间的 IP 冲突):

auto eth1
iface eth1 inet static
    address 192.168.21.20 (should be .19)
    netmask 255.255.255.0
    network 192.168.21.0
    broadcast 192.168.21.255
    gateway 192.168.21.1
Run Code Online (Sandbox Code Playgroud)

192.168.21.1 上没有设备 - 我应该将网关设置为什么?(结果证明不需要网关,因为它是一个仅限主机的接口)。网络访问由 NAT 适配器提供。

在来宾中,路线如下所示:

Destination    Gateway       Genmask        Flags Metric   Ref  Use  Iface
192.168.21.0   *             255.255.255.0  U     0        0    0    eth1
10.0.2.0       *             255.255.255.0  U     0        0    0    eth0
default        10.0.2.2      0.0.0.0        UG    100      0    0    eth0
default        192.168.21.1  0.0.0.0        UG    100      0    0    eth1
Run Code Online (Sandbox Code Playgroud)

OSX 上的路由表:

$ netstat -nr
Routing tables

Internet:
Destination        Gateway          Flags      Refs      Use    Netif Expire
default            10.77.36.1       UGSc         28        0      en1
10.77.36/22        link#5           UCS           5        0      en1
10.77.39.38        127.0.0.1        UHS           1     2236      lo0
10.77.39.255       link#5           UHLWbI        1       66      en1
127                127.0.0.1        UCS           0        0      lo0
127.0.0.1          127.0.0.1        UH            1     8642      lo0
169.254            link#5           UCS           0        0      en1
192.168.21         link#7           UC            2        0  vboxnet
192.168.21.20      a:0:27:0:0:0     UHLWI         0        4      lo0
192.168.21.255     link#7           UHLWbI        2       64  vboxnet
Run Code Online (Sandbox Code Playgroud)

我无法通过 SSH 从主机到来宾(我曾经能够在 VM 配置桥接连接时这样做):

$ ssh 192.168.21.20
ssh: connect to host 192.168.21.20 port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?TIA

Gre*_*g K 8

vboxnet0将主机上的虚拟适配器 IP重新配置为192.168.21.19使其与来宾配置不同.20- 然后它们不会发生冲突。有关解决方案的更多详细信息,请参阅我在帖子中的更新。