web-dev-qa-db-ja.com

単一のKVM仮想マシンに複数のタップインターフェイスを構成するにはどうすればよいですか?

VM Linux KVMを使用してF5BIG-IP VEデプロイメント(ラボで使用))をセットアップしようとしています https:// support.f5.com/content/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-kvm-setup-11-3-0/_jcr_content/pdfAttach/download/file.res/BIG- IP ®_Virtual_Edition_Setup_Guide_for_Linux_KVM.pdf。

このVMには、3つの異なるネットワークインターフェイス(管理、外部接続、および内部接続)が必要です)

私はこれらの接続を/ etc/network/interfacesで次の構成でセットアップしようとしています。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

auto br0
iface br0 inet dhcp
   pre-up ip tuntap add dev tap0 mode tap user root
   pre-up ip tuntap add dev tap1 mode tap user root
   pre-up ip tuntap add dev tap2 mode tap user root
   pre-up ip link set tap0 up
   pre-up ip link set tap1 up
   pre-up ip link set tap2 up
   bridge_ports all tap0 tap1 tap2
   bridge_stp off
   bridge_maxwait 0
   bridge_fd      0
   post-down ip link set tap0 down
   post-down ip link set tap1 down
   post-down ip link set tap2 down
   post-down ip tuntap del dev tap0 mode tap
   post-down ip tuntap del dev tap1 mode tap
   post-down ip tuntap del dev tap2 mode tap

VMを構成しようとすると、ブリッジに関連付けられていると表示されるのは1つのタップインターフェイスだけです。私はそれらのインターフェースを機能させるために4-5時間費やしましたが、運がありませんでした。私はここで何が間違っているのですか?

enter image description here

1
lacrosse1991

ホストに設定する必要があるのはブリッジだけです。仮想NICを構成し、それらをVMに接続すると、VMが開始されると、タップが自動的に作成されます。

さて、実際のガイドを読まないと、3つの異なるネットワーク上に3つのインターフェースが必要なようです。すべての仮想NICを同じブリッジ(事実上、仮想スイッチ)に接続すると、それらはすべて同じL2ネットワーク上に配置されます。もちろん、単純なサブネット化でうまくいくことができますが、VLANを使用する場合は、すべてのVLANタグ付きインターフェイスに個別のブリッジを作成し、それに応じて仮想NICを接続する必要があります

1
dyasny

Dyasnyの答えは正しいですが、ハイパーバイザーでネットワークスタックを設計する方法によっては役立つ情報が省略されています。ブリッジ自体は、サブインターフェイスによるVLANタグ付けをサポートします(ブリッジ0のVLAN 10のbr0.10など)。このようにして、ブリッジが個々のイーサネットデバイスサブインターフェイスにバインドされるのではなく、ブリッジからサブインターフェイスを生成できます。これにより、共通のファブリックからホスト上の多数のVLANを操作する場合、ネットワークスタックを大幅に簡素化できます。

これらのVLANタグ付きサブインターフェイスは、特定のVM NIC構成(br0.10など)でホストデバイスとして使用することにより、直接使用できます。このように使用すると、VMは、指定されたVLANで、ネイティブであるかのように仮想イーサネットデバイスと通信します。ゲスト内ではタグ付けは機能しません。より多くのVLANが必要な場合は、より多くのNICをエミュレートする必要があり、それらのNICは引き続き同じブリッジのサブインターフェイスにすることができます。すでにサブインターフェイスを使用している場合は、ブリッジルート(br0)にすることはできません。

または、ブリッジの「ルート」インターフェイス(br0など)を使用してVM TAPインターフェイスに接続することにより、VM自体がネイティブのVLANの両方にアクセスできます。ブリッジは、ホストマシンの場合と同じように、ゲスト内から機能するタグ付きインターフェイスも作成します。これにより、1つの仮想NICのみでゲスト内の複数のVLANにアクセスできるようになり、複数のVLANにアクセスするマシンの展開が簡素化されます。 VMは、ホストブリッジでもタグ付けされているVLANにのみタグ付けできます。このように、ホストブリッジは通常のスイッチとほぼ同じようにVLANデータベースおよびACLとして機能します。

そして、これに代わるものとして、OpenvSwitchはより良いインターフェースでこれとまったく同じ活動を行うことができます。

例の構成:

このレイヤー2の説明ではあまり役に立たないため、ブリッジの下のすべてとほとんどのブリッジオプションを省略しています。これは、ホストブリッジでタグ付きサブインターフェイスを使用してVLAN ACLセットを提供し、ホストブリッジ自体を使用してタップインターフェイスを接続する例です。

$> cat /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
DELAY=0

-

$> cat /etc/sysconfig/network-scripts/ifcfg-br0.10

DEVICE=br0.10
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
VLAN=yes

これらすべて(または同様の処理)が完了したら、VMTAPインターフェイスを接続するためのインターフェイスとしてbr0を使用し、VM自体はVLAN 10.ブリッジはVLANを処理でき、VLANトランクとしても機能します。

0
Spooler