Como permitir que o sistema operacional convidado acesse a Internet no qemu?

2

Eu criei uma imagem do Windows XP e estou inicializando com o qemu. Ao usar o "modo de rede do usuário" via -net user , meu sistema operacional convidado (windows xp) obtém o IP 10.0.2.15 atribuído e eu posso executar o ping 10.0.2.2 para que os drivers do Windows sejam instalados corretamente.

Infelizmente, não consigo acessar mais nada. Eu li os tutoriais e descobri que a "rede de modo de usuário" não redireciona as conexões para a Internet e eu tenho que usar o dispositivo TAP ou o dispositivo Bridge.

Eu não estou familiarizado com esses dispositivos e os tutoriais são muito confusos e complicados.

Um dos tutoriais sugeriu que eu usasse o qemu-bridge-helper. Eu configurei o /etc/qemu/bridge.conf para permitir o dispositivo bridge br0 e criei o dispositivo br0 via brctl addbr br0 .

Eu segui os tutoriais e inicializei meu winxp dessa maneira:

qemu-system-x86_64 --enable-kvm -m 2048 \
  -drive file=winxp.img,if=virtio \
  -net nic,model=virtio \
  -net bridge,br=br0

A imagem inicializa bem, mas eu não recebo um endereço IP. A razão é que o Windows está configurado para usar o DHCP, mas "br0" não está fornecendo um endereço DHCP, pois é apenas uma interface de ponte (de alguma forma ligada a tap0, mas não tenho certeza do que isso significa).

A minha pergunta é - como eu configuro "br0" para dar endereços ao winxp através do DHCP? Eu tenho que executar um servidor dhcp na interface tap0? Como br0, tap0 e eth0 estão relacionados? (eth0 é minha interface IP estática, a única interface da internet).

Minha segunda pergunta é - existe uma maneira mais fácil de configurar tudo isso para permitir acesso simples à Internet aos usuários convidados?

    
por bodacydo 26.10.2016 / 02:30

2 respostas

0

Após seu comando brctl addbr br0 , você precisa conectar a nova ponte à interface de rede real, por exemplo eth0 , que está conectada à Internet. Use para o próximo comando brctl addif br0 eth0 .

    
por 26.10.2016 / 07:12
0

My second question is - is there an easier way to configure all of this to allow simple internet access to guest os?

Você não precisa (ou, pelo menos, não deveria) configurar manualmente qualquer coisa para acesso simples à Internet; O QEMU manipula automaticamente. Ele tem algumas limitações, como não suportar o protocolo ICMP (usado por ping ), não estar visível para a rede externa, nem poder falar com outras máquinas virtuais executadas da mesma maneira, mas funciona bem para uso simples. Veja o Arch Wiki para mais informações.

    
por 10.12.2018 / 14:15