La forma más simple y efectiva que descubrí para mí fue esta .
En resumen, en el host:
tunctl -u <username>
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
ip link set tap0 up
route add -host 192.168.0.20 dev tap0 <-- to be changed by you.
y para el invitado, solo ejecútalo con:
kvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
o
qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
Solo tiene que configurar un tapdispositivo, propiedad de su usuario, habilitar arp proxyingy configurar a routeentre su host e invitado.
El autor (y yo) lo usamos para tratar el problema de puentear a un wlan0dispositivo, que no es compatible con el kernel de Linux. Pero también funciona con una conexión por cable. En la arpconfiguración, simplemente cambie wlan0a eth0.
Usted debe establecer la dirección IP del invitado, ya DHCPque no funciona.
Y ya puedes hacer ping a tu host.