Show Table of Contents
18.12. 仮想 NIC を直接物理インターフェースへ接続
デフォルトの NAT 接続の代わりに、macvtap ドライバーを使ってゲストの NIC を直接ホストマシンの特定の物理インターフェースに接続することができます。これを、デバイス割り当て (パススルーとも呼ばれる) と混同しないようにしてください。Macvtap 接続には以下のモードがあり、それぞれメリットとユースケースが異なります。
物理インターフェースの配信モード
- VEPA
- 仮想イーサネットポートアグリゲーター (VEPA) モードでは、ゲストからのパケットはすべて外部スイッチに送信されます。これにより、ユーザーはゲストのトラフィックを強制的にスイッチ経由にすることができます。VEPA モードが正常に機能するためには、外部スイッチは ヘアピンモード にも対応している必要があります。これにより、送信元ゲストと同じホストマシン上にあるゲスト宛のパケットが、外部スイッチによりホストに戻されます。

図18.23 VEPA モード
- bridge
- 送信元ゲストと同じホストマシン上にあるゲスト宛のパケットは、直接宛先の macvtap デバイスに配信されます。直接配信が正常に機能するためには、送信元デバイスと宛先のデバイスの両方が bridge モードになければなりません。どちらかのデバイスが VEPA モードにある場合は、ヘアピン機能に対応した外部スイッチが必要です。

図18.24 Bridge モード
- private
- すべてのパケットは外部スイッチに送信されます。それらのパケットが同じホストマシン上にある宛先のゲストに配信されるのは、それらが外部ルーターまたはゲートウェイ経由で送信され、それらがパケットをホストに戻す場合のみです。private モードは、同一ホスト上にある個々のゲストが互いに通信するのを防ぐために使うことができます。送信元または宛先デバイスのいずれかが private モードにある場合に、この手順が実行されます。

図18.25 Private モード
- passthrough
- この機能では、物理インターフェースデバイスまたは SR-IOV 仮想機能 (VF) を、移行機能を損なうことなく直接ゲストに接続します。すべてのパケットは、直接目的のネットワークデバイスに送信されます。passthrough モードでは、ゲスト間でネットワークデバイスを共有することはできません。従って、1 つのゲストにパススルーできるネットワークデバイスは 1 つだけです。

図18.26 Passthrough モード
Macvtap の設定は、ドメインの XML ファイルを変更して、または virt-manager インターフェースを使用して行います。
18.12.1. ドメイン XML を使用した macvtap の設定
ゲストのドメイン XML ファイルを開き、以下のように
<devices> 要素を変更します。
<devices> ... <interface type='direct'> <source dev='eth0' mode='vepa'/> </interface> </devices>
直接接続したゲスト仮想マシンのネットワークアクセスは、ホスト物理マシンの物理インターフェースが接続されているハードウェアスイッチで管理することができます。
スイッチが IEEE 802.1Qbg 標準に設定されている場合は、インターフェースに以下に示すように追加パラメーターを持たせることができます。virtualport 要素のパラメーターについては IEEE 802.1Qbg 標準の記載をご覧ください。その値についてはネットワーク固有となるため、ネットワーク管理者にお問い合わせください。802.1Qbg では、VSI (Virtual Station Interface) は仮想マシンの仮想インターフェースのことを指します。なお、IEEE 802.1Qbg では、VLAN ID にゼロ以外の値を設定する必要があります。
Virtual Station Interface のタイプ
- managerid
- VSI Manager ID で VSI タイプとインスタンス定義が含まれるデータベースを識別します。これは整数の値で、0 の値は予約されています。
- typeid
- VSI Type ID で ネットワークアクセスの特性を示す VSI タイプを識別します。VSI タイプは通所ネットワーク管理者によって管理されます。これは整数の値です。
- typeidversion
- VSI Type Version では VSI Type の複数のバージョンを許可します。これは整数の値です。
- instanceid
- VSI Instance ID は、VSI インスタンス (つまり、仮想マシンの仮想インターフェース) の作成時に生成されます。これは、グローバルに固有な識別子です。
- profileid
- プロファイル ID には、このインターフェースに適用されるポートプロファイル名が含まれます。この名前は、ポートプロファイルのデータベースによってポートプロファイルからネットワークパラメーターに解決され、それらのネットワークパラメーターがこのインターフェースに適用されます。
4 種類のそれぞれのタイプの設定は、ドメインの XML ファイルを変更して行います。このファイルを開いたら、以下のようにモードの設定を変更します。
<devices>
...
<interface type='direct'>
<source dev='eth0.2' mode='vepa'/>
<virtualport type="802.1Qbg">
<parameters managerid="11" typeid="1193047" typeidversion="2" instanceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f"/>
</virtualport>
</interface>
</devices>
プロファイル ID を以下に示します。
<devices>
...
<interface type='direct'>
<source dev='eth0' mode='private'/>
<virtualport type='802.1Qbh'>
<parameters profileid='finance'/>
</virtualport>
</interface>
</devices>
...18.12.2. virt-manager を使用した macvtap の設定
仮想ハードウェアの詳細ウィンドウ を開き ⇒ メニューで を選択し ⇒ に を選択し ⇒ 目的の を選択します。
続いて、 サブメニューで、Virtual Station Interface のタイプを設定することができます。

図18.27 virt-manager で macvtap を設定

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.