LinuxのVLANの詳細を掘り下げ、次の2つのコマンドを見つけました。
[root@machine ~]# bridge vlan add vid 100 dev em1
[root@machine ~]# ip link add link em1 name em1.100 type vlan id 100
1つ目はem1にVLANを追加することです。
[root@machine ~]# bridge vlan show
port vlan ids
em1 1 PVID Egress Untagged
100
2番目のインターフェイスは新しいインターフェイスを作成します。
[root@machine ~]# ip a s dev em1.100
27: em1.100@em1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether b8:ca:3a:70:8f:d0 brd ff:ff:ff:ff:ff:ff
この2つの違いは何ですか?
答え1
見てman bridge
再びbridge vlan ...
操作VLANフィルタリストip link add ... type vlan
ブリッジ(どのVLANタグに対してどのポートが有効になっているかを説明)、新しいネットワークインターフェイスの作成これにより、IPアドレスなどを提供して、アプリケーションがVLANタグ付きパケットにアクセスできます。
どちらもまったく異なるものであり、共通点はありません(両方ともVLANタグ付けを処理しますが、まったく異なる方法で処理することを除いて)。
答え2
最初 インターフェイスを通過するようにVLANをイネーブルにします。それ以外の場合は、VLANをクリーンアップしてブリッジを設定する必要があります。
ip link add name br0 type bridge
ip link set dev br0 type bridge vlan_filtering 1
ip link set em1 master br0
お客様の例では、インターフェイス em1 にデフォルト VLAN 1 とメンバー VLAN 100 があり、インターフェイスがなく、他のすべての VLAN がクリーンアップされます。
第二 新しい(サブ)インターフェイスを作成してタグ付けされていないトラフィックを取得します(VLAN 100はem1が割り当てられたブリッジに転送されません)。例では、em1.100 は新しいインターフェイスです。これをブリッジするには新しい(サブ)インターフェイスが必要です。
ip link add name br0.100 type bridge
ip link set dev br0.100 up
ip link set em1.100 master br0.100