qemu で Windows XP を起動すると、DHCP サーバーから IP が割り当てられます。質問は、Windows XP に接続できるように、Windows XP に割り当てられた IP をどのように確認すればよいかということです。
私のセットアップの詳細は次の通りです:
tun0 インターフェイスで実行していますdnsmasq
。10.10.10.0/24 の範囲から IP を割り当てるように設定しました。qemu-net tun
に使用します。複数の Windows XP ゲスト インストールを実行しているため、静的 IP アドレスは使用できません。
答え1
一般的なアプローチは、Qemu ゲストエージェント特定のコマンドを実行すると、ゲストネットワークの取得インターフェースネットワーク設定を取得します。
これを機能させるには、まずゲスト エージェント ソケットを VM 構成に追加する必要があります。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
ゲスト OS には、シリアル VirtIO (準仮想化) ドライバーとゲスト エージェント サービスをインストールする必要があります。これらは両方とも、virtio ドライバー ISO イメージの形式で提供されます。これは、Fedora VirtIO Windows ドライバー プロジェクトから取得できます。Linux OS では、すべての主要ディストリビューションの配布リポジトリで入手できます。または、Qemu ソースから自分でビルドすることもできます。
ゲスト エージェントは、ホスト (ハイパーバイザー) と VM 間の通信を行う強力な手段です。他の仮想化テクノロジでも、同様の統合機能 (VMWare Additions、VirtualBox Additions など) のためのエージェントが提供されています。Qemu ゲスト エージェントを使用すると、ゲストに関するさまざまな情報を取得できるだけでなく、ゲスト内でコマンドを実行して設定することもできます。Debian と Qemu をベースとする Proxmox VE も、ゲスト エージェントを使用して、バックアップを取る前にディスクをフリーズしたり、その他のエンタープライズ グレードの機能を実行したりします。
答え2
dnsmasq のリースのリストは、設定オプション で指定されたファイルに保存されますdhcp-leasefile
。アップストリーム バージョンの場合、デフォルトの場所は です/var/lib/misc/dnsmasq.leases
。
答え3
起動するとホスト名がわかります。それを使って (もちろん適切に設定された) DNS を照会します。結局のところ、これは DNSmasq です。