A maneira mais simples e mais eficaz que descobri para mim foi essa .
Em resumo, no 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.
e para o convidado, basta executá-lo com:
kvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
ou
qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
Você só precisa configurar um tap
dispositivo, de propriedade de seu usuário, ativar arp proxying
e configurar um route
entre seu host e convidado.
O autor (e eu) usamos isso para lidar com o problema de fazer a ponte para um wlan0
dispositivo, que não é suportado pelo kernel do Linux. Mas também funciona com uma conexão com fio. Na arp
configuração, mude wlan0
para eth0
.
O endereço IP do convidado deve ser definido por você, pois DHCP
não funciona.
E você já pode executar ping no seu host.