VPNクライアントモードのルーター:LAN機器が消える理由
ルーターがVPNクライアントモードになるとLAN機器が消えます。まず転送経路の検査機能を、次にファームウェアが変えたLAN範囲を確認してください。
クライアントモード自体がLANアクセスを殺すという思い込みは、人を間違った設定メニューへ導きます。実際の原因は通常二つです。トンネルはLANブリッジを外さず、有線・無線クライアント同士の到達も妨げません。ローカルアクセスを壊すのは、ルーターの転送経路にある検査機能か、ファームウェアが変更したLANアドレス範囲のどちらかです。どちらも同じ不満を生み、VPNプロファイルの再インストールでは直りません。
神話と、クライアントモードが実際に変えるもの
クライアントモードはトンネルインターフェースとそこを通るデフォルトルートを追加し、LANトラフィックをそのトンネルへ転送します。有線ポートと無線ラジオの間のブリッジはそのまま残り、ローカルスイッチングも同様です。変わるのはポリシーです。どのトラフィックを転送するか、どこで変換するか、クライアントがどのリゾルバーを受け取るかです。
この区別が重要なのは、壊れたLANは通常、三つのポリシーのどれかが変わったことを意味し、ルーターがスイッチでなくなったわけではないからです。管理画面にまだ応答するルーターは、LANインターフェースが生きている証拠です。何にも応答しないルーターは別の問題を抱えており、たとえばLANアドレスの変更や誤ったサブネット上のクライアントです。
したがって有用な最初の一手は、どの層が壊れたかを見つけることであり、疑っている層を変えることではありません。
設定に触れる前に三つの対象を試す
有線クライアントから三つの対象を別々に試し、それぞれ結果を書き留めます。ルーター自身のLANアドレス、同じスイッチ上の別の機器のIP、そしてトンネル経由でしか届かないものです。この順で行ってください。各結果が異なる層を除外するからです。最初の回は名前ではなくアドレスを使います。名前の失敗はDNSを接続性の問いに混ぜてしまうからです。
応答のパターンが診断です。ローカル機器が応答しないのにルーターが応答するなら、ルーティングではなくローカルスイッチングかフィルタリング機能を指します。トンネル側が応答しないのにローカル機器が応答するなら、トンネルルートかリモートファイアウォールを指します。アドレスではすべて応答するのに名前が失敗するならリゾルバーの問題で、ルート編集では直りません。
| What answers | What it points at |
|---|---|
| Router only | LAN-side filtering or a broken bridge |
| Router and local hosts, not remote | Tunnel route, NAT or remote firewall |
| Addresses yes, names no | DNS handed to clients by the router |
| Nothing at all | Client subnet or router LAN address changed |
表はテスト結果のそばに置いてください。曖昧な不満を、行動できる一行に変えてくれます。
転送経路の内側にあるセキュリティ層
コンシューマールーターには、転送されるトラフィックを監視する検査機能がますます搭載されています。それはLANからトンネルへパケットを運ぶ同じ経路で動きます。その検査がトンネルトラフィックを分類できないと、トンネル自体は上がったままルーターが健全な接続を報告しているのに、転送が止まることがあります。VPNログには何も出ません。VPNは実際につながっているからです。
診断は恒久的な変更ではなく、制御された実験です。現在の設定を控え、テスト一回分のあいだ機能を切り、トンネルを再び上げ、一つのローカルホストをアドレスで試します。転送が戻れば必要な証拠が得られ、そのトレードオフは推測ではなく判断になります。何も変わらなければすぐに再び有効にし、アドレス側の原因へ移ってください。
トンネルを動かすために有料のセキュリティ機能を切ったままにするのは、意図的に行い記録すべきトレードオフです。トンネルは別の機器に置くべきではないかと問う価値もあります。すべてを検査すべきルーターと、すべてを転送すべきルーターは別の仕事だからです。
二つ目の原因:LAN範囲が動いた
ファームウェア更新はLANアドレスをメーカーの既定値に戻すことがよくあり、一部のルーターにはLANがプライベート範囲を保つか上流機器から引き継ぐかを決める明示的なモードスイッチがあります。192.168.8.x を期待するクライアントが 10.64.0.x に来ることがあり、その場合トンネルは完全に健全でもホストへのSSHセッションがタイムアウトします。
ipconfig /all
ip addr show
ip route get 192.168.8.20
ルーターの画面を開く前に、リースからプレフィックスとゲートウェイを読みます。最初の二つのコマンドはクライアントが実際に受け取ったものを示し、三つ目はローカルアドレスにどのインターフェースを使うかを示します。残ったルートや古いサブネットはこうして姿を現します。その後、LAN画面とルーターのモードと比べてください。
範囲を戻せないなら、それを名指すすべてのオブジェクトを更新します。DHCP予約、古いサブネットへの静的ルート、以前のプレフィックスを持つファイアウォール規則です。トンネルのリモートサブネットと衝突する範囲はより厄介な形で、ローカル機器は届くままなのに、リモートの宛先が黙ってLANへ誤ルーティングされます。
パケット順に再接続して再テストする
どちらかの変更の後、トンネルを再接続し、パケット順にテストを繰り返します。ルーター、ローカルホスト、リモートホスト、次に名前、次にアプリケーションです。アプリケーションを先に試すと、どの層がまだ壊れているか隠れます。キャッシュされた名前へのブラウザーの再試行は、ルーティング障害のように見えることがあります。
VPNプロファイルのそばに、ファームウェアの版、LANプレフィックス、検査機能の状態を記録します。三つとも次の更新で上書きされうる設定で、二行のメモが今費やした一時間を節約します。