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> 下载脚本。
    To create a new NetScaler Gateway, use ns_gateway_secure_access.sh.
    To update an existing NetScaler Gateway, use 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 to NetScaler and switch to shell (type 'shell' on NetScaler CLI).
  4. 使上传的脚本可执行。为此,请使用 chmod 命令。
    chmod +x /var/tmp/ns_gateway_secure_access.sh
  5. 在 NetScaler 命令行界面上运行上传的脚本。
    NetScaler 的第一张配置图
  6. 输入所需参数。有关参数列表,请参阅先决条件。
    对于身份验证配置文件和 SSL 证书,您必须提供 NetScaler 上现有资源的名称。
    将生成一个包含多个 NetScaler 命令的新文件,该文件的默认位置是 var/tmp/ns_gateway_secure_access。
    注意:
    在脚本执行期间,将检查 NetScaler 和 Secure Private Access 插件的兼容性。如果 NetScaler 支持 Secure Private Access 插件,则脚本会启用 NetScaler 功能以支持智能访问标签发送改进,并在资源访问受限时重定向到新的拒绝页面。有关智能标签的详细信息,请参阅支持智能访问标签。
    Secure Private Access 插件的各项功能被持久化存储在 /nsconfig/rc.netscaler 文件中,这使得它们在 NetScaler 重启后仍能保持启用状态。
    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 的现有会话操作和会话策略
请务必在执行每个命令之前进行审查,并为网关配置创建备份。

NetScaler 网关虚拟服务器上的设置

当您添加或更新现有 NetScaler Gateway 虚拟服务器时,请确保以下参数设置为定义的值。
添加虚拟服务器:
  • tcpProfileName: nstcp_default_XA_XD_profile
  • 部署类型: ICA_STOREFRONT (仅在使用 add vpn vserver 命令时可用)
  • 仅限ICA: 关闭
  • dtls: OFF
更新虚拟服务器:
  • 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 (请确保已创建此组,它用于绑定安全私有访问特定的授权策略)
  • 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>`.
将安全私有访问插件绑定到 VPN 虚拟服务器。
bind vpn vserver spaonprem -appController "https://spa.example.corp"

与 ICA® 应用程序的兼容性

为支持安全私有访问插件而创建或更新的 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 -ys call=ns_vpn_enable_spa_onprem
    nsapimgr -ys call=toggle_vpn_enable_securebrowse_client_mode
    nsapimgr -ys call=toggle_vpn_redirect_to_access_restricted_page_on_deny
    nsapimgr -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 配置,这些配置无法通过单个脚本覆盖。
  • 我们建议您在启用安全私有访问的 VPN 虚拟服务器中将 ICA 代理 设置为关闭。
  • 如果您使用部署在云中的 NetScaler,则必须对网络进行一些更改。例如,允许 NetScaler 和其他组件在某些端口上进行通信。有关端口的详细信息,请参阅通信端口。
  • 如果您在 NetScaler 网关 上启用了单点登录功能,请确保 NetScaler 通过私有互联网协议地址与 StoreFront™ 进行通信。您可能需要在 NetScaler 中添加一条新的 StoreFront 的域名系统记录,并使用 StoreFront 的私有互联网协议地址。