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 dnsmasq
na interface tun0. Eu configurei para fornecer IPs do intervalo 10.10.10.0/24. Eu uso -net tun
para 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.qga
no 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.