Você deve poder usar a pilha de rede do modo de usuário. Comece assim qemu:
qemu-system-x86_64 \
-smp 1 -m 1024 \
-net user,net=10.0.0.0/8,host=10.0.0.1,hostfwd=tcp:127.0.0.1:2222-10.0.0.2:22 \
-net nic \
-cdrom systemrescuecd-x86-2.0.1.iso -boot d
As opções importantes:
-
-net nic
: mostra uma placa de rede virtual para o convidado -
-net user
: Fazer com que o processo do qemu no host se comunique pela rede real como qualquer outro processo -
net=10.0.0.0/8
: a sub-rede na rede virtual -
host=10.0.0.1
: o endereço IP do host na rede virtual -
hostfwd=tcp:127.0.0.1:2222-10.0.0.2:22
: O processo qemu no host atende conexões TCP de localhost na porta 2222 e as encaminha para a rede virtual para 10.0.0.2:22 (assim você pode ssh para sua nova máquina virtual)
No guest run
ifconfig eth0 10.0.0.2 up
ip route add default via 10.0.0.1 dev eth0
Teste o SSH do host para o convidado
ssh 127.0.0.1 -p 2222
e do convidado para hospedar
ssh 10.0.0.1
Teste a acessibilidade à Internet do convidado
wget google.com
O processo de host funciona como um roteador NAT. Apenas o tráfego TCP e UDP funcionará. Em particular, o ping só funciona entre o convidado e o host que você não pode pingar google.com (meu método usual de teste de rede). A vantagem dessa abordagem é que você nem precisa de privilégios de root.