Linux仮想ブリッジ(たとえば、ip
またはで設定brctl
)はVLANをサポートしていますか?たとえば、異なるVLANにアクセスポートを設定し、特定のVLANに対してのみトランクポートをイネーブルにします。私のカーネルの唯一のオプション(3.2.0-4-686-pae)VLANとブリッジに関する設定ファイルがありますが、CONFIG_BRIDGE_EBT_VLAN
私が理解したように、これは802.1q VLANフィールドでフィルタリングできますebtables
。
答え1
問題ありません。これは、ほとんどのopenWRTシステムがWLANとスイッチポートを同じLANに接続する方法です。以下は、2つのWi-Fiネットワーク(個人用とゲスト用)を持つ私のopenWRTシステムの構成例です。
# brctl show
bridge name bridge id STP enabled interfaces
br-vlan2 7fff.a0f3c15eb708 no eth0.2
wlan0
wlan1
br-vlan3 7fff.a0f3c15eb708 no eth0.3
wlan0-1
wlan1-1
さらなる説明:
一般的なopenwrtハードウェア(上記のTP-Link WDR4300)には、すべての物理ポートを処理するスイッチがあります。時々、物理WANポートはeth
SoC CPUの別々のインターフェイスです。スイッチはトランクを介してCPUに接続されます(この接続のパケットにはVLANタグ付き)。したがって、eth0.2はVLAN2であり、4つの物理スイッチポートにのみ接続され、VLANタグが削除されました。
したがって、br-vlan2はCPUからスイッチへの接続が1つしかないため、必要に応じてVLANを使用する「LANネットワーク」と簡単に考える必要があります。
Linux のイーサネット ブリッジは、VLAN と物理インターフェイスをメンバーとして持つことができます。 VLANインターフェイスは、物理インターフェイスと同様に、独自のルーティング、ファイアウォールなどを備えたLinuxの物理インターフェイスのように動作するため、これが私が期待したものです。後続の狂乱を気にしない場合は、ブリッジに別のVLANを追加できることを願っています。 :)
VLANタグ付きトラフィックも転送するなど、物理インターフェイスをブリッジしたことはありませんeth0
。タグ付きパケットもブリッジされるかどうかわかりません。
答え2
1つの秘密は、vconfigコマンドを使用してVLANトラフィックを転送できることをブリッジに明示的に通知することです。以下のコードはコマンドラインでこれを行い、再起動後に消えます。再起動時にこれを行うには、次を参照してください。https://serverfault.com/questions/414115/linux-vlans-over-bridge
brctl addbr br0
brctl addif br0 eth0
vconfig add br0 100
ifconfig br0.100 127.16.0.128 netmask 255.255.255.0
上記のifconfigはbr0とeth0が接続されているため、eth0でも機能します。