Como determinar o endereço IP do sistema operacional convidado no qemu?

Como determinar o endereço IP do sistema operacional convidado no qemu?

Depois de inicializar o Windows XP no qemu, ele recebe um IP atribuído do servidor DHCP. Minha pergunta é: como determino o IP atribuído ao Windows XP, para que eu possa me conectar ao Windows XP?

Aqui estão mais detalhes sobre minha configuração:

Eu corro dnsmasqna interface tun0. Eu configurei para fornecer IPs do intervalo 10.10.10.0/24. Eu uso -net tunpara qemu. Eu executo várias instalações de convidados do Windows XP, portanto não posso usar endereços IP estáticos.

Responder1

A abordagem genérica é terAgente Convidado Qemue execute um comando específico,guest-network-get-interacespara obter suas configurações de rede.

Para que isso funcione, você precisa primeiro adicionar um soquete de agente convidado à configuração da VM. O Qemu precisa ser executado de maneira semelhante a esta:

qemu-system-x86_64 ... \
 -device virtio-serial,id=qga0 \
 -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 \
 -chardev socket,path=base.qga,server=on,wait=off,id=qga0 \
...

Isto criará um arquivo de soquete base.qgano diretório atual. Então você pode se conectar a este soquete usando socat, mas por conveniência (edição de linha de comando e histórico), sugiro envolvê-lo com rlwrap:

rlwrap socat STDIO UNIX:base.qga

No sistema operacional convidado você deve instalar o driver serial VirtIO (paravirtual) e o serviço de agente convidado, ambos fornecidos na forma de imagem ISO dos drivers virtio. Você pode obtê-lo no projeto de drivers do Fedora VirtIO para Windows; no sistema operacional Linux, ele está disponível em repositórios de distribuição em todas as principais distros ou você mesmo pode construí-lo a partir do código-fonte do Qemu.

O agente convidado é uma maneira poderosa de comunicação entre o host (hipervisor) e a VM. Outras tecnologias de virtualização também fornecem agentes para funcionalidade de integração semelhante (por exemplo, VMWare Additions, VirtualBox Additions). Com o Qemu Guest Agent você pode não apenas obter diversas informações sobre o convidado, mas também executar alguns comandos e configurar dentro dele. O Proxmox VE, que é baseado em Debian e Qemu, também usa seu agente convidado para congelar o disco antes de fazer backups e para outros recursos de nível empresarial.

Responder2

A lista de concessões do dnsmasq é armazenada em um arquivo especificado na opção de configuração dhcp-leasefile. Para a versão upstream, o local padrão é /var/lib/misc/dnsmasq.leases.

Responder3

Se você iniciá-lo, você saberá o nome do host. Com isso você consulta seu DNS (devidamente configurado, é claro). Afinal, é DNSmasq.

informação relacionada