为将微 VPN 与 Microsoft Endpoint Manager 结合使用而设置 NetScaler Gateway

Last published : Oct 14, 2026
Citrix 微 VPN 与 Microsoft Endpoint Management 集成后,您的应用程序可以访问本地资源。有关详细信息,请参阅Citrix 微 VPN 与 Microsoft Endpoint Manager 集成。

系统要求

  • NetScaler Gateway 版本
    • 13.1
    • 13.0
    • 12.1.50.x 或更高版本
    • 12.0.59.x 或更高版本
    您可以从 NetScaler Gateway 下载页面下载最新版本的 NetScaler Gateway。
  • 运行 Windows 7 或更高版本的 Windows 桌面(仅适用于 Android 应用程序打包)
  • 微软
    • Microsoft Entra ID 访问权限(具有租户管理员权限)
    • 启用 Intune 的租户
  • 防火墙规则
    • 启用防火墙规则,允许 SSL 流量从 NetScaler Gateway 子网 IP 流向 *.manage.microsoft.com、https://login.microsoftonline.com 和 https://graph.microsoft.com(端口 443)
    • NetScaler Gateway 必须能够外部解析上述 URL。

先决条件

  • Intune 环境: 如果您没有 Intune 环境,请设置一个。有关说明,请参阅 Microsoft Intune 入门 页面。
  • Edge 浏览器应用: Micro VPN SDK 已集成到适用于 iOS 和 Android 的 Microsoft Edge 应用和 Intune 托管浏览器应用中。有关托管浏览器的更多信息,请参阅 使用 Intune 管理 iOS 和 Android 上的 Microsoft Edge 页面。
  • Citrix Endpoint Management™ 授权: 确保拥有有效的 Citrix Endpoint Management 授权,以便在 Microsoft Edge 移动浏览器(iOS 和 Android)上持续支持 micro VPN SDK。有关更多信息,请联系您的销售、客户或合作伙伴代表。

授予 Microsoft Entra ID 应用程序权限

  1. 同意 Citrix 与 Microsoft Entra ID 应用程序进行多租户集成,以允许 NetScaler Gateway 使用 Microsoft Entra 域进行身份验证。Azure 全局管理员必须访问以下 URL 并同意:
    <https://login.windows.net/common/adminconsent?client_id=b6a53a76-5d50-499e-beb3-c8dbdad5c40b&redirect_uri=https://www.citrix.com&state=consent>。
  2. 同意 Citrix 与 Microsoft Entra ID 应用程序进行多租户集成,以允许移动应用程序使用 NetScaler Gateway micro VPN 进行身份验证。仅当 Azure 全局管理员将“用户可以注册应用程序”的默认值从“是”更改为“否”时,才需要此链接。 此设置可在 Azure 门户的 Microsoft Entra ID > 用户 > 用户设置 下找到。 Azure 全局管理员必须访问以下 URL 并同意(添加您的 租户 ID)<https://login.microsoftonline.com/[tenant_id]/adminconsent?client_id=9215b80e-186b-43a1-8aed-9902264a5af7>。

配置 NetScaler Gateway 以用于 micro VPN

要将 micro VPN 与 Intune 结合使用,您必须将 NetScaler Gateway 配置为向 Microsoft Entra ID 进行身份验证。
  1. 从 NetScaler 下载页面 下载安装脚本文件。
  2. 在脚本文件中,更新以下值:
    • <NSG_IP>:要分配给 NetScaler Gateway 虚拟服务器的虚拟 IP 地址。此 IP 地址必须可从您的设备直接或通过 NAT 设备访问。您不能使用现有的 NetScaler Gateway 虚拟服务器。
    • <ENV_NAME>:NetScaler Gateway 虚拟服务器的显示名称。
    • <SERVER_CERT_NAME>: 将绑定到新 NetScaler Gateway 虚拟服务器的服务器证书的名称。
    • <AAD_CLIENT_SECRET>: 使用 NsgCreateSecret.ps1 PowerShell 脚本生成的客户端密钥值(包含在设置脚本中)。
    • <AAD_TENANT_ID>: 存储客户 Microsoft Entra ID 的 Microsoft Entra 租户 ID。您可以从 Microsoft Entra ID 管理控制台获取,或使用 NsgCreateSecret.ps1 PowerShell 脚本生成。
  3. 将所有占位符替换为实际值后,通过在 CLI 中运行以下命令来运行整个脚本:
    /netscaler/nscli -U :<NetScaler Management Username>:<NetScaler Management Password> batch -f "/var/<NsgCreateScriptFileName>"
    注意:
    确保运行脚本后返回值为 Done。
  4. 现有的 NetScaler Gateway 虚拟服务器不适用于此用例。创建 NetScaler Gateway 虚拟服务器并确保虚拟服务器的状态为 UP。有关详细信息,请参阅创建虚拟服务器。

验证 NetScaler Gateway 与 Microsoft 服务的通信

  1. 使用 SSL Checker 等在线工具从 Internet 访问新的 NetScaler Gateway 虚拟服务器。这可以确认服务器证书是否正确安装,并验证 Internet 与 DMZ 网络中托管的 NetScaler Gateway 虚拟服务器之间的连接。
  2. 使用 SSH 客户端(例如 PuTTY)打开与 NetScaler Gateway 的 SSH 连接。
  3. 运行以下命令以检查从 NetScaler Gateway 设备到 Microsoft URL 的出站连接:https://login.microsoftonline.com、*.manage.microsoft.com 和 https://graph.microsoft.com。
    root@netscaler# curl -s -k https://login.microsoftonline.com
    root@netscaler# curl -s -k https://graph.windows.net
    root@netscaler# curl -s -k https://manage.microsoft.com
  4. 退出 SSH 连接并在 CLI 中运行 show oauthAction 命令。OAuth Status 必须为 COMPLETE。如果看到 OAuth Status 不是 COMPLETE,请参阅故障排除 部分。

配置 Microsoft Edge 浏览器

  1. 登录到 <https://endpoint.microsoft.com/>,然后导航到 Intune > 移动应用。
  2. 像往常一样发布 Edge 应用程序,然后添加应用程序配置策略。
  3. 在 管理 下,点击 应用配置策略。
  4. 点击 添加,然后输入要创建的策略名称。在 设备注册类型 中,选择 托管应用。
  5. 点击 关联应用。
  6. 选择要应用策略的应用(Microsoft Edge 或 Intune 托管浏览器),然后点击 确定。
  7. 点击 配置设置。
  8. 在 名称 字段中,输入下表中列出的其中一个策略的名称。
  9. 在 值 字段中,输入要应用于该策略的值。点击字段外部以将策略添加到列表中。您可以添加多个策略。
  10. 点击 确定,然后点击 添加。
该策略已添加到您的策略列表中。
名称 (iOS/Android) 值 描述
MvpnGatewayAddress https://external.companyname.com 您的 NetScaler Gateway 的外部 URL
MvpnNetworkAccess Mvpn 网络访问隧道式 WebSSO 或 无限制 MvpnNetworkAccessTunneledWebSSO 是隧道的默认值
MvpnExcludeDomains 逗号分隔的要排除的域名列表 可选。默认值=空白
TunnelExcludeDomains app.launchdarkly.com,cis.citrix.com,cis-staging.citrix.com,cis-test.citrix.com,clientstream.launchdarkly.com,crashlytics.com,events.launchdarkly.com,fabric.io,firehose.launchdarkly.com, hockeyapp.net,mobile.launchdarkly.com,pushreg.xm.citrix.com,rttf.citrix.com,rttf-staging.citrix.com,rttf-test.citrix.com,ssl.google-analytics.com,stream.launchdarkly.com 可选。使用此客户端属性可覆盖默认的排除域列表。
注意:
Web SSO 是设置中安全浏览的名称。其行为相同。
  • MvpnNetworkAccess - MvpnNetworkAccessTunneledWebSSO 启用通过 NetScaler Gateway 的 HTTP/HTTPS 重定向,也称为隧道式 Web SSO。网关会内联响应 HTTP 身份验证质询,提供单点登录 (SSO) 体验。要使用 Web SSO,请将此策略设置为 MvpnNetworkAccessTunneledWebSSO。不支持完全隧道重定向。使用 Unrestricted 可关闭微 VPN 隧道。
  • MvpnExcludeDomains - 逗号分隔的主机名或域名列表,这些主机名或域名将从通过 NetScaler Gateway 反向 Web 代理路由中排除。即使 NetScaler Gateway 配置的拆分 DNS 设置可能会选择该域或主机,这些主机名或域名仍将被排除。
    注意:
    • 此策略仅对 MvpnNetworkAccessTunneledWebSSO 连接强制执行。如果 MvpnNetworkAccess 为 Unrestricted,则此策略将被忽略。
    • 此策略仅适用于配置了反向拆分隧道的 NetScaler Gateway 的隧道式 Web SSO 模式。
  • TunnelExcludeDomains - 默认情况下,MDX 会将某些服务终结点从微 VPN 隧道中排除。移动应用 SDK 和应用使用这些服务终结点来实现各种功能。例如,服务终结点包括不需要通过企业网络路由的服务,例如 Google Analytics、Citrix Cloud™ 服务和 Active Directory 服务。使用此客户端属性可覆盖默认的排除域列表。
    要配置此全局客户端策略,请在 Microsoft Endpoint Management 控制台上,导航到 Settings > Client Properties,添加自定义密钥 TUNNEL_EXCLUDE_DOMAINS,并设置值。
    值:要将默认列表替换为您要从隧道中排除的域,请键入一个以逗号分隔的域后缀列表。要将所有域都包含在隧道中,请键入 none。默认列表为:
    app.launchdarkly.com,cis.citrix.com,cis-staging.citrix.com,cis-test.citrix.com,clientstream.launchdarkly.com,crashlytics.com,events.launchdarkly.com,fabric.io,firehose.launchdarkly.com, hockeyapp.net,mobile.launchdarkly.com,pushreg.xm.citrix.com,rttf.citrix.com,rttf-staging.citrix.com,rttf-test.citrix.com,ssl.google-analytics.com,stream.launchdarkly.com

故障排除

常见问题

问题 解决方案
打开应用时出现“需要添加策略”消息 在 Microsoft Graph API 中添加策略
存在策略冲突 每个应用只允许一个策略
打包应用时出现“未能打包应用”消息。有关完整消息,请参阅下表 该应用已与 Intune SDK 集成。您无需使用 Intune 包装该应用
您的应用程序无法连接到内部资源 确保防火墙端口已正确打开,租户 ID 正确,等等
应用程序打包失败错误消息:
应用程序打包失败。com.microsoft.intune.mam.apppackager.utils.AppPackagerException: 此应用程序已集成 MAM SDK。 com.microsoft.intune.mam.apppackager.AppPackager.packageApp(AppPackager.java:113) com.microsoft.intune.mam.apppackager.PackagerMain.mainInternal(PackagerMain.java:198) com.microsoft.intune.mam.apppackager.PackagerMain.main(PackagerMain.java:56) 应用程序无法封装。

NetScaler Gateway 问题

问题 解决方案
NetScaler Gateway 无法访问 login.microsoftonline.com and graph.windows.net。 从 NS Shell 中,检查您是否能够访问以下 Microsoft 网站:cURL -v -k <https://login.microsoftonline.com>。然后,检查 NetScaler Gateway 上是否配置了 DNS。还要检查防火墙设置是否正确(以防 DNS 请求被防火墙阻止)。
配置 OAuthAction 后,ns.log 中出现错误。 检查 Intune 许可是否已启用,以及 Azure 网关应用程序是否已设置正确的权限。
Sh OAuthAction 命令未显示 OAuth 状态为“完成”。 检查 Azure 网关应用程序上的 DNS 设置和已配置的权限。
Android 或 iOS 设备未显示双重身份验证提示。 检查双因素设备 ID 登录方案是否已绑定到身份验证虚拟服务器。

NetScaler Gateway OAuth 状态和错误条件

状态 错误条件
AADFORGRAPH 密钥无效、URL 未解析、连接超时
MDMINFO *manage.microsoft.com已关闭或不可达
GRAPH Graph 终结点已关闭或不可达
CERTFETCH 无法与“令牌终结点: <https://login.microsoftonline.com>”通信,因为存在 DNS 错误。要验证此配置,请转到 shell 并键入 cURL <https://login.microsoftonline.com>。此命令必须验证。
注意:
当 OAuth 状态成功时,状态显示为 COMPLETE。

最新的 OAuth 网络访问控制 (NAC) 服务终结点

从版本 14.1 build 29.x 开始,VPN 虚拟服务器支持最新的 OAuth NAC 服务终结点。此支持可实现端到端 MDM 功能。
以下是 NAC 服务终结点的 CLI 配置示例:
add authentication OAuthAction &lt;oauth_action_for_NAC> -OAuthType INTUNE -authorizationEndpoint "https://login.microsoftonline.com/&lt;ed10c590-5d7b-4a5c-bb29-564c20480756>/oauth2/v2.0/authorize" -tokenEndpoint "https://login.microsoftonline.com/&lt;ed10c590-5d7b-4a5c-bb29-564c20480756>/oauth2/v2.0/token" -clientID <1dc2adc3-0298-4ff5-9bf5-b98852ff58ba> -clientSecret <6zM8Q~b4Hr9wwHEGFVDsiMWjvG~IS6PKv2m> -tenantID &lt;ed10c590-5d7b-4a5c-bb29-564c20480756> -GraphEndpoint "https://graph.microsoft.com" -refreshInterval 1440 -grantType CODE -authentication DISABLED -allowedAlgorithms HS256 RS256 RS512 -PKCE ENABLED -tokenEndpointAuthMethod client_secret_post
有关更多信息,请参阅 OAuth 身份验证。