web-dev-qa-db-ja.com

Linux VLAN対応のブリッジとトランクポート

ブリッジに接続されているイーサネットポートがあります。

$ brctl show
bridge name bridge id       STP enabled interfaces
eth0_bridge     8000.6a612bcc4723   yes     eth0

ブリッジはVLAN対応です(つまり、/sys/class/net/eth0_bridge/bridge/vlan_filtering1です)。次のように、そのブリッジに他のインターフェースを追加し、それらにVLANを割り当てることができるようにしたいと思います。

ip link set eth1 master eth0_bridge
bridge vlan add dev eth1 vid 10 pvid untagged

これにより、eth1のタグなしトラフィックがVLAN 10がeth0に接続されます。ただし、次のようになるまでトラフィックは通過しません。

bridge vlan add dev eth0 vid 10

これを実行すると、必要に応じてすべてが機能します。しかし、eth0がブリッジのトランクポートeth0_bridgeであり、all VLANを伝送し、VLAN =ブリッジからの出力をフィルタリングしますか?

2
Tom

bridge vlan コマンドを使用すると、VLAN IDの範囲をシングルショットで追加(または削除)できます。次に例を示します。

# bridge vlan add vid 2-4094 dev eth0

使用可能なすべてのVLANをトランクインターフェイスに追加しますeth(0と4095はプロトコルで予約されており、使用できません(使用できない)。1はデフォルトでPVID untagged VLAN IDなので、回避するか、おそらくより良い方法で削除する必要があります)。

# bridge vlan show dev eth0
eth0     1 PVID Egress Untagged
         2
         3
[...]
         4093
         4094

# bridge -c vlan show dev eth0
port    vlan ids
eth0     1 PVID Egress Untagged
         2-4094

ここに -c を意味する -c[ompressvlans] のではなく -c[olor]:ブリッジのマニュアルページ(少なくともiproute2-ss191125まで)には、このオプションに関する情報がまったくありません。

範囲の削除は、期待どおりに機能します。

# bridge vlan del vid 100-200 dev eth0
# bridge -c vlan show
port    vlan ids
bridge0  1 PVID Egress Untagged

eth1     1 Egress Untagged
         10 PVID Egress Untagged

eth0     1 PVID Egress Untagged
         2-99
         201-4094

内部的にはすべて、個々のVLANの( ハッシュ )リストを使用して処理されます。


注1

Cumulus Networks(ネットワーク機器でほとんどLinuxのネイティブネットワークスタックを使用することが知られています)には、これに関する old (および newer )の例がいくつかあります。

次のブリッジの例を考えてみます。

auto bridge
iface bridge
  bridge-vlan-aware yes
  bridge-ports swp1 swp9
  bridge-vids 2-100
  bridge-pvid 101
  bridge-stp on

VLANその構成のメンバーシップ)は次のとおりです。

cumulus@switch$ bridge -c vlan show
portvlan ids
swp1 101 PVID Egress Untagged
 2-100

swp9 101 PVID Egress Untagged
 2-100

bridge 101

使用される構成ファイルは interfaces ifupdown2からのファイル (およびその アドオン )であり、Cumulus Networksが実際に開発して交換したもの ifupdown 、ほとんど互換性のある構文ですが、大幅に改善されたブリッジとVLANサポート。


注2

すべてのVLANをブリッジポートに自動的にフラッディングする特別なフラグの証拠は見つかりませんでした。この カーネルコミット は、VID 4095がIEEE 802.1Qで文書化されて制限があることを示しますが、使用が許可されています管理操作用 VIDのワイルドカード一致として使用されますが、Linuxでは使用できませんそのような方法を使用しているようです。

3
A.B