I have an Ubuntu VM running on VirtualBox and an Android emulator running through Genymotion (which also uses VirtualBox), so I thought I could easily connect one VM to the other, right? Turns out it isn't so simple. I added a bridged adapter to the Ubuntu VM, restarted the ADB server and then ran
adb connect -emulatorIP-
So actually all you have to do is pretend that you're trying to connect to a remote device. On the host machine run
adb tcpip <port>
which will enable that port for remote connection. Then run in the VM
adb connect <deviceip>:<port>
to connect to the genymotion device.