ブリッジインターフェイスとVLANタギング

ブリッジインターフェイスとVLANタギング

タグ付けされていないイーサネットをTAPトンネルに接続し、トラフィックがトンネルに移動するにつれてVLANタグを追加するシステムを設定しようとしています。

これまで私は以下を持っています:

  • eth0– タグ付けされていないトラフィックを転送する物理イーサネットインターフェイス。
  • tap1- TAPトンネルインターフェイス。
  • br0tap1- ブリッジ(およびその他の物理インターフェイス)を含みます。

次の手順を実行して、イーサネット側にVLANタグを追加できることを知っています。

$ ip link add link eth0 name eth0.5 type vlan id 5
$ brctl addif br0 eth0.5

しかし、どうやって逆にできますか?

編集する私はこれができることを発見しました:

$ ip link add veth0 type veth peer name veth1
$ ip link add link veth0 name veth0.5 type vlan id 5
$ brctl addif br0 veth0.5
$ brctl addbr br1
$ brctl addif br1 eth0
$ brctl addif br1 veth1

私の考えでは、それは私が望むものです - それは創造します二つブリッジは仮想イーサネットデバイスを介して接続し、トラフィックがデバイス間を通過するときにVLANタグを追加および削除します。もっと簡単なことがありますか?

ベストアンサー1

例:VLANをサポートするようにブリッジを設定できます。

その後、ブリッジは、設定に基づいてタグ付けおよびタグ解除を含む、通過するフレームに接続されたVLAN IDを処理し、指定されたVLANに属するフレームのみがフレームを許可するように設定されたポートに送信します。これにより、VLANサブインターフェイスを使用せずにすべての設定がブリッジ自体に移動されます(もちろん、一部の設定ではこれらのサブインターフェイスを引き続き使用できます)。

この機能は廃止されたbrctlコマンドでは使用できませんが、最新の代替コマンドが必要です。bridgeコマンド(そして一般ip link注文する)。これはより簡単な設定です(1つのブリッジ、サブインターフェイスなし)。

方法は、tap1ブリッジポートにタグ付けするようにVLAN ID(VID)5を設定し、eth0VID 5も使用しますが、タグなし:出力タグなしに設定し、このVIDをPVID(ポートVLAN ID)に設定することです。入力はそれを使用してブリッジにタグを付けます。ポートごとに1つのPVIDしか存在できません。

きちんとした設定を維持するために、各ポートに割り当てられているデフォルトのVLAN ID 1を削除するオプションもあります(もちろん、より複雑な設定で複数のVLANが必要な場合を除く)。

これまでの最新コマンドのみ使用した設定は次のとおりです。

ip link set eth0 up
ip link set tap1 up

# the following line could have directly included at bridge creation the additional parameter `vlan_filtering 1`
ip link add name br0 type bridge

ip link set tap1 master br0
ip link set eth0 master br0

特定のVLAN対応ブリッジ設定は、まず機能を有効にします。

ip link set dev br0 type bridge vlan_filtering 1

bridge vlan del dev tap1 vid 1
bridge vlan del dev eth0 vid 1

bridge vlan add dev tap1 vid 5
bridge vlan add dev eth0 vid 5 pvid untagged

ip link set br0 up

ブリッジの独自の暗黙的なポートはまだVID 1を使用しているため、一部の設定で行ったようにブリッジに直接IPを割り当てると、正しく通信できなくなります。これらの設定が本当に必要な場合はVLAN 5でブリッジ自体のポートなので、わずかに異なる構文(self)を使用してブリッジ自体のポートを設定することもできます。

bridge vlan del dev br0 vid 1 self
bridge vlan add dev br0 vid 5 pvid untagged self

一般に、可能な相互作用を防ぐために、ブリッジのデフォルトのVID 1を削除する方がよりきれいです。ワイズペアリングし、一端をブリッジに接続し、ブリッジを設定します。仮想LAN相手と同じに設定eth0し、IPを割り当てます。

このトピックのための良いブログシリーズ:

名前のないLinuxネットワークネームスペースでvethデバイス、Linuxブリッジ、およびVLANをお楽しみください。
二つ サム、 4号 V 肉、

おすすめ記事