Windows ログオン前に常時接続の VPN を構成する

最終公開日 : Aug 21, 2026
このセクションでは、詳細ポリシーを使用して Windows ログオンの前に Always On VPN を構成するための詳細をキャプチャします。

前提条件

  • NetScaler Gateway および VPN プラグインのバージョンは 13.0.41.20 以降である必要があります。
  • ソリューションが機能するには、NetScaler ADC Advanced Edition以上が必要です。
  • この機能は、高度なポリシーを使用してのみ設定できます。
  • VPN 仮想サーバーが稼働している必要があります。

大まかな設定手順

Windows ログオン前の常時接続 VPN の構成には 、次の大まかな手順が含まれます。
  1. マシンレベルトンネルのセットアップ
  2. ユーザーレベルトンネルのセットアップ (オプション)
  3. ユーザー認証を有効にする
    1. VPN 仮想サーバを設定し、証明書キーを仮想サーバにバインドします。
    2. 認証プロファイルを作成する
    3. 認証仮想サーバーを作成する
    4. 認証ポリシーの作成
    5. ポリシーを認証プロファイルにバインドします。

マシンレベルトンネル

デバイス証明書をIDとして使用して、NetScaler Gateway に向けてマシンレベルのトンネルが確立されます。デバイス証明書は、クライアントマシンのマシンストアの下にインストールする必要があります。これは、 サービスにのみ適用されます。
デバイス証明書について詳しくは、 認証にデバイス証明書を使用するを参照してください。
重要:
NetScaler Gateway アプライアンスのVPN仮想サーバーが非標準ポート(443以外)で構成されている場合、マシンレベルのトンネルは意図したとおりに機能しません。

デバイス証明書を使用してマシンレベルトンネルをセットアップする

GUI を使用したデバイス証明書ベースの認証設定

  1. 「 構成 」タブで**、**「 NetScaler Gateway」>「仮想サーバー」に移動します。
  2. Citrix Gateway 仮想サーバーページで、既存の仮想サーバーを選択し、「 編集」をクリックします。
  3. VPN 仮想サーバーページで 、編集アイコンをクリックします。
  4. 「 デバイス証明書用 CA 」セクションの横にある「 追加**」をクリックし、「OK」**をクリックします。
    デバイス証明書の CA を追加する
    注: チェックボックスは選択しないでください。
  5. CA 証明書を仮想サーバーにバインドするには、 セクションの をクリックします。 ページで をクリックします。
    注:
    • デバイス証明書のサブジェクトの共通名 (CN) フィールドは空にできません。デバイスが空の CN デバイス証明書でログインしようとすると、VPN セッションはユーザ名が「anonymous」として作成されます。IIP では、複数のセッションが同じユーザー名を持つ場合、以前のセッションは切断されます。したがって、IIP を有効にすると、共通名が空であるため、機能への影響に気付くでしょう。
    • クライアントに発行されたデバイス証明書に署名できる可能性のあるすべての CA 証明書(ルートおよび中間)は、手順 4 および 5 の セクションと、仮想サーバの セクションの下にバインドする必要があります** 。CA 証明書を中間/下位とリンクする方法の詳細については、「 証明書のインストール、リンク、および更新」を参照してください。
    • 複数のデバイス証明書が設定されている場合、有効期限が最も長い証明書が VPN 接続に対して試行されます。この証明書で EPA スキャンが正常に許可されると、VPN 接続が確立されます。この証明書がスキャンプロセスで失敗すると、次の証明書が使用されます。このプロセスは、すべての証明書が試行されるまで続きます。
  6. ** をクリックして、必要な証明書を選択します。
    デバイス証明書の CA を追加する
  7. 必要な CA 証明書を選択します。
    デバイス証明書の CA を追加する
  8. [Bind] をクリックします。
  9. 認証仮想サーバーを作成します。
    1. ページの で、 をクリックします。
    2. ページで、認証プロファイルの名前を指定し、 をクリックします。 認証プロファイルを作成する
    3. ページで、認証仮想サーバーの名前を入力します。IP アドレスタイプ] を として選択し、****OK**をクリックします。 アドレス指定できない IP タイプを選択します 。注: 認証仮想サーバーは常に DOWN 状態のままです。
  10. 認証ポリシーを作成します。
    1. で、認証ポリシーの内側をクリックします。
    2. ページで、 の横にある をクリックします。
    3. 「 認証ポリシーの作成 」ページで、
      1. 事前認証ポリシーの名前を入力します。
      2. リストから を選択します。
      3. の横にある をクリックします。 EPA アクションタイプの選択
    4. ページで、
      1. 作成する EPA アクションの名前を入力します。
      2. sys.client_expr("device-cert_0_0") フィールドにと入力します。
      3. [Create] をクリックします。
    式の作成
  11. 「 認証ポリシーの作成 」ページで、
    1. 認証ポリシーの名前を入力します。
    2. フィールドに is_aoservice と入力します。
    3. [Create] をクリックします。
    式の作成 2
  12. ページで、 に 100 と入力し、 をクリックします。
    バインドポリシー

CLI を使用したデバイス証明書ベースの認証設定

  1. CA 証明書を VPN 仮想サーバーにバインドします。
    bind ssl vserver <vServerName> -certkeyName <string> -ocspCheck ( Mandatory | Optional )
    例
    bind ssl vserver TestClient -CertkeyName ag51.xm.nsi.test.com -CA -ocspCheck Mandatory
  2. 認証仮想サーバーを追加します。
    add authentication authnProfile <name>  {-authnVsName <string>}
    例
    add authentication authnProfile always_on -authnVsName always_on_auth_server
  3. 認証 EPA アクションを作成します。
    add authentication epaAction <name> -csecexpr <expression>
    Example
    add authentication epaAction epa-act -csecexpr      `sys.client_expr("device-cert_0_0")` -defaultgroup epa_pass
    \`\`\`
  4. 認証ポリシーを作成する
    add authentication Policy &lt;name> -rule &lt;expression> -action &lt;string>
    例:
    add authentication Policy always_on_epa_auth -rule is_aoservice -action epa_auth
重要:
  • これで、マシンレベルのトンネルの設定は完了です。Windows ログオン後にユーザーレベルトンネルを設定するには、「 ユーザーレベルトンネル」のセクションを参照してください。
  • クライアントマシンでは、デバイス証明書は.pfx 形式です。Windows では.pfx 形式が認識されるため、.pfx 証明書は Windows マシンにインストールされます。このファイルには、証明書ファイルとキーファイルが含まれています。この証明書は、仮想サーバにバインドされているドメインと同じである必要があります。.pfx とサーバーの証明書とキーは、クライアント証明書ウィザードを使用して生成できます。これらの証明書を認証局で使用して、サーバー証明書とドメインを含むそれぞれの.pfx を生成できます。証明書.pfx は、コンピューターアカウントの個人用フォルダーにインストールされます。show aaa sessionコマンドは、NetScaler ADCアプライアンス上のデバイストンネルを表示します。

ユーザーレベルトンネル

GUI を使用してマシンレベルのトンネルをユーザーレベルのトンネルに置き換える

注: 式is_aoservice.notは、NetScaler Gateway バージョン13.0.41.20以降から適用できます。
  1. ユーザー認証のポリシーを構成します。
    1. Citix Gateway > 仮想サーバーに移動し 、[ **詳細設定]**で[ 認証プロファイル]をクリックします。
    2. 認証プロファイルを設定します。
    3. ページで、認証ポリシーの内側をクリックします。
    4. で をクリックし、ポリシーバインドの を ではなく [ NEXT 。
      バインドポリシーバインドポリシー
    5. 「 バインド 」をクリックし、「 認証ポリシー 」ページで認証ポリシーを選択し、「 バインドの追加」をクリックします。
      バインドポリシー 2
    6. ページで、 の横にある をクリックします。
      「 認証ポリシーの作成 」ページで。
      1. 作成する「認証なし」ポリシーの名前を入力します。
      2. アクションタイプを No_Authnとして選択します。
      3. フィールドに is_aoservice.NOT と入力します。
      4. [Create] をクリックします。 No-auth-policy
  2. **「アクションを選択」**で、「 バインドの編集」をクリックします。
    Edit-binding-user-tunnel
  3. ページで、 に 110と入力します。 の横にある をクリックします。
    1. ページで、ポリシーラベルのわかりやすい名前を入力し、ログインスキーマを選択して、 をクリックします。
    2. ** で、 をクリックし、LDAP 認証ポリシーを作成します。
    3. をクリックし、 をクリックします。
    4. をクリックし、** をクリックします。
    ページの 列に、構成済みの次の要素ポリシーが表示されます。
    Alwayson-complete-configuration
  4. LDAP ポリシーを認証ポリシーの次の要素として設定できます。
    1. ページで、LDAP ポリシーの名前を入力します。
    2. として を選択します
    3. 設定済みの LDAP アクションとして Action を入力します。
    注:

CLI を使用してマシンレベルトンネルをユーザーレベルトンネルに置き換える

  1. ポリシーを認証仮想サーバにバインドする
    bind authentication vserver &lt;name> -policy &lt;name> -priority  &lt;positive_integer> -gotoPriorityExpression &lt;expression>
    例
    bind authentication vserver alwayson-auth-vserver -policy alwayson-auth-pol -priority 100 -gotoPriorityExpression NEXT
  2. アクションをNO_AUTHと式is_aoservice.not,として持つ認証ポリシーを追加し、ポリシーにバインドします。
    add authentication Policy &lt;name> -rule &lt;expression> -action &lt;string>

    bind authentication vserver &lt;name> -policy &lt;name> -priority &lt;positive_integer> -gotoPriorityExpression &lt;expression>
    例
    add authentication Policy alwayson-usertunnel-pol -rule is_aoservice.not -action NO_AUTHN

    bind authentication vserver alwayson-auth-vserver -policy alwayson-usertunnel-pol -priority 110
  3. 次の要素を追加し、ポリシーラベルを次の要素にバインドします。
    add authentication policylabel &lt;labelName> -loginSchema &lt;string>

    bind authentication  policylabel &lt;string>  -policyName &lt;string>  -priority &lt;positive_integer> -gotoPriorityExpression &lt;expression> -nextFactor &lt;string>
    例
    add authentication policylabel user-tunnel-auth-label -loginSchema singleauth_alwayson

    bind authentication policylabel user -policyName alwayson-usertunnel-pol -priority 100
  4. LDAP ポリシーを設定し、ユーザトンネルポリシーラベルにバインドします。

    add authentication policy &lt;name>  -rule &lt;expression>  -action &lt;string>

    bind authentication vserver &lt;vserver_name> -policy &lt;string>  -priorit < positive integer>  gotoPriorityExpression &lt;string>
    例
    add authentication Policy LDAP_new -rule true -action LDAP_new

    bind authentication policylabel user-tunnel-auth-label -policyName LDAP_new -priority 100 -gotoPriorityExpression NEXT

クライアント側の設定

AlwaysOn, locationDetection, and suffixList registries はオプションで、位置検出機能が必要な場合にのみ必要です。
レジストリキーエントリにアクセスするには、Computer>HKEY_LOCAL_MACHINE>SOFTWARE>Citrix>Secure Access Clientのパスに移動します。
レジストリキー レジストリタイプ 値と説明
AlwaysOnService REG_DWORD 1 => マシンレベルのトンネルを確立するが、ユーザーレベルのトンネルは確立しない。2 => マシンレベルのトンネルとユーザーレベルのトンネルを確立する
AlwaysOnURL REG SZ ユーザーが接続するNetScaler Gateway 仮想サーバーのURL。例: https://xyz.companyDomain.com 重要: 1 つの URL だけがマシンレベルのトンネルとユーザーレベルのトンネルを担当します。alwaysOnUrl レジストリは、サービスレベルコンポーネントとユーザーレベルのコンポーネントの両方が動作し、設計に基づいて別のトンネル、つまりマシンレベルのトンネルとユーザーレベルのトンネルを接続するのに役立ちます
AlwaysOn REG_DWORD 1 => VPN 障害時にネットワークアクセスを許可する、2=> VPN 障害時にネットワークアクセスをブロックする
AlwaysOnAllowlist REG_SZ マシンが厳密モードで実行されている間にホワイトリストに登録する必要がある IP アドレスまたは FQDN のセミコロン区切りのリスト。例: 8.8.8.8;linkedin.com
UserCertCAList REG_SZ カンマまたはセミコロンで区切られたルート CA 名のリスト。証明書の発行者名です。Always On サービスのコンテキストで使用され、カスタマーはクライアント証明書の選択元となる CA のリストを指定できます。例: cgwsanity.net;xyz.gov.in
locationDetection REG_DWORD 1 => 位置検出を有効にするには、0 => 位置検出を無効にする
suffixList REG SZ セミコロンで区切られたドメインのリストで、位置検出が有効になっているときにいつでもマシンがイントラネット上にあるかどうかを確認する役割を果たします。Example: citrite.net,cgwsanity.net
これらのレジストリエントリの詳細については、「 Always On」を参照してください。
注:
常時接続サービスを構成すると、NetScaler Gateway 仮想サーバーまたはCitrix ADC で構成された常時接続プロファイルはクライアント側で無視されます。そのため、Always On サービスを設定するときは、必ずlocationDetection VPN レジストリとAlwaysOnVPN レジストリも有効にしてください。