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
Best Answer
I reconfigured the
vboxnet0
virtual adapter IP on the host to192.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.