NetScaler Gateway

Last published : Oct 24, 2026
重要提示:
建议您在应用这些更改之前创建 NetScaler 快照或保存 NetScaler 配置。
  1. 从 <https://www.citrix.com/downloads/citrix-secure-private-access/Shell-Script/Shell-Script-for-Gateway-Configuration.html> 下载脚本。
    要创建新的 NetScaler 网关,请使用 ns_gateway_secure_access.sh。
    要更新现有的 NetScaler 网关,请使用 ns_gateway_secure_access_update.sh。
  2. 将这些脚本上传到 NetScaler 计算机。您可以使用 WinSCP 应用程序或 SCP 命令。例如,scp ns_gateway_secure_access.sh nsroot@nsalfa.fabrikam.local:/var/tmp。
    例如,scp ns_gateway_secure_access.sh nsroot@nsalfa.fabrikam.local:/var/tmp
    注意:
    • 建议使用 NetScaler 的 /var/tmp 文件夹来存储临时数据。
    • 确保文件以 LF 行结尾保存。FreeBSD 不支持 CRLF。
    • 如果您看到错误 -bash: /var/tmp/ns_gateway_secure_access.sh: /bin/sh\^M: bad interpreter: No such file or directory,则表示行结尾不正确。您可以使用任何富文本编辑器(例如 Notepad++)转换脚本。
  3. 通过 SSH 连接到 NetScaler,并切换到外壳程序(在 NetScaler 命令行界面上键入 'shell')。
  4. 使上传的脚本可执行。为此,请使用 chmod 命令。
    chmod +x /var/tmp/ns_gateway_secure_access.sh
  5. 在 NetScaler 命令行上运行上传的脚本。
    NetScaler configuration 1
  6. 输入所需的参数。有关参数列表,请参阅先决条件。
    对于身份验证配置文件和 SSL 证书,您必须提供 NetScaler 上现有资源的名称。
    A new file with multiple NetScaler commands (the default is var/tmp/ns_gateway_secure_access) is generated.
    注意:
    在脚本执行期间,将检查 NetScaler 和 Secure Private Access 插件的兼容性。如果 NetScaler 支持 Secure Private Access 插件,则脚本会启用 NetScaler 功能以支持智能访问标签发送改进,并在资源访问受限时重定向到新的拒绝页面。有关智能标签的详细信息,请参阅支持智能访问标签。
    The Secure Private Access plug-in features persisted in the /nsconfig/rc.netscaler file allow to keep them enabled after NetScaler is restarted.
    NetScaler 配置的第二张图片
  7. 切换到 NetScaler CLI,并使用批处理命令从新文件中运行生成的 NetScaler 命令。例如:
    batch -fileName /var/tmp/ns_gateway_secure_access -outfile
    /var/tmp/ns_gateway_secure_access_output
    NetScaler 会逐个运行文件中的命令。如果某个命令失败,它会继续执行下一个命令。
    如果资源已存在或步骤 6 中输入的某个参数不正确,则命令可能会失败。
  8. 确保所有命令都已成功完成。
注意:
如果出现错误,NetScaler 仍会运行剩余命令并部分创建/更新/绑定资源。因此,如果您因为某个参数不正确而看到意外错误,建议从头开始重新配置。

使用现有配置在 NetScaler Gateway 上配置安全专用访问

您还可以在现有 NetScaler Gateway 上使用脚本来支持安全专用访问。但是,脚本不会更新以下内容:
  • 现有 NetScaler 网关 虚拟服务器
  • 绑定到 NetScaler Gateway 的现有会话操作和会话策略
请确保在执行每个命令之前进行审查,并创建网关配置的备份。

Settings on NetScaler Gateway virtual server

添加或更新现有 NetScaler Gateway 虚拟服务器时,请确保以下参数设置为定义的值。
添加虚拟服务器:
  • tcpProfileName: nstcp_default_XA_XD_profile
  • 部署类型: ICA_STOREFRONT (仅在 add vpn vserver 命令下可用)
  • 仅限ICA: 关闭
  • DTLS协议: 关闭
更新虚拟服务器:
  • tcpProfileName: nstcp_default_XA_XD_profile
  • 仅限 ICA:关闭
示例:
添加虚拟服务器:
add vpn vserver _SecureAccess_Gateway SSL 999.999.999.999 443 -Listenpolicy NONE -tcpProfileName nstcp_default_XA_XD_profile -deploymentType ICA_STOREFRONT -vserverFqdn gateway.mydomain.com -authnProfile auth_prof_name -icaOnly OFF dtls: OFF
更新虚拟服务器:
set vpn vserver _SecureAccess_Gateway -icaOnly OFF
有关虚拟服务器参数的详细信息,请参阅 vpn-sessionAction。

NetScaler 网关会话操作

会话操作通过会话策略绑定到网关虚拟服务器。创建会话操作时,请确保以下参数设置为定义的值。
  • transparentInterception: 关闭
  • SSO: ON
  • ssoCredential: 主要
  • useMIP: NS
  • useIIP: 关闭
  • icaProxy: 关闭
  • wihome: "https://storefront.mydomain.com/Citrix/MyStoreWeb" - 替换为真实的商店 URL。商店 /Citrix/MyStoreWeb 的路径是可选的。
  • ClientChoices: 关闭
  • ntDomain: mydomain.com - 用于单点登录(可选)
  • defaultAuthorizationAction: 允许
  • authorizationGroup: SecureAccessGroup(请务必确保此组已创建,因为此组将用于绑定 Secure Private Access 相关的特定授权策略。)
  • clientlessVpnMode: 开启
  • clientlessModeUrlEncoding: 透明
  • SecureBrowse: 已启用
  • Storefronturl: "https://storefront.mydomain.com"
  • sfGatewayAuthType: 域
示例:
添加会话操作:
add vpn sessionAction AC_OS_SecureAccess_Gateway -transparentInterception OFF -SSO ON -ssoCredential PRIMARY -useMIP NS -useIIP OFF -icaProxy OFF -wihome "https://storefront.mydomain.com/Citrix/MyStoreWeb" -ClientChoices OFF -ntDomain mydomain.com -defaultAuthorizationAction ALLOW -authorizationGroup SecureAccessGroup -clientlessVpnMode ON -clientlessModeUrlEncoding TRANSPARENT -SecureBrowse ENABLED -storefronturl "https://storefront.mydomain.com" -sfGatewayAuthType domain
更新会话操作:
set vpn sessionAction AC_OS_SecureAccess_Gateway -transparentInterception OFF -SSO ON
For details on session action parameters, see `<https://developer-docs.netscaler.com/en-us/adc-command-reference-int/13-1/vpn/vpn-sessionaction>`.
此操作旨在将 Secure Private Access 插件与 VPN 虚拟服务器进行绑定。
bind vpn vserver spaonprem -appController "https://spa.example.corp"

与 ICA® 应用程序的兼容性

为支持 Secure Private Access 插件而创建或更新的 NetScaler Gateway 也可用于枚举和启动 ICA 应用程序。在这种情况下,您必须配置安全票证颁发机构 (STA) 并将其绑定到 NetScaler Gateway。 注意:STA 服务器通常是 Citrix Virtual Apps and Desktops™ DDC 部署的一部分。
有关详细信息,请参阅以下主题:

支持智能访问标签

在以下版本中,NetScaler Gateway 会自动发送标签。您无需使用网关回调地址来检索智能访问标签。
  • 13.1–48.47 及更高版本
  • 14.1–4.42 及更高版本
智能访问标签作为标头添加到 Secure Private Access 插件请求中。

配置 安全私有访问 切换开关

以下表格列出了在本地部署中支持智能访问标签所需使用的切换开关:
切换名称 功能描述
nsapimgr_wr.sh -ys call=ns_vpn_enable_spa_onprem 启用适用于本地部署的安全私有访问
nsapimgr_wr.sh -ys call=ns_vpn_disable_spa_onprem 禁用适用于本地部署的安全私有访问
nsapimgr_wr.sh -ys ns_vpn_enable_spa_tcp_udp_apps=3 启用 TCP/UDP 应用程序
nsapimgr_wr.sh -ys ns_vpn_enable_spa_tcp_udp_apps=0 禁用 TCP/UDP 应用程序
nsapimgr_wr.sh -ys call=toggle_vpn_enable_securebrowse_client_mode 为 HTTP 回调配置启用 SecureBrowse 客户端模式
nsapimgr -ys call=toggle_vpn_redirect_to_access_restricted_page_on_deny 如果访问被拒绝,启用重定向到“访问受限”页面。
nsapimgr -ys call=toggle_vpn_use_cdn_for_access_restricted_page 使用 CDN 上托管的“访问受限”页面。
注意:
  • 要禁用没有单独禁用命令的开关,请再次运行相同的命令。这仅适用于命令中包含“toggle”的命令。
  • 要验证开关是打开还是关闭,请运行 nsconmsg 命令。
  • 要在 NetScaler Gateway 上配置智能访问标签,请参阅配置上下文标签。

在 NetScaler 上持久化安全私有访问插件设置

要在 NetScaler 上持久化安全私有访问插件设置,请执行以下操作:
  1. Create or update the file /nsconfig/rc.netscaler.
  2. 将以下命令添加到文件中。
    nsapimgr_wr.sh -ys call=ns_vpn_enable_spa_onprem
    nsapimgr_wr.sh -ys call=toggle_vpn_enable_securebrowse_client_mode
    nsapimgr_wr.sh -ys call=toggle_vpn_redirect_to_access_restricted_page_on_deny
    nsapimgr_wr.sh -ys call=toggle_vpn_use_cdn_for_access_restricted_page
  3. 保存文件。
重新启动 NetScaler 时,安全专用访问插件设置将自动应用。

上传公共网关的证书

如果公共网关无法从 Secure Private Access 计算机访问,则必须将公共网关证书上传到 Secure Private Access 数据库。
请执行以下步骤来上传公共网关的证书:
  1. 以管理员权限打开 PowerShell 或命令提示符窗口。
  2. Change the directory to the Admin\AdminConfigTool folder under the Secure Private Access installation folder (for example, cd "C:\Program Files\Citrix\Citrix Access Security\Admin\AdminConfigTool")
  3. 运行以下命令:
    \AdminConfigTool.exe /UPLOAD_PUBLIC_GATEWAY_CERTIFICATE <PublicGatewayUrl> <PublicGatewayCertificatePath>

已知局限性

  • 现有 NetScaler Gateway 可以通过脚本更新,但可能存在无限数量的 NetScaler 配置,这些配置无法通过单个脚本覆盖。
  • 建议您在启用 Secure Private Access 的 VPN 虚拟服务器中将 ICA 代理设置为 OFF。
  • 如果您在云中部署 NetScaler,则必须对网络进行一些更改。例如,允许 NetScaler 和其他组件之间在特定端口上进行通信。有关端口的详细信息,请参阅通信端口。
  • If you enable SSO on NetScaler Gateway, make sure that NetScaler communicates to StoreFront™ using a private IP address. You might have to add a new StoreFront DNS record to NetScaler with a StoreFront private IP address.