I've got this setup with VirtualBox, but I'd like to try getting it to work with KVM instead, partly just to get rid of Oracle and partly just to learn more about KVM.

I run a VirtualBox VM which has another distro of Linux in it. Once it starts up, I can ssh into it (-p 2222, though it's on port 22 in the VM, and should only work from localhost) and run X apps through that ssh tunnel. The applications running in the VM have access to my real machine's VPN since it's using NAT.

So I've managed to get QEMU/KVM running the same VirtualBox disk image. If I ssh from that image to a machine behind the VPN, it seems to work using vde/slirpvde (but ping doesn't work?). However, I haven't yet figured out how to allow my real machine to ssh into the VM.

I'd also like to be able to expose my DNS server on my main machine to the VM, but without exposing it to any other machines on the network (since no other machine has access to the VPN, and that DNS server handles redirections to the internal network behind the VPN). If I can't get that to work, I'll just have the VM only use the VPN DNS (this works now), so it's not critical.