![QEMU ユーザーモード (slirp) ネットワークでホスト DHCP サーバーを使用する](https://rvso.com/image/726413/QEMU%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%20(slirp)%20%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A7%E3%83%9B%E3%82%B9%E3%83%88%20DHCP%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B.png)
私は自分の DHCP サーバー (PXE 用) をデバッグしようとしており、そこから QEMU をネット ブートしたいと考えています。そのためには、 DHCP サーバーがリッスンしているホスト ネットワークに到達するDHCPDISCOVER
パケットを に送信する必要があります255.255.255.255
(DHCP サーバーは でリッスンし0.0.0.0
、応答を受け取ります)。
現在、ホスト DHCP サーバーは QEMU からパケットを取得していません。QEMU は標準ユーザー モード ネットワーク (SLIRP) で起動されます。
qemu-system-x86_64
SLIRP ネットワークはポート転送を可能にする NAT であると読みました。しかし、DNS パケットをホストに転送し、そこから戻す方法がわかりません。SLIRP でそれが可能なのでしょうか?
答え1
答えがないので、自分自身に答えます。QEMU ユーザー モード ネットワークではホスト DHCP サーバーを使用することはできません。その理由は次のとおりです。将来修正される場合に備えて、私の QEMU バージョンは 2.11.1 です。
DHCPDISCOVER
パケットはUDP
QEMUユーザーモードネットワーク(SLiRP)はNATサーバーであり、UDPパケットをどこにも渡しません。代わりに内部で処理します。私が間違っていることを望みますが、現在のQEMUのudp.c動作が異なります。