VLAN 導入前は LAN に到達していたのに、その後つながらなくなった TAP クライアントは、たいてい誤ったインターフェースを残したブリッジを持っています。フレーム転送は VLAN タグを付加しないため、物理アップリンクへ送られたタグなしのクライアントフレームはタグなしのままトランクポートに届き、破棄されるかネイティブ VLAN に落ちます。ホストのどこかにサブインターフェースが存在しても、ブリッジのメンバー一覧は何も変わりません。まず潰すべき誤解はこれです。タグを付けるのはそれを所有するインターフェースであり、単に持っているというだけのホストではありません。

単一の VLAN 拡張は単一のレイヤー 2 ドメインであり、ブリッジはすべてを運ぶトランクではなく、そのドメインに参加しなければなりません。

トランクをブリッジしたからタグが出ない

VLAN 120 をマネージドスイッチへ運ぶ Linux アップリンク eno1 を例にします。単一 VLAN で機能する設計は、tap_vpn を br_vpn にブリッジし、br_vpn に eno1 ではなく eno1.120 を持たせることです。VLAN サブインターフェースは送信時にタグを付け、受信時に外すので、ブリッジはその一つの VLAN のタグなしフレームしか見ません。代わりに物理インターフェースをブリッジに入れると、同じフレームがトランクポートからタグなしで出てしまい、これは計画した動作ではありません。

VLAN フィルタリングを切ったままトランクをブリッジしても、同じ結果への近道にはなりません。そのケーブル上のすべての VLAN をブリッジに渡してしまい、クライアントが見るべきでないものまで含まれます。

正しい設計は二つ、タグの所有者は一つ

VLAN 対応ブリッジももう一つの有効な構成です。トランクがブリッジポートに入り、ポートごとのメンバーシップ、PVID、タグ付き出力の設定がどの VLAN を通すかを決めます。そこではブリッジがタグ付けを所有するので、その下に VLAN サブインターフェースを追加すると 同じ役割に二人目の所有者が付きます。どちらの設計も機能しますが、両者の断片を混ぜたものは機能しません。メンバー一覧を編集する前に、どのオブジェクトがタグを付けるのかを決めてください。

スイッチポートは選んだ設計と一致していなければなりません。VLAN をタグなしで運ぶアクセスポートは物理インターフェースを接続点として組み合わせ、トランクポートはタグ付きサブインターフェースと組み合わせます。不適合なアクセスポートにサブインターフェースを足しても何も直りません。

アドレスをメンバーシップと一緒に移す

サブインターフェース設計では、ブリッジされたサブネット用のホストアドレスは br_vpn に属し、以前いたかもしれないスレーブ化された VLAN ポートではありません。ポートに残すと動いているように見えてから妙な挙動になり得ます。ブリッジはレイヤー 2 で転送する一方、アドレスはメンバーの上にあるからです。別の実験としてではなく、メンバーシップ変更の一部として移してください。

アドレスを移すと管理経路が切れることがあります。独立した復旧経路を用意し、既存の設定はディストリビューション自身のネットワークマネージャー経由で保存し、次のアップグレード後にそれと競合する起動スクリプトは避けてください。

クライアントのアドレス設計にも同じ注意が必要です。ブリッジ型 VPN はクライアントを拡張サブネットに置くため、プールは他のリースや静的割り当てと重なってはいけませんし、DHCP で配る構成は LAN が実際に期待するものでなければなりません。レイヤー 2 の経路が通っていても、重複アドレスのことは何も語りません。

ルートを疑う前にメンバーシップを確認する

意図ではなく現在の状態を読み取ってください。ip -d link show dev eno1.120 は VLAN id とその親を表示し、ip link show master br_vpn はブリッジのメンバーを一覧し、bridge vlan show はポートごとのメンバーシップと出力の扱いを報告します。サブインターフェース設計では TAP デバイスと VLAN デバイスがメンバーであることを確認します。VLAN 対応ブリッジではポートポリシー自体を確認してください。ブリッジが存在することは何を許可しているかの証明にはなりません。

次に、許可されたクライアント一台をその VLAN 内のサービスに対して試します。ARP、ファイアウォールポリシー、戻り経路はメンバーシップとは別の関心事であることを忘れないでください。パケットを取得する場合、ハードウェアオフロードによってトレース内で VLAN タグが現れる位置が変わり得る点に注意します。範囲も正直に保ってください。ルーティングされた TUN クライアントはブリッジの変更では VLAN メンバーにならず、クライアント間トラフィックはホストと VLAN の接続を置き換えるものではありません。

関連記事