设计方法访问层

设计方法的第二层是为每个用户组定义的访问层。

为访问层创建恰当的设计是桌面虚拟化过程的重要组成部分。此层通过身份验证处理用户验证,并调配对建立安全虚拟桌面连接所需的所有组件的访问。

访问层设计决策基于每个用户组的移动性要求以及所使用的端点设备。

身份验证

获取对资源的访问权限取决于用户的身份。定义身份验证策略会考虑用户进入环境的入口点以及用户将如何进行身份验证。

决策:身份验证提供程序

传统上,用户需要 Active Directory 用户名和密码才能访问其 XenApp 和 XenDesktop 资源。由于大多数组织在本地 Active Directory 部署中标准化,因此这一特定要求很容易实现。

组织正在使用外部承包商,这需要一个帐户才能访问 XenApp 和 XenDesktop 资源。组织正在调查使用第三方身份提供程序 (IdP)(例如 Azure Active Directory、Google、LinkedIn 等),而不是管理自己的身份提供程序。

通过实施 Citrix 联合身份验证服务,XenApp 和 XenDesktop 支持使用第三方 IdP。管理员可以让承包商使用其 Google 帐户访问获得批准的应用程序和桌面,从而简化加入过程。

决策:身份验证点

在连接到虚拟资源之前,用户必须先进行身份验证。身份验证地点通常由用户组的移动性要求决定,这些要求是在用户细分过程中定义的。XenDesktop 中有两个可用的身份验证点:

  • StoreFront – Citrix StoreFront 为 Citrix Receiver 提供身份验证和资源交付服务,使集中式企业应用商店能够交付桌面、应用程序以及其他资源。
  • NetScaler Gateway – NetScaler Gateway 是一个设备,为应用程序和数据提供安全的应用程序访问和精细的应用程序级别策略控制,同时允许用户从任何位置工作。

下表根据用户组移动性要求列出了首选的身份验证点:

用户组的移动性要求 首选身份验证点
本地 StoreFront
漫游本地 StoreFront
远程 NetScaler Gateway
本地 NetScaler Gateway

如果需要,可能会直接在 StoreFront 上对具有远程移动性要求的用户组进行身份验证。例如,DMZ 安全策略可能禁止从 NetScaler Gateway 访问域,这是支持智能卡客户端证书身份验证所必需的。然后,可以通过 NetScaler SSL_BRIDGE 虚拟服务器传递对 StoreFront 进行身份验证的访问权限,该虚拟服务器为 https 流量提供通道。通常情况下,虚拟服务器将与 NetScaler Gateway 一起托管在同一个配置为提供对虚拟桌面环境的 HDX 代理访问的 NetScaler 上。尽管有时可能需要这样的用例,但建议的最佳做法是通过 NetScaler Gateway 对外部用户进行身份验证。

决策:身份验证策略

确认身份验证点后,必须确定身份验证的类型。以下选项是可用的主要方法:

  • StoreFront – 支持多种不同的身份验证方法,但并不建议使用所有方法,具体取决于用户的访问方法、安全要求和网络位置。请注意,默认情况下,StoreFront 会直接使用 Active Directory 对用户进行身份验证,而非像 Web Interface 一样通过 XML 进行身份验证。StoreFront 3.0 以上的版本可以选择性配置为根据需要将身份验证委派给 XML(例如,如果 StoreFront 服务器位于不信任用户域的域中)。
    • 用户名和密码 – 要求用户通过输入用户名和密码直接登录到站点。
    • 域直通 – 允许从用户设备直通域凭据。用户向其加入域的 Windows 计算机验证身份后,即可在访问自己的应用商店时自动登录。
    • NetScaler Gateway 直通 – 允许执行从 NetScaler Gateway 直通身份验证。用户向 NetScaler Gateway 验证身份后,即可在访问自己的应用商店时自动登录。
    • 智能卡 - 允许用户通过 Citrix Receiver for Windows 和 NetScaler Gateway 使用智能卡和 PIN 进行身份验证。要启用智能卡身份验证,必须在包含 StoreFront 服务器的 Microsoft Active Directory 域或与 StoreFront 服务器域具有直接双向信任关系的域中配置用户的帐户。不支持涉及单向信任或信任关系类型不同的多林部署。
    • 匿名 - 允许用户在不向 StoreFront 或 Citrix Receiver 提供凭据的情况下访问应用程序和桌面。启动会话时,将在服务器 VDA 上按需创建本地匿名帐户。这需要为未经身份验证的访问配置的 StoreFront 应用商店、基于服务器操作系统的 VDA 以及为未经身份验证的用户配置的 XenApp 交付组。
  • NetScaler Gateway – NetScaler Gateway 支持多种身份验证方法。下面的列表包括主要在虚拟桌面环境中使用的列表。每个列表都可以单独使用,但通常组合起来以提供多重身份验证。
    • LDAP – 轻型目录访问协议 (LDAP) 用于访问目录信息服务,例如 Microsoft Active Directory。NetScaler Gateway 使用 LDAP 对用户进行身份验证并提取其组成员身份信息。
    • RADIUS (令牌) - 远程身份验证拨入用户服务 (RADIUS) 是一种基于 UDP 的网络安全协议,提供身份验证、授权和核算。网络访问服务器(在本例中为 NetScaler Gateway)将凭据转发到 RADIUS 服务器,该服务器可以在本地检查凭据,也可以根据目录服务检查凭据。然后,RADIUS 服务器可以接受连接、拒绝连接或质询并请求第二种形式的身份验证(例如令牌)。
    • 客户端证书 – 登录到 NetScaler Gateway 虚拟服务器的用户还可以基于向虚拟服务器提交的客户端证书的属性进行身份验证。客户端证书通常以智能卡或通用访问卡 (CAC) 的形式向用户分发,这些卡由附加到每个用户的设备的读卡器读取。

用户组的身份验证类型通常根据安全要求以及使用的身份验证点来确定。下表有助于根据所需的安全级别为每个用户组定义适当的解决方案:

身份验证点 安全要求 身份验证类型
StoreFront 低、中、高 低:LDAP 用户名和密码;直通。中:LDAP 用户名和密码;直通。高:LDAP 和/或智能卡
NetScaler Gateway 低、中、高 低:LDAP 用户名和密码。中:LDAP 用户名和密码。高:LDAP 和令牌;LDAP 和智能卡;令牌和智能卡

来自现场的经验

  • 零售 – 一家小型私人零售公司为虚拟桌面用户提供对非敏感数据的访问权限,例如营销目录和电子邮件。这些用户不需要遵守 Sarbanes Oxley 等安全法规。因此,LDAP 身份验证已基于用户名和密码实现。
  • 财务 — 一家中型金融企业为其虚拟桌面用户提供对机密数据的访问权限,例如银行交易记录。这些用户受“会计标准声明 (SAS) 70”等安全法规的制约,并且必须对远程访问用户使用多重身份验证。LDAP 身份验证基于用户名和密码以及使用令牌的 RADIUS 身份验证实现。
  • 政府 — 某大型联邦机构为虚拟桌面用户提供访问高度机密数据的权限,例如公民个人的个人记录。这些用户受国防部 (DOD) 安全标准的监管。LDAP 身份验证已基于用户名和密码以及使用 CAC 卡的客户端证书身份验证实现。
  • 医疗保健 - 某家医院正在使用 XenApp 向用户交付其 EMR 应用程序。医生和护士正在使用固定和移动推车上的 ThinClient 设备来捕获和检索患者数据。未经身份验证的访问已配置为防止医护人员不得不对域以及 EMR 应用程序进行身份验证。

StoreFront

Citrix StoreFront 对 XenApp 和 XenDesktop 资源的用户进行身份验证。StoreFront 将可用桌面和应用程序枚举和聚合到用户通过 Citrix Receiver for Windows、Citrix Receiver for iOS、Citrix Receiver for Android 或 StoreFront Web 站点访问的单个界面中。

决策:高可用性

如果托管 StoreFront 的服务器不可用,用户将无法启动新虚拟桌面、已发布的应用程序或管理其订阅。因此,应至少部署两个 StoreFront 服务器,以防止此组件成为单故障点。通过实施负载平衡解决方案,用户不会在其服务中遇到中断问题。选项包括:

  • 硬件负载平衡 – 智能设备,能够验证 StoreFront 服务的可用性,并主动对用户请求进行适当的负载平衡。Citrix NetScaler 是硬件负载均衡器的一个很好的示例。Citrix NetScaler 是一款理想的负载平衡器,预配置了 StoreFront 运行状况检查。
  • DNS 轮询 – 在多个服务器之间提供基本的负载平衡,无需对可用性执行任何检查。如果 StoreFront 服务器变得不可用,DNS 轮询仍会将用户路由到出现故障的服务器。因此,Citrix 不推荐使用 DNS 轮询。
  • Windows 网络负载平衡 – 能够执行基本检查以验证服务器是否可用,但无法确定单个服务的状态的 Windows 服务。这可能会导致用户被转发到无法处理新请求的 StoreFront 服务器。然后,用户将无法访问应用程序或桌面。

决策:Delivery Controller 参考

要向用户提供桌面和应用程序,StoreFront 必须在每个 XenDesktop 和 XenApp 站点中至少配置一个 Controller 的 IP 地址或 DNS 名称。为了容错,应为指定的每个站点和/或场输入多个 Controller。默认情况下,StoreFront 按故障转移顺序(主动/被动)处理服务器列表。

对于具有高登录负载的大型部署或环境,建议主动分配用户负载(主动/主动)。这可以通过使用内置 XML 监视器(例如 Citrix NetScaler)的负载平衡器来实现,或者通过配置 StoreFront 以对 Controller 列表进行负载平衡(而非将其视为有序列表)来实现。

决策:信标

Citrix Receiver 使用信标(Web 站点)来确定用户是连接到内部网络还是外部网络。内部用户直接连接到 StoreFront 进行身份验证,而外部用户则通过 Citrix NetScaler Gateway 进行连接。可以基于用户有权访问的信标通过限制应用程序来控制其所看到的内容。

内部信标应是不能在外部解析的站点。默认情况下,内部信标是 StoreFront 基本 URL。如果配置了相同的外部和内部 URL,则必须对此进行调整。外部信标可以是生成 http 响应的任何外部站点。Citrix Receiver 持续监视网络连接的状态(例如,链路打开、链路关闭或更改默认网关)。检测到状态更改后,Citrix Receiver 首先验证是否可以访问内部信标点,然后再继续检查外部信标点的可访问性。StoreFront 在初始连接/配置下载过程中向 Citrix Receiver 提供信标点的 http 地址,并根据需要提供更新。需要至少指定两个可从公用网络解析的高可用外部信标。

决策:资源显示

默认情况下,StoreFront 允许用户选择(订阅)其希望在登录(收藏)后经常使用的资源。此方法被视为“自助服务”,允许用户将在主屏幕上看到的资源限制在定期使用的资源上。每个用户为每个应用商店选择的资源由订阅应用商店服务记录,并存储在每个 StoreFront 服务器本地(在同一服务器组中的服务器之间自动同步),以便这些资源可以显示在用户从其进行连接的任何设备的 Citrix Receiver 主屏幕上。尽管默认情况下,订阅基于应用商店和服务器组,但管理员可以配置服务器组中的两个应用商店,以共享订阅数据库和/或根据定义的计划在两个单独的服务器组中的两个同名的应用商店之间同步订阅(如有需要)。

管理员应确定哪些应用程序应始终显示在用户主屏幕或精选选项卡上。一般情况下,这些应用程序是常见的应用程序,例如 Microsoft Office Suite 以及环境中的每个用户可能需要的任何其他应用程序。StoreFront 可以使用在已发布的应用程序属性说明字段中定义的关键字筛选/显示这些资源。

下表介绍了关键字选项:

关键字 说明
Auto 自动为应用商店的所有用户订阅应用程序。用户登录该应用商店时,相应的应用程序将自动预配,而无需用户手动订阅。如果需要,用户可以选择随后删除此订阅。
Mandatory StoreFront 2.5 中的新增功能,“Mandatory”关键字将使应用程序自动为应用商店的用户订阅。但是,用户无法选择删除应用程序。创建必须始终向所有用户显示的一组核心应用程序时,此设置非常有用。
Featured 向用户公告应用程序,或者在 Receiver 的“精选”列表中列出常用的应用程序以使其更易于查找。
Prefer 指定使用本地安装的应用程序,而非 Receiver 中可用的应用程序。Receiver 搜索指定的名称/路径以确定应用程序是否在本地安装。如果已在本地安装,Receiver 将订阅该应用程序,但不创建快捷方式。用户从 Receiver 窗口中启动该应用程序时,Receiver 将启动本地安装的(首选)应用程序。如果用户在 Receiver 外部卸载了某个首选应用程序,下次 Receiver 刷新时将取消订阅该应用程序。如果用户从 Receiver 窗口中卸载了某个首选应用程序,Receiver 将取消订阅该应用程序,但不卸载。
TreatAsApp 默认情况下,Receiver for Web 站点对待 XenDesktop VDI 桌面和 XenApp 托管的共享桌面的方式与对待其他桌面的方式相同。通过使用关键字“DreatasApp”,桌面将显示在 Receiver for Web 站点的应用程序视图中,而非桌面视图中。用户必须先订阅,才能访问桌面。
Primary 在多站点部署中,使用此关键字可确保应用程序从指定站点交付。如果应用程序可以从具有相同名称的多个站点访问,则仅当应用程序不可从主站点使用时,才会显示辅助站点中的应用程序。
Secondary 与“Primary”关键字相同的属性,但它指定辅助站点中的应用程序。

决策:聚合组

如果 XenApp/XenDesktop 解决方案包含多个交付站点,StoreFront 会将可用资源合并到一起,以便用户为所有已发布的资源提供单个界面。但是,如果多个站点发布相同的资源,用户可能会遇到混淆问题,因为单个应用程序将出现多次。

不包括聚合的用户体验示意图

StoreFront 聚合组定义多个站点中的资源如何合并,以便为用户提供一个易于理解的单一视图。StoreFront 将重复的已发布资源聚合到一个图标中。

包括聚合的用户体验示意图

当图标为聚合时,管理员必须确定如何在不同的 XenApp/XenDesktop 站点中对用户进行负载平衡。选项包括:

  • 负载平衡 – 在根据容量建议创建重复站点时使用。StoreFront 会在所有已配置的站点之间分发用户请求。
  • 故障切换 – 当地理位置在发生中断的情况下需要资源时,或者在用户从一个站点迁移到另一个站点(例如 XenApp 迁移项目)时使用。

建议在设计阶段记录用户、存储和聚合方法时使用。

用户组 可用应用商店 对应用商店进行负载平衡 对应用商店进行故障转移
NA_FinanceUsers NA_West_Store、NA_East_Store、EMEA_Store NA_West_Store、NA_East_Store EMEA_Store
EMEA_SalesUsers EMEA_Store、NA_East_Store EMEA_Store NA_East_Store

决策:可扩展性

单个 StoreFront 服务器支持的 Citrix Receiver 用户数量取决于分配的资源和用户活动的级别。请注意,Receiver for Web 用户平均使用的 RAM 比本机 Receiver 用户高,但在所有情况下,建议每个 StoreFront 服务器至少使用 4 GB RAM 作为基准。此外,每个应用商店枚举的更多站点/场将增加 CPU 利用率和服务器响应时间,而 XenApp IMA 场具有比 XenApp/XenDesktop FMA 站点更大的可扩展性影响。

StoreFront 部署 CPU 使用率 同时进行的活动
独立部署:4 个 CPU、4 GB RAM、高使用率(登录、枚举、订阅、取消订阅、注销) 75% 291/秒
独立部署:4 个 CPU、4 GB RAM、高使用率(登录、枚举、订阅、取消订阅、注销) 90% 375/秒
群集 StoreFront 部署,2 个节点,其中每个节点具有:4 个 CPU、4 GB RAM、高使用率(登录、枚举、订阅、取消订阅、注销) 75% 529/秒
群集 StoreFront 部署,2 个节点,其中每个节点具有:4 个 CPU、4 GB RAM、高使用率(登录、枚举、订阅、取消订阅、注销) 90% 681/秒

测试显示,单个 StoreFront 部署扩展到 3-4 个 StoreFront 节点,且单个服务器组中最多支持 5-6 个服务器,之后回报会减少。

NetScaler Gateway

使用 NetScaler Gateway 作为其身份验证点的用户组需要考虑其他设计决策。这些设计决策不适用于非 NetScaler Gateway 身份验证点。

决策:拓扑

选择网络拓扑是规划远程访问体系结构的核心,可确保其能够支持必要的功能、性能和安全性。远程访问架构的设计应与安全团队合作完成,以确保遵守企业安全要求。有两个主要的拓扑需要考虑,其中每个拓扑都提供了不断提高的安全级别:

  • 一臂(正常安全性) — NetScaler Gateway 采用一臂拓扑结构,利用一个物理或逻辑绑定接口以及关联的 VLAN 和 IP 子网,为用户传输前端流量以及虚拟桌面基础结构服务器和服务的后端流量。

臂拓扑示意图

  • 双臂(高安全性) — NetScaler Gateway 采用双臂拓扑,利用两个或多个物理或逻辑绑定接口以及关联的 VLAN 和 IP 子网。用户的前端流量传输被定向到这些接口之一。前端流量在虚拟桌面基础结构服务器和服务之间与后端流量隔离,其中后端流量指向第二个接口。这允许使用独立的隔离区 (DMZ) 隔离前端和后端流量流以及精细的防火墙控制和监视。

臂拓扑示意图

决策:高可用性

如果 NetScaler Gateway 不可用,远程用户将无法访问环境。因此,应至少部署两个 NetScaler Gateway 主机,以防止此组件成为单故障点。

在高可用性(主动/被动)对中配置 NetScaler Gateway 时,辅助 NetScaler Gateway 通过发送定期消息(也称为检测信号消息或运行状况检查)来监视第一个设备,以确定第一个设备是否接受连接。如果运行状况检查失败,辅助 NetScaler Gateway 会在指定时间内再次尝试连接,直到确定主设备不起作用。如果辅助设备确认运行状况检查失败,辅助 NetScaler Gateway 将接管主 NetScaler Gateway。

请注意,在固件 10.5 及更高版本中,也可以使用多个 NetScaler Gateway 实例执行群集化操作以提供高可用性,尽管对点状配置和剥离配置的支持因固件和网关配置(完全 SSL VPN 与 ICA 代理)而异。 (https://docs.citrix.com/en-us/netscaler/11-1/clustering/cluster-features-supported.html)

决策:平台

为了确定适合的 NetScaler 平台以满足项目要求,必须确定关键的资源限制。由于所有远程访问流量都将使用安全套接字层 (SSL) 进行保护,该层通过超文本传输协议 (HTTP) 以 HTTP 形式传输,因此应针对两个资源指标:

  • SSL 吞吐量 – SSL 吞吐量是指每秒可处理的千兆位 SSL 流量 (Gbps)。
  • 每秒 SSL 事务 (TPS) – TPS 指标标识应用程序交付控制器 (ADC) 每秒执行 SSL 事务的次数。容量主要取决于所需的密钥长度。当 SSL 首次设置时,TPS 容量是协商阶段的一个主要考虑因素,而在批量加密/解密阶段(即会话寿命的大部分时间)中,该容量几乎不需要考虑。虽然 TPS 是一个需要监视的重要指标,但现场经验表明,SSL 吞吐量是确定合适的 NetScaler Gateway 的最重要的因素。

相对于虚拟桌面流量,SSL 平均带宽开销通常被认为可以忽略不计,并且通常不会作为所需的 SSL 吞吐量的一部分。但是,预配 SSL 带宽将有助于确保预估的总吞吐量足够。添加到数据包头的固定带宽可能因所使用的加密算法而异,带宽的整体百分比可能因数据包大小而有很大差异。理想情况下,应在概念证明或试验期间测量开销。但是,在没有此类数据的情况下,将工作负载带宽递增 2% 是一个合理的经验法则。因此,要确定 NetScaler 平台所需的 SSL 吞吐量,请将数据中心的最大并发带宽乘以 1.02:

SSL 吞吐量 = 最大并发带宽 x 1.02

例如,假设最大并发带宽为 128 Mbps,则可以按如下方式确定相应的 NetScaler 型号:

~130 Mbps = 128 Mbps x 1.02

SSL 吞吐量值应与各种 NetScaler 平台的吞吐量功能进行比较,以确定最适合环境的吞吐量值。有三个主要平台组可用,每个组提供广泛的可扩展性选项。

  • VPX — NetScaler VPX 设备提供与硬件 NetScaler 相同的完整功能。但是,NetScaler VPX 可以利用“现成的”服务器进行托管,并且适用于中小型环境。通常情况下,组织为 500 个用户的 VPX 实例创建基准上限。
  • MPX — NetScaler MPX 是 NetScaler 设备的硬件版本。MPX 设备比虚拟 NetScaler 功能更强大,可以支持大型企业部署的网络优化,特别是配置 SSL 卸载时,因为此操作是在 VPX 上的软件中完成的,而不是在 MPX 上的专用 SSL 芯片中完成的。
  • SDX — NetScaler SDX 是虚拟和物理 NetScaler 设备之间的混合。SDX 计算机是能够托管多个虚拟 NetScaler 设备的物理设备。这种设备整合有助于减少所需的机架空间和设备整合。NetScaler SDX 适用于处理大型企业部署和/或多租户托管提供商的网络通信。

可以在 Citrix NetScaler 数据表中找到 NetScaler 平台的 SSL 吞吐量功能。因此,根据上述示例计算,NetScaler MPX 5550 设备足以处理所需的负载。但是,实际可扩展性将取决于安全要求。NetScaler SSL 吞吐量随着使用日益复杂的加密算法和更长的密钥长度而降低。此外,此计算表示单个主 NetScaler。至少建议使用 N+1 冗余,这将需要具有相同平台和型号的额外 NetScaler。

注意

Citrix NetScaler 数据表通常表示性能最佳条件下的吞吐量功能。但是,性能直接受到安全要求的影响。例如,如果使用 RC4 加密算法和 1k 密钥长度,VPX 平台可能能够处理超过 500 个 HDX 代理连接。但是,如果使用 3DES 加密算法和 2k 密钥长度(这越来越常见),吞吐量可能会减半。

决策:预身份验证策略

可选的预身份验证策略可应用于以 NetScaler Gateway 作为其身份验证点的用户组。预身份验证策略根据端点分析 (EPA) 扫描是否符合特定条件来限制对环境的访问。

预身份验证访问策略可以配置为测试防病毒、防火墙、操作系统甚至注册表设置。这些策略可用于完全阻止访问,也可以由 XenDesktop 用于控制会话功能,例如剪贴板映射、打印机映射,甚至特定应用程序和桌面的可用性。例如,如果用户设备未安装防病毒软件,则可以设置一个过滤器来隐藏敏感应用程序。

下图概述了如何使用多个策略来自定义虚拟化资源的功能:

智能访问决策逻辑示意图

来自现场的经验

  • 零售 – 一家小型私营零售公司在允许访问之前使用 EPA 扫描是否存在更新后的防病毒定义。
  • 金融 – 一家中等金融企业使用域 SID 的 EPA 扫描来验证用户是否是企业域的成员,然后再允许访问。
  • 政府 – 一家大型联邦机构使用 EPA 扫描端点设备,以确保在允许访问之前已在设备上安装了特定证书(或一组证书)。

决策:会话策略

使用 NetScaler Gateway 作为其身份验证点的用户组必须定义相应的会话策略。会话策略用于定义整体后身份验证用户体验。

组织根据使用的 Citrix Receiver 类型创建会话策略。为了会话策略分配,设备通常分为非移动设备(例如基于 Windows、Mac 和 Linux 操作系统)或移动设备(例如 iOS 或 Android)。因此,应根据评估阶段确定的客户端设备要求,决定是支持移动设备、非移动设备,还是同时支持这两者。

要确定设备会话策略,请包括表达式(例如本文中讨论的表达式)。

  • 移动设备 – 表达式设置为 REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver,该表达式被赋予比非移动设备策略更高的优先级,以确保移动设备匹配,而非移动设备不匹配。
  • 非移动设备 – 表达式设置为 ns_true,表示该表达式应应用于向其发送的所有流量。

会话策略的另一种用途是应用端点分析表达式。这些会话策略在后身份验证时应用,但模仿前面提到的预身份验证策略。使用会话策略是一种方案,用于向不符合完全安全要求(例如对特定应用程序的只读访问)的端点提供回退方案。

决策:会话配置文件

每个会话策略都必须定义相应的会话配置文件。会话配置文件定义用户组获得环境访问权限所需的详细信息。有两种主要形式的会话配置文件确定对虚拟桌面环境的访问方法:

  • SSLVPN – 用户创建一个虚拟专用网络,并通过内部网络通道传输通过 IP 地址配置的所有流量。用户的客户端设备能够像在内部网络中一样访问允许的 Intranet 资源。这包括 XenDesktop 站点和任何其他内部流量,例如文件共享或 Intranet Web 站点。这被认为是一种可能不太安全的访问方法,因为网络端口和虚拟桌面基础结构外部服务的路由可能会打开,使企业容易受到完全 VPN 访问可能带来的风险。这些风险可能包括拒绝服务攻击、试图黑客入侵内部服务器,或者可能通过基于 Internet 的客户端通过路由和端口从恶意软件、特洛伊木马或其他病毒启动的任何其他形式的恶意活动。

当需要 SSLVPN 时,另一个需要考虑的决策是是否为客户端网络流量启用拆分通道。通过启用拆分通道,Citrix Receiver 定向到 Intranet 的客户端网络流量可能仅限于与特定服务关联的路由和端口。通过禁用拆分通道,所有客户端网络流量都定向到 Intranet,因此,用于内部服务的流量以及用于外部服务 (Internet) 的流量都经过公司网络。启用拆分通道的优势在于,企业网络的曝光度有限,节约了网络带宽。禁用拆分通道的优点是客户端流量可以通过 Web 筛选器或入侵检测系统等系统进行监视或控制

SSL VPN 示意图

  • HDX 代理 – 使用 HDX 代理,用户可以通过 NetScaler Gateway 连接到其虚拟桌面和应用程序,而无需在外部公开内部地址。在此配置中,NetScaler Gateway 充当 Micro VPN,仅处理 HDX 流量。客户端端点设备上的其他类型的流量(例如私人邮件或个人 Internet 流量)不使用 NetScaler Gateway。

必须根据所使用的端点和 Citrix Receiver,决定每个用户组是否支持此方法。HDX 代理被视为远程虚拟桌面访问的安全访问方法,因为只有特定于桌面会话的流量才允许传递到公司基础结构。大多数 Citrix Receiver 都支持 HDX 代理,并且这是首选方法:

HDX 代理示意图

决策:首选数据中心

企业通常有多个活动数据中心,为关键任务应用程序提供高可用性。某些虚拟桌面或应用程序可能属于该类别,而其他桌面或应用程序只能从特定的首选数据中心访问。因此,用户在多活动数据中心环境中进行身份验证的初始 NetScaler Gateway 可能不在与用户的 VDI 资源相对应的首选数据中心内。StoreFront 能够确定用户分配的资源的位置,并将 HDX 会话定向到这些资源;但是,生成的路径可能是子可选的(从 NetScaler Gateway 到虚拟桌面/应用程序资源的 WAN 连接,而不是 LAN 连接)。

可以使用静态和动态方法将 HDX 会话定向到其主数据中心中的虚拟桌面资源。决定选择哪种方法应根据是否具备动态分配站点链接,例如全局服务器负载平衡 (GSLB) 以及网络评估 Intranet 和 Internet 带宽以及服务质量 (QoS) 能力。

注意

有关配置 GSLA 静态和动态方法的详细信息,请参阅 Citrix 产品文档 - 配置 GSLB 的临近程度

静态

  • 直接 – 用户可以获得映射到 A 记录的 FQDN,该记录专用于主数据中心 NetScaler Gateway,允许用户直接访问其虚拟桌面,而无论用户身在何处。这种方法消除了动态分配增加的一层复杂性。但是,它还消除了容错选项,例如当主数据中心中断仅限于访问基础结构时,能够通过备用 Intranet 路径访问虚拟桌面。

动态

  • Intranet – 对于大多数动态环境,选择进行身份验证的初始数据中心是最接近用户的数据中心。协议(例如 GSLL 动态邻近性)计算用户的本地 DNS 服务器与 NetScaler Gateway 之间的最小延迟。此后,默认情况下,HDX 会话通过同一 NetScaler Gateway 路由到托管用户虚拟桌面和应用程序的任何数据中心。这种方法的优点是大多数 HDX 会话将遍历可能使用服务质量的企业 WAN。

Intranet 连接示意图

  • Internet - 此外,HDX 会话可以通过靠近后端 VDI 桌面/XenApp 服务器的备用 NetScaler Gateway 重新路由,从而导致大多数 HDX 会话通过 Internet 遍历。例如,在美国拥有专用桌面的用户在欧洲旅行时可能会根据邻近程度定向到托管在欧洲数据中心的 NetScaler Gateway。但是,当用户启动其桌面时,将通过位于美国的首选数据中心中托管的 NetScaler Gateway 与虚拟桌面建立 HDX 连接。

这样可以节省 WAN 网络使用率(以 QoS 为代价),如果用户的 Internet 连接可能提供比公司 WAN 更可靠的体验,则建议这样做。

Internet 连接示意图

某些客户将使用这些方法的组合,例如特定于地理位置的动态 URL,以便在地理区域(例如北美)内提供容错能力,而不会造成全球 GSLD 的复杂性。

站点到站点的连接

XenApp 和 XenDesktop 站点能够跨越多个位置。为了成功实施多站点解决方案,设计必须考虑到位置之间的站点到站点链接以及 XenApp 和 XenDesktop 会话路由,以提供最佳用户体验。

决策:HDX 优化路由

在多站点 XenApp 和 XenDesktop 解决方案中,某些条件(例如最快的响应时间或最近的邻近程度)将用户路由到最佳站点。这些算法不考虑用户想要访问的资源。

用户会话路由不当会导致以下结果:

HDX 路由示意图

  1. 根据临近程度或响应时间将用户路由到优先级最高的站点
  2. NetScaler Gateway 将 ICA 流量代理到正确的资源,这些资源可能跨企业 WAN。

理想情况下,优化路由应如下所示:

优化路由示意图

  1. 根据临近程度或响应时间将用户路由到优先级最高的站点
  2. 根据所选的资源,NetScaler Gateway 将会话重新路由到首选站点中的 NetScaler Gateway。
  3. NetScaler Gateway 将 ICA 流量代理到正确的资源,该资源保留在本地 LAN 上。

在 StoreFront 中使用优化的 HDX 路由选项可卸载公司 WAN 中的流量,并将其放置在公用网络中

决策:虚拟 WAN

在分支机构方案中,XenApp 和 XenDesktop 设计必须评估分支机构与托管应用程序和桌面资源的数据中心的连接。如果分支机构与数据中心之间的 WAN 连接无法满足用户要求,则整体用户体验会降低。组织在其 WAN 连接中有几个选项:

  • 纵向扩展 – 组织可以简单地增加将分支机构连接到数据中心的 WAN 管道的大小,成本通常非常巨大。
  • 横向扩展 – 组织可以维护其当前的 WAN 连接,并通过多种低成本替代方案对其进行扩充。分支机构与数据中心之间的所有连接的集成创建了一个软件定义的虚拟 WAN,例如 NetScaler SDWAN。设备通过在虚拟 WAN 中定义的所有 WAN 连接发送重复的网络数据包。WAN 另一端的设备使用第一个到达的数据包,丢弃所有后续的数据包。随着多个链路的条件在一天中发生变化,这种方法保证了可能的最佳体验。

NetscalerSdWan 示意图

设计方法访问层