web-dev-qa-db-ja.com

virbr#とvnet#の違いは何ですか?

私はRHEL6でKVM=を実行しており、その中にいくつかの仮想マシンを作成しました。ホストシステムのコマンドラインにifconfigコマンドを発行すると、virbr0、virbr1 ...のリストが表示されます。およびvnet0、vnet2 ...それらはゲストOSのIPアドレスですか?virbr#とvnet#の違いは何ですか?

10
xczzhh

これらはIPアドレスではなく、ネットワークインターフェイスです。ネットワークインターフェイスは、IPv4またはIPv6を含む、プロトコルで交換されたパケットを持つことができます。この場合、1つ以上のIPアドレスを与えることができます。

virbrはブリッジインターフェイスです。それらは、それらに関連付けられたネットワークインターフェイスカードがないという点で仮想です。それらの役割は、実際のブリッジまたはスイッチのように動作することです。つまり、実際のイーサネットスイッチと同じように、それに接続されているインターフェース(実数またはその他)間のスイッチパケット(レイヤー2)です。

そのデバイスにIPアドレスを割り当てることができます。これにより、基本的に、ブリッジが接続するサブネット上のホストにIPアドレスが与えられます。次に、ブリッジに接続されたインターフェースの1つのMACアドレスを使用します。

それらの名前がvirで始まるという事実は、他のブリッジインターフェースと何ら変わりはありません。libvirtによって作成されただけで、bridgeインターフェース

vnetインターフェースは、tapインターフェースと呼ばれる他のタイプの仮想インターフェースです。それらはプロセスにアタッチされます(この場合、プロセスはqemu-kvmエミュレーター)。プロセスがそのインターフェースに書き込んだものは、ホストがそのインターフェースで受信したものとして表示され、ホストがそのインターフェースで送信したものは、そのプロセスで読み取ることができます。 qemuは通常、ゲストの仮想ネットワークインターフェースに使用します。

通常、vnetはブリッジインターフェイスに追加されます。つまり、VMをスイッチに接続します。

20