Wie ermittelt man die IP-Adresse des Gastbetriebssystems in QEMU?

Wie ermittelt man die IP-Adresse des Gastbetriebssystems in QEMU?

Nachdem ich Windows XP in qemu gebootet habe, wird ihm eine IP vom DHCP-Server zugewiesen. Meine Frage ist: Wie finde ich die IP heraus, die Windows XP zugewiesen wurde, damit ich eine Verbindung zu Windows XP herstellen kann?

Hier sind weitere Details zu meinem Setup:

Ich verwende dnsmasqdie Schnittstelle tun0. Ich habe sie so eingerichtet, dass IPs im Bereich 10.10.10.0/24 vergeben werden. Ich verwende sie -net tunfür qemu. Ich verwende mehrere Windows XP-Gastinstallationen, daher kann ich keine statischen IP-Adressen verwenden.

Antwort1

Der generische Ansatz besteht darin,Qemu-Gast-Agentund führen Sie einen bestimmten Befehl aus,Gast-Netzwerk-Get-Interacesum seine Netzwerkeinstellungen abzurufen.

Damit dies funktioniert, müssen Sie zuerst einen Gastagent-Socket zur VM-Konfiguration hinzufügen. Qemu muss ungefähr so ​​ausgeführt werden:

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 \
...

base.qgaDadurch wird eine Socket-Datei im aktuellen Verzeichnis erstellt . Anschließend können Sie sich mit diesem Socket verbinden socat, aber aus praktischen Gründen (Befehlszeilenbearbeitung und Verlauf) würde ich vorschlagen, es mit folgendem einzuschließen rlwrap:

rlwrap socat STDIO UNIX:base.qga

Im Gastbetriebssystem sollten Sie den seriellen VirtIO-Treiber (paravirtual) und den Gastagentendienst installieren. Beide werden in Form eines ISO-Images für VirtIO-Treiber bereitgestellt. Sie können es vom Fedora VirtIO Windows-Treiberprojekt beziehen. Unter Linux ist es in Distributions-Repos in allen wichtigen Distributionen verfügbar, oder Sie können es selbst aus der Qemu-Quelle erstellen.

Gastagenten sind eine leistungsstarke Methode zur Kommunikation zwischen Host (Hypervisor) und VM. Andere Virtualisierungstechnologien bieten ebenfalls Agenten für ähnliche Integrationsfunktionen (z. B. VMWare Additions, VirtualBox Additions). Mit Qemu Guest Agent können Sie nicht nur verschiedene Informationen über den Gast abrufen, sondern auch einige Befehle ausführen und darin Einstellungen vornehmen. Proxmox VE, das auf Debian und Qemu basiert, verwendet seinen Gastagenten auch, um die Festplatte vor dem Erstellen von Backups einzufrieren und für andere Funktionen auf Unternehmensniveau.

Antwort2

Die Liste der Leases von dnsmasq wird in einer Datei gespeichert, die in der Konfigurationsoption angegeben ist dhcp-leasefile. Für die Upstream-Version ist der Standardspeicherort /var/lib/misc/dnsmasq.leases.

Antwort3

Wenn du es startest, kennst du den Hostnamen. Damit fragst du deinen (natürlich richtig konfigurierten) DNS ab. Es ist schließlich DNSmasq.

verwandte Informationen