Azure ポイント対サイト(P2S)VPN自動接続の設定
VPNクライアント接続によく困ること
別記事で公開されている手順で手動で(P2S)VPNクライアント接続を行い、GUIから接続設定は可能だが、VPNクライアント接続の際に、必ずポップアップで表示された[接続]ボタンを押さないと接続開始できない。
また、PC端末のシャットダウンやユーザーのサインアウトにより、VPN接続が切断されてしまい、バックグラウンドで接続し続けることもできない。このままでは、VPNクライアントの常時接続を維持することは不可能。
対策
下記の対策方法で、PC端末がスタートアップ時に、VPNクライアント自動接続を行い、バックグラウンドで接続し続けることも可能になる。
全体の流れ
Step1:ルート証明書とクライアント証明書のインポート
Step2:サーバー名またはアドレスの確認
Step3:新しい接続またはネットワークのセットアップ
Step4:VPNクライアント自動接続(タスクスケジューラ)の設定
Step1:ルート証明書とクライアント証明書のインポート
別記事の [Azure ポイント対サイト(P2S)VPN作成とクライアント接続]の[クライアントに証明書の配置]手順でルート証明書とクライアント証明書を配置する。
Azure ポイント対サイト(P2S)VPN作成とクライアント接続 - Justin-Qu’s blog
※ルート証明書とクライアント証明書両方とも、証明書ストアを[ローカル コンピューター] - [信頼されたルート証明書機関]を選択する必要がある。
Step2:サーバー名またはアドレスの確認
以下のようにVPN接続先のサーバー名またはアドレスを確認する。
VPNクライアントをインストール済んでいない場合、別記事の [Azure ポイント対サイト(P2S)VPN作成とクライアント接続]の[クライアント接続] 手順で、VPNクライアントのインストールを実施する。
Windows スタートメニューから、[設定]を押す
[ネットワークとインターネット]を選択する
[VPN]を選択する
対象VPNを選択し、[詳細オプション]を押す
[編集]を押す
[サーバー名またはアドレス]の値をコピーし、後続のStep3手順に使用する
Step3:新しい接続またはネットワークのセットアップ
[コントロールパネル] > [ネットワークとインターネット] > [ネットワークと共有センター]を開き、[新しい接続またはネットワークのセットアップ]をクリックする
[職場に接続します] > [次へ]をクリックする
[いいえ、新しい接続を作成します] > [次へ]をクリックする
[インターネット接続(VPN)を使用します]をクリックする
[インターネットアドレス]に、Step2手順でコピーした[サーバー名またはアドレス]値を貼り付けて、[接続先の名前]を入力し、[作成]をクリックする
[コントロールパネル] > [ネットワークとインターネット] > [ネットワークと共有センター] > [アダプターの設定の変更]をクリックする
新しい作成のコネクタを右クリックで[プロパティ]を選択する
セキュリティタブをクリックし、以下を設定する
① [VPNの種類] を [Secure Socket トンネリング プロトコル(SSTP)] に変更
② [ 拡張認証プロトコル(EAP)を使う]を選択し、[スマートカードまたはその他の証明書(暗号化は有効)]に変更
③ [プロパティ]をクリックする
スマートカードまたはその他の証明書のプロパティ画面で以下を設定する
① [このコンピューターの証明書を使う] を選択
② [信頼されたルート証明書期間」一覧から、Step1でインポートされたルート証明書にチェックを入れる
③ [詳細設定]をクリックする
[証明書の選択を構成」画面で以下を設定する
① [証明書発行者]を選択
② 証明書一覧から、下記Step1でインポートされた2種類の証明書にチェックを入れる
・VPN構成時にAzureに登録したルート証明書
・上記ルート証明書と紐づいたクライアント証明書
③ [OK]をクリックする
スマートカードまたはその他の証明書のプロパティ画面に戻り、[OK]をクリックする
[ネットワーク]タブをクリックし、[インターネットプロトコルバージョン4(TCP/IPv4)]を選択、[プロパティ]をクリックする
[詳細設定]をクリックする
[リモートネットワークでデフォルトゲートウェイを使う] のチェックを外し、
[OK]をクリックする
[OK]をクリックする
[OK]をクリックする
再度 [コントロールパネル] > [ネットワークとインターネット] > [ネットワークと共有センター] > [アダプターの設定の変更]より、新しい作成のコネクタを右クリックで開き
[接続/切断]を選択する
Wi-Fi接続画面がポップアップされると、新しい作成のコネクタを選択し、[接続]ボタンをクリックする
VPN接続済みのステータスが表示されると、Step3の設定を正常終了とする
※初回接続だと、証明書確認の画面がポップアップされる可能性もある。
その場合、正しいクライアント証明書の選択を確認次第、[OK]をクリックすると、上記の接続ステータスが表示される
Step4:VPNクライアント自動接続(タスクスケジューラ)の設定
スタートメニューの検索欄に[タスクスケジューラ]で検索し、表示された[タスクスケジューラ]アプリを選択、[管理者として実行]をクリックする
※該当設定には、設定アカウントのローカル管理者権限が必要
[タスクの作成]をクリックする
[全般]タブを選択し、以下の項目を設定する
① 名前にタスク名を入力する
② 必要に応じて、タスクを実行権限を持つアカウントを設定する
③ [ユーザーがログオンしているかどうかに関わらず実行する] にチェックする
④ [最上位の権限で実行する] にチェックする
⑤ [構成] に [Windows 10] を選択する
※今回Windows 10端末で設定したため、[Windows 10] を選択したが、
異なるシステムバージョンの場合、適切なシステムバージョンの選択も必要
[トリガー]タブを選択し、[新規]ボタンをクリックする
トリガー新規作成で以下を設定する
① タスクの開始に「スタートアップ時」を選択
② [遅延時間を指定する]にチェックし、遅延実行時間を選択する
※遅延実行を設定しないと、スタートアップ(OS再起動)の際に、Wi-Fi接続より
VPN自動接続のタスクが先に実行されると、接続失敗になる。確実にWi-Fi接続後に
タスクを実行させるため、このタスク遅延実行を設定されている
③ [OK]をクリックする
トリガーが作成されているステータスを確認する
[操作]タブを選択し、[新規]ボタンをクリックする
操作の新規作成で以下を設定する
① プログラム/スクリプト:Rasdial
② 引数の追加(オプション):Step3でコネクタ作成時に設定された[接続先の名前]を入力
※ここで設定された引数がVPNコネクタ名と一致する限り、タスクが実行される可能
③ [OK]をクリックする
操作が作成されているステータスを確認する
[条件]タブを選択し、以下の項目を設定する
① [コンピューターをAC電源で使用している場合のみタスクを開始する]チェックを外す
※電源を挿していない状態で、PC端末を起動する事例がよくある
[設定]タブを選択し、以下の項目を設定する
① [タスクを停止するまでの時間]チェックを外す
② [要求時に実行中のタスクが終了しない場合、タスクを強制的に停止する] チェックを外す
③ [OK] ボタンをクリックし、タスク設定を完了する
タスクスケジューラのトップ画面で、[すべてのタスク履歴を有効にする]にクリックし、タスクの実行履歴を有効化する
新規作成のVPN自動接続タスクを右クリック、[実行する]を選択して、手動実行を試行
タスクの[履歴]タブより、実行ログを確認できる
VPN接続ステータスが「接続済み」になると、設定を完了。
次回、OS起動時にVPN自動接続も可能になる。
※接続はうまくいかない場合、VPNコネクタ設定か、タスクスケジューラ設定の問題を切り分け必要がある。上記のように、それぞれ手動実行の手順も記載されていため、それを参照してトラブルシュートも可能。
タスクスケジューラの実行に関して、各端末やユーザー環境の利用状況が複雑のため、細かい設定は、タスク実行履歴やWindowsイベントログを参考しながら、適切に調整する必要もある。
まとめ
以上、VPN自動接続ための各設定ステップ、及び手順をご紹介します。ルート証明書、クライアント証明書を信頼されたルート証明書機関へのインポートが本設定の前提条件となり、設定内容として、VPNコネクタとタスクスケジューラ設定の大きく二つとなります。
この設定を完了すると、VPNクライアント接続の際に、必ずポップアップで表示された[接続]ボタンを押さないと接続開始できないことはなく、OS起動時に自動接続するようになり、VPNクライアントの常時接続も可能になるため、運用にとって、大変便利な機能です。