Configuring VirtualBox host only networking: OSX host, Ubuntu guest

30,099

I reconfigured the vboxnet0 virtual adapter IP on the host to 192.168.21.19 so it differs from the guests configuration of .20 - then they don't clash. See my updates in the post with more details about the solution.

Share:
30,099

Related videos on Youtube

Greg K
Author by

Greg K

"Simplicity is prerequisite for reliability" - Edsgar Dijkstra

Updated on September 17, 2022

Comments

  • Greg K
    Greg K over 1 year

    SOLVED: I got this working by reconfiguring the vbox network settings to 192.168.21.19 (in VirtualBox -> Preferences -> Network) and commenting the line specifying a gateway as it's not needed (no external access on the host only interface) as per this post.

    I can then SSH to 192.168.21.20 from OSX and connect to Ubuntu. I changed my /etc/fstab mounts to point to //192.168.21.19/


    I have a Ubuntu guest configured with two interfaces, eth0 is using NAT and works fine, I can access the net.

    The second interface eth1 is set to host only networking and VirtualBox has created a vboxnet0 virtual adapter on the host.

    I've configured vboxnet0 in VirtualBox adapter settings with the following:

    ip 192.168.21.20
    subnet 255.255.255.0
    

    Once the VM guest is running, ifconfig on OSX has vboxnet0 setup as:

    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
    

    In the guest, eth0 is set to use DHCP, I've statically assigned eth1 to 192.168.21.20 (this was a mistake and the IPs clash between host and guest):

    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
    

    There is no device on 192.168.21.1 - what should I set my gateway to? (turns out a gateway is not needed as it's a HOST only interface). Net access is provided by the NAT adapter.

    In the guest the routes look like so:

    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
    

    Route table on 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
    

    I can't SSH from the host to the guest (I used to be able to when the VM was configured with a bridged connection):

    $ ssh 192.168.21.20
    ssh: connect to host 192.168.21.20 port 22: Connection refused
    

    What have I done wrong here? TIA