Networking
使用帶有 QEMU 使用者模式 (slirp) 網路的主機 DHCP 伺服器
我正在嘗試調試我自己的 DHCP 伺服器(用於 PXE),並且我希望 QEMU 從它進行網路啟動。為此,它需要將
DHCPDISCOVER
數據包發送到255.255.255.255
應該到達 DHCP 伺服器正在偵聽的主機網路(它偵聽0.0.0.0
,並取回回复。現在主機 DHCP 伺服器沒有從 QEMU 獲得任何數據包。QEMU 以標準使用者模式網路 (SLIRP) 啟動。
qemu-system-x86_64
我讀到 SLIRP 網路是允許埠轉發的 NAT。但我看不到如何將 DNS 數據包轉發到主機並返回那裡。這完全可能與 SLIRP 有關嗎?
因為沒有答案,我自己回答。無法將主機 DHCP 伺服器與 QEMU 使用者模式網路一起使用,這就是原因。我的 QEMU 版本是 2.11.1,以防將來修復。
DHCPDISCOVER
數據包是UDP
,QEMU 使用者模式網路 (SLiRP) 是 NAT 伺服器,它不會在任何地方傳遞 UDP 數據包。相反,它在內部處理它們。我希望我可能是錯的,所以如果目前 QEMU 的udp.c表現不同,請隨時糾正我。