VPNゲートウェイ背後のWi-Fiアクセスポイント:LANを一つに保つ
ブリッジ接続のアクセスポイントか、二つ目のルーティングセグメントか。違いはアドレス、DNS、トンネルを誰が持つかであり、それがポリシーの置き場所を決める。
ワイヤレスクライアントは、アクセスポイントがトンネルについて何も知らなくてもVPNの背後に置ける。無線をゲートウェイのLANにブリッジし、アドレスとトンネルをゲートウェイに持たせれば、Wi-Fi上のすべての機器が同じポリシーを継承する。もう一方の選択肢である、独自のゲートウェイを持つ二つ目のルーティングセグメントは、別の障害モードを持つ別の設計だ。
両者が混同されるのは、どちらもインターネットと機器の間に箱を置くからだ。それぞれが何を持つかを比べることが、選ぶための最短の道だ。
VPNをWi-Fiの手前に置く二つの方法
ブリッジ構成では、アクセスポイントは無線と有線セグメントの間でフレームを運ぶだけで、それ以外は何もしない:サブネットは一つ、アドレスの管理者は一つ、ポリシーを実行するルーターは一つだ。ルーティング構成では、二つ目の箱が独自のアドレス、独自のDHCPスコープ、独自のデフォルトルートを持つため、トラフィックはトンネルに届く前にさらに境界を越える。ブリッジ設計ではすべてのワイヤレス機器がゲートウェイから見てローカルに見えるので、一組のルールがすべてを覆う。ルーティング設計は、考えるべきセグメントと、ポリシーが誤る二つ目の場所を与える。
internet
-> vpn-capable gateway: routing, tunnel, dns, failure policy
-> bridged access point: radio onto the same lan
-> wifi clients
ワイヤレス機器が有線機器と同じトンネルを使うことが要件なら、ブリッジを選ぶ。分離できるセグメントが欲しい場合、または二つ目の箱がすでにルーターとして存在する場合は、ルーティングを選ぶ。
ブリッジ構成が実際に変えるもの
ブリッジは変換層と競合するデフォルトゲートウェイを取り除き、管理上の問題を加える。アクセスポイントには依然として到達できるアドレスが必要で、ベンダーのワークフローは通常メインLAN経由でそれを手配する。そのDHCPサービスは停止していなければならず、そうでなければ二つの権限が矛盾するリースを配る。ゲートウェイはトンネル、リゾルバの設定、トンネルが落ちたときにどうするかの判断を保持するので、ポリシーはちょうど一か所に住む。
無線はそうしたものをトンネルから自動的に継承するわけではない。それを覆い隠す層を加えるのをやめるだけだ。
二つ目のルーティングセグメントが向く場所
ルーティングセグメントは、その背後の機器がLANの残りと違う扱いを必要とするときに複雑さに見合う。ゲストネットワーク、ラボ、常に特定の国から出る必要があるクライアント群は、どれも経路にルーターを置く理由になる。代償は二つ目のアドレス管理者、整合性を保つ二つ目のファイアウォール、そしてそこの誰かがセグメントに到達する必要がある場合のメインLANからの戻り経路だ。これらは設定の細部ではなく義務だ。
よくある間違いは、いまも独自のDHCPと変換を動かしているルーターを再利用して、ルーティング版を偶然に作ってしまうことだ。それは二重の変換と、誰も追跡できないポリシーを生む。
ゲートウェイではなくWi-Fiクライアントから試す
ゲートウェイ上での成功した要求は、トンネルがゲートウェイに対して機能することを証明する。本当の問いは、ワイヤレスクライアントの転送トラフィックがそれを使うかどうかであり、それはクライアントから観察しなければならない。以下のコマンドはクライアントのアドレス、そのルート、リモートサービスが見るアドレスを確認する。
ip -4 addr show wlan0
ip route get 1.1.1.1
curl -sS https://api.ipify.org; echo
traceroute -n -m 4 1.1.1.1
ゲートウェイのLAN内のアドレスは、ブリッジがフレームを変換せずに通していることを裏づける。最初のホップがゲートウェイであるルートは、クライアントがどこか別の場所から二つ目のデフォルトルートを得ていないことを裏づける。出口アドレスの確認が本当の問いに答え、短いトレースが最初のホップが想定どおりかを示す。クライアントのアドレスが別のスコープから来ているなら、最初の容疑者ははぐれたDHCPサーバーだ。
各箱の役割、そのアドレス、DHCPの権限を書き留める。三本線の図で十分で、ルールがどこに属するかについての議論の大半を決着させる。