私はWindows XP=イメージを作成し、それをqemuで起動しています。-Net User
を介して「ユーザーモードネットワーク」を使用している場合、ゲストOS(Windows XP)は10.0を取得します.2.15 IPが割り当てられ、10.0.2.2にpingできるので、Windowsドライバーが正しくインストールされます。
残念ながら、他にはアクセスできません。チュートリアルを読んだところ、「ユーザーモードネットワーキング」では接続がインターネットに転送されず、TAPデバイスまたはBridgeデバイスのいずれかを使用する必要があることがわかりました。
私はこれらのデバイスに慣れていないため、チュートリアルは非常にわかりにくく、複雑です。
チュートリアルの1つで、qemu-bridge-helperを使用するよう提案されました。 /etc/qemu/bridge.confを構成してbr0ブリッジデバイスを許可し、brctl addbr br0
を介して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インターフェイスを提供していないためです。
私の質問は-DHCP経由でwinxpにアドレスを与えるために「br0」をどのように設定するのですか? Tap0インターフェイスでDHCPサーバーを実行する必要がありますか? br0、tap0、eth0はどのように関連していますか? (eth0は私の静的IPインターフェイスであり、唯一のインターネットインターフェイスです。)
私の2番目の質問は、ゲストOSへの簡単なインターネットアクセスを許可するために、これらすべてを構成する簡単な方法はありますか?
私の2番目の質問は、ゲストOSへの簡単なインターネットアクセスを許可するために、これらすべてを構成する簡単な方法はありますか?
簡単なインターネットアクセスのために、手動で何かを構成する必要はありません(少なくとも、その必要はありません)。 QEMUが自動的に処理します。 ICMPプロトコル(ping
によって使用される)をサポートしない、外部ネットワークから見えない、同じように実行される他の仮想マシンと通信できないなど、いくつかの制限がありますが、簡単な使い方。詳細は Arch Wiki を参照してください。
コマンドの後brctl addbr br0
例として、新しいブリッジを実際のネットワークインターフェイスに接続する必要がありますeth0
、魔女はインターネットに接続されています。次のコマンドbrctl addif br0 eth0
。