Ich versuche, meinen eigenen DHCP-Server (für PXE) zu debuggen, und möchte, dass QEMU von ihm aus einen Net Boot durchführt. Dazu muss es DHCPDISCOVER
ein Paket senden 255.255.255.255
, das das Host-Netzwerk erreichen soll, in dem der DHCP-Server lauscht (es lauscht 0.0.0.0
und erhält die Antwort zurück).
Derzeit erhält der Host-DHCP-Server keine Pakete von QEMU. QEMU wird mit dem Standardbenutzermodusnetzwerk (SLIRP) gestartet.
qemu-system-x86_64
Ich habe gelesen, dass das SLIRP-Netzwerk ein NAT ist, das Portweiterleitung ermöglicht. Aber ich weiß nicht, wie man DNS-Pakete an den Host und zurück weiterleitet. Ist das mit SLIRP überhaupt möglich?
Antwort1
Da es keine Antworten gibt, antworte ich mir selbst. Es ist nicht möglich, den Host-DHCP-Server mit dem QEMU-Benutzermodus-Netzwerk zu verwenden, und hier ist der Grund. Meine QEMU-Version ist 2.11.1, falls das Problem in Zukunft behoben wird.
DHCPDISCOVER
Pakete sind UDP
und QEMU User Mode Networking (SLiRP) ist ein NAT-Server, der UDP-Pakete nicht weiterleitet. Stattdessen verarbeitet er sie intern. Ich wünschte, ich könnte mich irren, also korrigieren Sie mich gerne, wenn die aktuellen QEMUsudp.cverhält sich anders.