Linux(Debian)にVLANトランスペアレントブリッジを追加する

Linux(Debian)にVLANトランスペアレントブリッジを追加する

現在、Debian システムでは VLAN タグ付けを使用し、LXC コンテナに対して br-wan および br-lan ブリッジを作成します。

auto lo br-lan br-wan

iface lo inet loopback

iface br-wan inet manual
    bridge_ports eth0.3
    bridge_maxwait 0

iface br-lan inet static
    address 192.168.200.10
    netmask 255.255.255.0
    gateway 192.168.200.1
    bridge_ports eth0.2
    bridge_maxwait 0
      
iface eth0.1 inet static
    address 10.7.1.10
    netmask 255.255.255.0

これで、eth0に透過的にアクセスでき、内部的にVLANタグ付けを使用するKVMゲストを追加しようとしています(例:eth0.2とeth0.3の間に仮想化ルーターパスを作成するなど)。テストするために、以下を行いました。

brctl addbr br-master
brctl addif eth0

次に、KVMゲストを作成し、--network=bridge=br-master,model=virtioそれを使用してbr-masterにブリッジポートとして追加されたインターフェイスvnet0を作成しました。ゲスト内部にVLANインターフェイスが追加されました。ホストでは、vnet0(tcpdump -i vnet0 -e vlan)とbr-master()tcpdump -i br-master -e vlanにタグ付きパケットが表示されます。ただし、トラフィックはホストのeth0に到達しません。

物語がそれほど単純ではないと確信しています。以前の設定を損なうことなく、これらのVLANトランスペアレント「ホストブリッジ」を自分のシステムにどのように追加できますか?

答え1

まだ試していませんが、bridge vlan ...コマンドと連携する必要があります。

使用する各VLAN IDに対して、vnet0次のことを行う必要があります。

for vlanid in 1 2 3 4; do
    bridge vlan add dev eth0 vid $vlanid untagged
done

関連情報