NetScaler Gateway
重要提示:
建议您在应用这些更改之前创建 NetScaler 快照或保存 NetScaler 配置。
-
从
<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. -
将这些脚本上传到 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++)转换脚本。
-
-
SSH to NetScaler and switch to shell (type 'shell' on NetScaler CLI).
-
使上传的脚本可执行。为此,请使用 chmod 命令。
chmod +x /var/tmp/ns_gateway_secure_access.sh -
在 NetScaler 命令行界面上运行上传的脚本。

-
输入所需参数。有关参数列表,请参阅先决条件。对于身份验证配置文件和 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 CLI,并使用批处理命令从新文件中运行生成的 NetScaler 命令。例如;
batch -fileName /var/tmp/ns_gateway_secure_access -outfile/var/tmp/ns_gateway_secure_access_outputNetScaler 会逐个运行文件中的命令。如果某个命令失败,它会继续执行下一个命令。如果资源已存在或步骤 6 中输入的某个参数不正确,则命令可能会失败。 -
确保所有命令都已成功完成。
注意:
如果出现错误,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 上保留安全私有访问插件设置,请执行以下操作:
-
Create or update the file /nsconfig/rc.netscaler.
-
将以下命令添加到文件中。
nsapimgr -ys call=ns_vpn_enable_spa_onpremnsapimgr -ys call=toggle_vpn_enable_securebrowse_client_modensapimgr -ys call=toggle_vpn_redirect_to_access_restricted_page_on_denynsapimgr -ys call=toggle_vpn_use_cdn_for_access_restricted_page -
保存文件。
重新启动 NetScaler 时,安全私有访问插件设置将自动应用。
上传公共网关的数字证书
如果公共网关无法从 Secure Private Access 计算机访问,则必须将公共网关证书上传到 Secure Private Access 数据库。
要上传公共网关证书,请执行以下步骤:
-
以管理员权限打开 PowerShell 或命令提示符窗口。
-
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")
-
运行以下命令:
\AdminConfigTool.exe /UPLOAD_PUBLIC_GATEWAY_CERTIFICATE <PublicGatewayUrl> <PublicGatewayCertificatePath>
已知的限制
-
现有 NetScaler Gateway 可以通过脚本更新,但可能存在无限数量的 NetScaler 配置,这些配置无法通过单个脚本覆盖。
-
我们建议您在启用安全私有访问的 VPN 虚拟服务器中将 ICA 代理 设置为关闭。
-
如果您使用部署在云中的 NetScaler,则必须对网络进行一些更改。例如,允许 NetScaler 和其他组件在某些端口上进行通信。有关端口的详细信息,请参阅通信端口。
-
如果您在 NetScaler 网关 上启用了单点登录功能,请确保 NetScaler 通过私有互联网协议地址与 StoreFront™ 进行通信。您可能需要在 NetScaler 中添加一条新的 StoreFront 的域名系统记录,并使用 StoreFront 的私有互联网协议地址。