Windows には VPN という見出しの下に現れる別物がふたつある。オペレーティングシステム自身が実装する組み込みプロトコルプロファイルと、独自の実装を持ち込むプロバイダー プラグイン用のプラットフォームである。プラグインはネイティブ プロファイルで IKEv2 や SSTP を選ぶことの別名ではなく、ネイティブ プロファイルはトンネルの種類の名前を変えるだけでベンダーの設定を取り込めるわけではない。ここでの混乱の多くは、一方に向けて書かれたサポート記事を他方に当てはめることから始まる。どちらを持っているかを知ることが最初の一歩であり、それには一分ほどかかる。

VPN 接続と呼ばれるふたつの別物

組み込みの種類とは Windows 自身が実装するもの、すなわち IKEv2、SSTP、L2TP/IPsec、PPTP、そしてそれらの中から選ぶ自動オプションである。プロバイダー プラグインは別個のパッケージで、通常はベンダー自身のインストーラーによって導入され、プラットフォームに実装を登録し、独自の接続の種類として表示される。

アプリという言葉だけではどちらが入っているかは決まらない。ベンダーはプラグインを提供することも、単体のデスクトップ クライアントを提供することも、その両方もあり得て、挙動は異なる。

設定の道筋をたどり、接続が何を提供しているかを見る。設定、ネットワークとインターネット、VPN と進み、接続のプロパティを開く。ネイティブ プロファイルなら、組み込み名が並ぶ VPN の種類のドロップダウンがあり、詳細オプションには Windows が対応する認証方法が表示される。構成できる場所がベンダー自身のダイアログしかない場合、あるいは種類がその一覧にない場合は、プラグインか単体クライアントを見ていることになる。何かを変える前に、三つのうちどれなのかを書き留めておく。

設定をたどってどれを持っているかを見る

複数のマシンを管理しているなら PowerShell のほうが速い。Get-VpnConnection は Windows 自身が管理する接続を一覧し、各々の結果には TunnelType が含まれる。プロバイダーが管理する接続はそこにまったく現れないこともあり、それ自体が答えになる。

ネイティブ プロファイルは、対応している独自のパラメーターで作成する。Add-VpnConnection -Name Corp -ServerAddress vpn.example.com -TunnelType IKEv2 -AuthenticationMethod EAP であり、方式が要求する場合は XML として渡す EAP 構成も加わる。これが Windows の文書化している面であり、任意のベンダー XML や OpenVPN 構成ファイルを同等のプロファイルとして受け付けることはない。その変換を試みることが、プロファイルがそもそもネイティブでなかったのにプラットフォームが壊れていると結論づける理由になる。

プロバイダーが持つもの

プラグインは実装の詳細を持つ。だからこそこの区別は名前の問題にとどまらない。そのアプリケーション、認証フロー、構成スキーマはプロバイダーに属し、それらについて正しい情報源はプロバイダーのドキュメントだけである。

その所有には実際の帰結がある。更新チャネルは Windows Update ではなくベンダーのもので、互換性の問題を直す版は別の仕組みで届く。削除の経路もベンダーのもので、設定で接続の項目を消しても、プロバイダーのアプリケーションとその管理された配置が残ることがある。そしてプロファイルのスキーマもベンダーのものなので、あるプロバイダーのプロファイルにある設定は、ラベルが一致していても別のプロバイダーのプロファイルでは意味を持たない。

実際の構成の出どころをたどる

管理された配置では、プロバイダーのドキュメントと組織のドキュメントを、片方を他方で置き換えるのではなく併用する。対応するバージョン、プロファイルのスキーマ、配置が利用者を対象とするのかデバイスを対象とするのかを確認する。

この最後の区別は見た目より重い。利用者単位の配置とデバイス単位の配置では前提条件も失敗の仕方も異なり、一方の状況で正しく入るパッケージが他方では見えないことがある。想定したプロバイダーがない場合、似た名前の無関係なクライアントを入れても互換性は得られない。名前が何を示唆していても同じである。

構成のあとは認証を試し、そのうえでプロファイルが実際に何を適用したかを試す。設定一覧にプロファイルが現れることはアプリケーション到達性の試験ではない。通信が通る経路と使用中の DNS サーバーを確認する。プラグインは独自の経路とリゾルバーを入れることがあり、誤っているときに利用者が気づくのはまさにそこである。そのうえで利用者が本当に必要とするアプリケーションを開く。接続状態と動作するセッションは別の主張だからである。

プロファイルが実際に何を適用したかを試す

エスカレーションするときは、Windows のビルドとサーバー アドレスだけでなく、プロバイダーの名前とバージョンを含める。Windows 11 で VPN がつながらないというチケットは、三つのうちどれが起きているのかを次の人に何も伝えない。

更新と削除は所有するコンポーネントに結びつけたままにし、それがどのコンポーネントかを接続名のそばに記録する。VPN 接続の種類とプラグインに関する Microsoft のドキュメント が、組み込みの一覧とプラグイン モデルの参照先である。組織の指示がプロバイダーを名指ししているなら、プロファイルについてはプロバイダーのドキュメントが優先する。それ以外は、どの Windows の機能を見ているのかという推測にすぎない。

関連記事