Citrix网关

无状态RDP代理

无状态RDP代理访问RDP主机。当用户在单独的Citrix Gateway身份验证器RDPListener上进行身份验证时,将通过Citrix Gateway上的授予访问权限。Citrix Gateway所需的RDPListener信息安全地存储在sta服务器上。只要Citrix网关和应用程序枚举服务器可以访问STA服务器,就可以将STA服务器放置在任何地方。有关详细信息,请参阅https://support.citrix.com/article/CTX101997

连接流程

RDP代理流程中涉及两个连接。第一个连接是用户与Citrix VIP的SSL VPN网关连接,以及RDP资源的枚举。

第二个连接是与Citrix网关上的RDP侦听器(使用RDPip和RDPort配置)的本机RDP客户端连接,以及随后将RDP客户端安全地代理到服务器数据包。

连接流程图

  1. 用户连接到身份验证器网关VIP并提供凭据。

  2. 成功登录网关后,用户将被重定向到主页/外部门户,该门户列举了用户可以访问的远程桌面资源。

  3. 用户选择RDP资源后,身份验证器网关VIP将收到一个请求,格式表https://AGVIP/rdpproxy/ip:port/rdptargetproxy示用户单击的已发布资源。此请求包含有关用户选择的RDP服务器的IP和端口的信息。

  4. 身份验证器网关处理/rdpproxy/请求。由于用户已经通过身份验证,因此此请求附带有有效的网关cookie。

  5. RDPTargetRDPUser信息存储在sta服务器上,然后生成sta票证。信息存储为XML blob,可以选择使用配置的预共享密钥对其进行加密。如果加密,则blob将进行base64编码和存储。身份验证器网关使用在网关虚拟服务器上配置的sta服务器之一。

  6. XML blob采用以下格式

    ipaddr\n端口 n Username \npwd 
  7. 在/rdpproxy/请求中rdptargetproxy获得的将作为”fulladdress放置,STA票证(预先附有STA AuthID)作为放loadbalanceinfo在.rdp文件中。

  8. .rdp文件将被发送回客户端端点。

  9. 本机RDP客户端启动并连接到RDPListener网关。它以最初的x.224数据包发送STA票证。

  10. RDPListener网关验证sta票证并获取RDPTargetRDPUser信息。要使用的STA服务器是使用中存在的" AuthID "检索的loadbalanceinfo

  11. 创建网关会话用于存储授权/审核策略。如果用户存在会话,则会重复使用该会话。

  12. 使用credsspRDPListener网关连接到RDPTarget和单点登录。

必备条件

  • 用户已在Citrix Gateway身份验证器上进行身份验证。

  • 初始/rdpproxy URL和RDP客户端连接到另一个RDPListener Citrix网关

  • 使用sta服务器的身份验证器网关可以安全地传递RDPListener网关信息。

使用cli配置无状态RDP代理

  • 添加配rdpServer置文件。服务器配置文件在上配置RDPListener网关

    注意:

    • 一旦在VPN虚拟服务器上配置了RDP服务器配置文件,就无法对其进行修改。此外,同一ServerProfile不能在另一台VPN虚拟服务器上重复使用。
    • 之前在VPN虚拟服务器上配置的RdpIP和rdPort是RdpServerProfile的一部分。将rdp文件重命名为,rdp ClientProfile并删除参数clientSSL。因此,早期的配置不起作用。
    add rdpServer Profile [profilename] -rdpIP [RDP监听器的IPV4地址]-rdpPort[终止RDP客户端连接的端口]-psk[解密RDPTarget/RDPUser信息的密钥,使用STA时需要]。<!——NeedCopy >

    使用以下命令在VPN虚拟服务器上配置RDP服务器配置文件:

    add vpn vserver v1 SSL [publicIP] [portforterminatingvpnconnections] -rdpServerProfile [rdpServer Profile] 

    重要:

    • 对于无状态RDP代理,sta服务器会验证RDP客户端发送的sta票证以获取RDPTarget / RDPUser信息。除了VPN虚拟服务器之外,还必须绑定sta服务器.例如;
    add vpn url url4 RDP2 "rdp://1.1.1.0/1.1.1.2:443"——>这里rdp是1.1.1.0,1.1.1.2是虚拟服务器

rdp配置文件命令被重命名为rdpClient配置文件并具有新参数。添加了多显示器支持命令。此外,还添加了用于配置自定义参数的选项,这些参数作为RDP客户端配置文件的一部分不受支持。clientSSL参数已被删除,因为连接始终是安全的。客户端配置文件是在身份验证器网关上配置的。

添加rdpClient概要文件<名称> -rdpHost <可选的FQDN RDP文件将作为“fulladdress”> [-rdpUrlOverride(启用|禁用)][-redirectClipboard(启用|禁用)][-redirectDrives(启用|禁用)][-redirectPrinters(启用|禁用)][-keyboardHook < keyboardHook >] [-audioCaptureMode(启用|禁用)][-videoPlaybackMode(启用|禁用)][-rdpCookieValidity < positive_integer >] [-multiMonitorSupport(启用|禁用)][-rdpCustomParams <字符串>)< !——NeedCopy >

-rdphost配置用于单个网关部署中。

  • 将RDP配置文件与VPN虚拟服务器关联。

您可以通过配置会话操作+会话策略或设置全局VPN参数来关联RDP配置文件。

示例:

add vpn sessionaction  -rdpClientprofile  add vpn sessionpolicy  NS_TRUE  bind vpn vserver  -policy  -priority < priitynumber > 

设置vpn参数-rdpClientprofile  

使用GUI配置无状态RDP代理

无状态RDP代理配置涉及以下高级步骤。有关详细步骤,请参阅RDP代理配置

  • 创建RDP服务器配置文件
  • 创建RDP客户端配置文件
  • 创建虚拟服务器
  • 创建书签
  • 创建或编辑会话配置文件或策略
  • 绑定书签

重要提示:

对于无状态RDP代理,除了VPN虚拟服务器之外,还必须绑定sta服务器。

连接计数器

添加了一个新的连接计数器ns_rdp_tot_curr_active_conn,它保留了正在使用的活动连接数的记录。它可以被视为Citrix ADC外壳上nsconmsg命令的一部分。计划稍后添加查看这些计数器的cli命令。

升级说明

之前在VPN虚拟服务器上配置的RdpIP和rdPort是RdpServerProfile的一部分。将rdp文件重命名为,rdp ClientProfile并删除参数clientSSL。因此,早期的配置不起作用。

无状态RDP代理