如何確定qemu中客戶作業系統的IP位址?

如何確定qemu中客戶作業系統的IP位址?

在 qemu 中啟動 Windows XP 後,它會從 DHCP 伺服器取得指派的 IP。我的問題是 - 如何確定 Windows XP 指派的 IP,以便我可以連接到 Windows XP?

以下是有關我的設定的更多詳細資訊:

dnsmasq在tun0介面上運行。我已將其設定為提供 10.10.10.0/24 範圍內的 IP。我用於-net tunqemu。我運行多個 Windows XP 來賓安裝,因此無法使用靜態 IP 位址。

答案1

通用方法是Qemu 客座代理並運行特定命令,訪客網路獲取介面取得其網路設定。

為此,您需要先將訪客代理套接字新增至虛擬機器設定。 Qemu 需要以類似這樣的方式運作:

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.qga這將在目前目錄中建立一個套接字檔案。然後您可以使用連接到此套接字socat,但為了方便(命令列編輯和歷史記錄),我建議將其包裝為rlwrap

rlwrap socat STDIO UNIX:base.qga

在來賓作業系統中,您應該安裝序列 VirtIO(半虛擬)驅動程式和來賓代理服務,兩者均以 virtio 驅動程式 ISO 映像的形式提供。您可以從 Fedora VirtIO Windows 驅動程式專案取得它;在 Linux 作業系統中,它可以在所有主要發行版的發行版儲存庫中找到,或者您可以從 Qemu 原始程式碼自行建立。

來賓代理是主機(虛擬機器管理程式)和 VM 之間通訊的強大方式,其他虛擬化技術也提供類似整合功能的代理程式(例如 VMWare Additions、VirtualBox Additions)。使用 Qemu Guest Agent,您不僅可以獲得有關 guest 虛擬機的各種信息,還可以在其中運行一些命令並進行設定。 Proxmox VE 是基於 Debian 和 Qemu,也使用其來賓代理程式在進行備份和其他企業級功能之前使磁碟凍結。

答案2

dnsmasq 的租約清單儲存在設定選項中指定的檔案中dhcp-leasefile。對於上游版本,預設位置是/var/lib/misc/dnsmasq.leases

答案3

如果您啟動它,您就知道主機名稱。這樣你就可以查詢你的(當然是正確配置的)DNS。畢竟是 DNSmasq。

相關內容