我正在尝试调试我自己的 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 可以做到这一点吗?
答案1
因为没有答案,所以我自己回答。无法将主机 DHCP 服务器与 QEMU 用户模式网络一起使用,原因如下。我的 QEMU 版本是 2.11.1,以防将来修复。
DHCPDISCOVER
数据包是,UDP
而 QEMU 用户模式网络 (SLiRP) 是 NAT 服务器,它不会将 UDP 数据包传递到任何地方。相反,它会在内部处理它们。我希望我是错的,所以如果当前 QEMU 的udp.c行为不同。