¿Cómo determinar la dirección IP del sistema operativo invitado en qemu?

¿Cómo determinar la dirección IP del sistema operativo invitado en qemu?

Después de iniciar Windows XP en qemu, se le asigna una IP desde el servidor DHCP. Mi pregunta es: ¿cómo puedo determinar la IP que se le asignó a Windows XP para poder conectarme a Windows XP?

Aquí hay más detalles sobre mi configuración:

Corro dnsmasqen la interfaz tun0. Lo configuré para proporcionar IP del rango 10.10.10.0/24. Lo uso -net tunpara qemu. Ejecuto varias instalaciones de invitados de Windows XP, por lo que no puedo usar direcciones IP estáticas.

Respuesta1

El enfoque genérico es tenerAgente invitado de Qemuy ejecutar un comando específico,red-invitada-obtener-interaccionespara obtener su configuración de red.

Para que esto funcione, primero debe agregar un socket de agente invitado a la configuración de la VM. Qemu debe ejecutarse de forma similar 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 \
...

Esto creará un archivo de socket base.qgaen el directorio actual. Luego puede conectarse a este socket usando socat, pero por conveniencia (edición de línea de comando e historial) sugeriría envolverlo con rlwrap:

rlwrap socat STDIO UNIX:base.qga

En el sistema operativo invitado, debe instalar el controlador VirtIO (paravirtual) de serie y el servicio de agente invitado; ambos se suministran en forma de imagen ISO de controladores virtio. Puede obtenerlo del proyecto de controladores Fedora VirtIO para Windows; en el sistema operativo Linux, está disponible en repositorios de distribución en todas las distribuciones principales o puede compilarlo usted mismo desde la fuente Qemu.

El agente invitado es una forma poderosa de comunicarse entre el host (hipervisor) y la VM; otras tecnologías de virtualización también proporcionan agentes para una funcionalidad de integración similar (por ejemplo, VMWare Additions, VirtualBox Additions). Con Qemu Guest Agent no sólo puede obtener información diversa sobre el invitado, sino también ejecutar algunos comandos y configurarlos dentro de él. Proxmox VE, que está basado en Debian y Qemu, también utiliza su agente invitado para congelar el disco antes de realizar copias de seguridad y para otras funciones de nivel empresarial.

Respuesta2

La lista de arrendamientos de dnsmasq se almacena en un archivo que se especifica en la opción de configuración dhcp-leasefile. Para la versión ascendente, la ubicación predeterminada es /var/lib/misc/dnsmasq.leases.

Respuesta3

Si lo inicia, sabrá el nombre del host. Con eso, consulta su dns (correctamente configurado, por supuesto). Después de todo, es DNSmasq.

información relacionada