我已經建立了一個 Windows XP 映像,並使用 qemu 啟動它。透過使用「使用者模式網路」時-net user
,我的來賓作業系統(Windows XP)會取得指派的 10.0.2.15 IP,並且我可以 ping 10.0.2.2,以便正確安裝 Windows 驅動程式。
不幸的是我無法存取其他任何內容。我閱讀了教程,發現“用戶模式網絡”不會將連接轉發到互聯網,我必須使用 TAP 設備或橋接設備。
我對這些設備不熟悉,而且教學非常混亂和複雜。
其中一篇教學建議我使用 qemu-bridge-helper。我配置了 /etc/qemu/bridge.conf 以允許 br0 橋接設備並通過brctl addbr br0
.
我按照教程並以這種方式啟動我的winxp:
qemu-system-x86_64 --enable-kvm -m 2048 \
-drive file=winxp.img,if=virtio \
-net nic,model=virtio \
-net bridge,br=br0
圖像啟動良好,但我沒有獲得 IP 位址。原因是 Windows 配置為使用 DHCP,但「br0」不提供 DHCP 位址,因為它只是一個橋接介面(以某種方式與 tap0 綁定,但我不確定這意味著什麼)。
我的問題是 - 如何配置“br0”以透過 DHCP 向 winxp 提供位址?我必須在 tap0 介面上運行 dhcp 伺服器嗎? br0、tap0 和 eth0 有何關係? (eth0 是我的靜態 IP 接口,是唯一的互聯網接口。)
我的第二個問題是 - 有沒有一種更簡單的方法來配置所有這些,以允許對來賓作業系統進行簡單的互聯網訪問?
答案1
我的第二個問題是 - 有沒有一種更簡單的方法來配置所有這些,以允許對來賓作業系統進行簡單的互聯網訪問?
您不需要(或至少不應該)為了簡單的網路存取而手動配置任何內容; QEMU 自動處理它。它有一些限制,例如不支援 ICMP 協定(由ping
)、對外部網路不可見、也無法與以相同方式運行的其他虛擬機通信,但它對於簡單的使用來說效果很好。請參閱拱門維基了解更多。
答案2
在執行命令後,brctl addbr br0
您需要將新網橋連接到真實網路接口,例如eth0
,女巫已連接到互聯網。使用下一個命令brctl addif br0 eth0
。