Citrix ADC

负载平衡远程桌面协议服务器

远程桌面协议(RDP)是一种支持多通道的协议,允许单独的虚拟通道用于传输演示数据,串行设备通信,许可信息,高度加密的数据(键盘和鼠标活动)等。

RDP用于向网络上的另一台计算机提供GUI。RDP与Windows端点服务器一起使用,提供快速访问,即使在低带宽连接上也能实时传输鼠标移动和按键。

当部署多个端点服务器以提供远程桌面服务时,Citrix ADC设备提供端点服务器的负载平衡(Windows 2003和2008年服务器企业版)。有时,远程访问应用程序的用户可能希望将应用程序保持在远程计算机上运行,但关闭本地计算机。因此,用户在不注销远程应用程序的情况下关闭本地应用程序。重新连接到远程计算机后,用户必须能够继续使用远程应用程序。若要提供此功能,Citrix ADC RDP实现支持由端点服务会话目录或代理设置的路由令牌(饼干),以便客户端可以重新连接到之前连接到的同一端点服务器。在Windows 2003端点服务器上实现的会话目录被称为Windows 2008端点服务器上的代理。

当客户端和负载平衡虚拟服务器之间建立TCP连接时,Citrix ADC应用指定的负载平衡方法并将请求转发到其中一个端点服务器。端点服务器检查会话目录,以确定客户端是否具有在域中任何其他端点服务器上运行的会话。

如果任何其他端点服务器上没有活动会话,端点服务器响应通过提供客户端请求,和Citrix ADC设备将响应转发到客户端。

如果任何其他终端服务器上存在活动会话,则接收请求的终端服务器将插入包含活动会话详细信息的饼干(称为路由令牌),然后将数据包返回给客户端的Citrix ADC设备,然后将数据包返回给客户端。服务器关闭与客户端的连接。当客户端重新尝试连接时,Citrix ADC读取饼干信息并将数据包转发到客户端具有活动会话的端点服务器。

客户端计算机上的用户会遇到服务的延续,无需执行任何特定操作。

注意:Windows会话目录功能需要首次使用Windows XP发布的远程桌面客户端。如果与Windows 2000或Windows NT 4.0端点服务器客户端的会话断开连接并客户端重新连接,则负载平衡算法选择与其建立连接的服务器。

下图描述了RDP负载平衡。

图 1.RDP的负载平衡拓扑

RDP拓扑

注意

  • 配置RDP服务后,将通过使用路由令牌自动维护持久性。您不需要明确启用持久性。
  • Citrix ADC设备仅支持基于IP的饼干。
  • 任何当前版本的Windows服务器都不支持nsrdp.pl脚本。

确保在后端的终端服务器上清除断开连接的RDP会话,以避免在RDP会话未注销的情况下断开连接时在两个终端服务器之间出现翻转。有关详细信息,请参阅https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc758177 (v = ws.10) # BKMK_2

默认情况下,当您添加RDP服务时,Citrix ADC会添加TCP类型的监视器并将其绑定到服务。默认监视器是一个简单的TCP监视器,它检查为RDP服务指定的服务器上的3389端口上是否存在侦听进程。如果在3389处存在侦听过程,Citrix ADC将此服务标记为,如果没有监听过程,则将该服务标记为“关闭”。

为了更有效地监视RDP服务,除了默认监视器之外,还可以配置用于RDP协议的脚本监视器。配置脚本监视器时,Citrix ADC会打开到指定服务器的TCP连接并发送RDP数据包。只有在收到来自物理服务器的连接确认时,监视器才会将服务标记为。因此,从脚本监视器中,Citrix ADC可以知道RDP服务是否已准备好为请求提供服务。

Irsirs是一种用词的滤波器,脚本位于citrix adc上,位于/nsconfig/monitors/nsrdp.pl下。配置用词器时,Citrix Adc会自动行为脚本。将其绑定到rdp服务。

要配置RDP负载平衡,请创建RDP类型的服务并将它们绑定到RDP虚拟服务器。

使用命令行界面配置RDP负载平衡服务

在命令提示符下,键入以下命令以配置RDP负载平衡设置并验证配置:

添加服务 @    <! -  yourcopy  - >

注意:重复上述命令以添加更多服务。

示例

> add service ser1 10.10.2 .27.183 RDP 3389 Done > add service ser2 10.10.2 .27.183 RDP 3389 Done >show service ser1 ser1 (10.102. 564)27.182:3389) - RDP State: UP…Server Name: 10.102.27.182 Server ID: 0 Monitor Threshold: 0 Down State flush: ENABLED…——NeedCopy >

使用配置实用程序配置RDP负载平衡服务

导航到流量管理 > 负载平衡 > 服务,然后创建RDP类型的服务。

使用命令行界面配置RDP负载平衡虚拟服务器

在命令提示符下,键入以下命令以配置RDP负载平衡虚拟服务器并验证配置:

add lb vserver @    bind lb vserver @ 绑定所有需要负载均衡的RDP服务到虚拟服务器。<!——NeedCopy >

示例:

此示例有两个RDP服务绑定到RDP虚拟服务器。

add lb vs v1 rdP 10.102.27.186 3389 Done bind lb vs v1 ser1 service "ser1" bound bind lb vs v1 ser2 service "ser2" bound Done sh lb vs v1 v1 (10.102.27.186:3389) - rdP Type: ADDRESS State: UP…绑定的服务:2(总)2(主动)配置方法:LEASTCONNECTION当前方法:循环赛,理由:一个新的服务绑定模式:IP持久性:没有L2Conn: 1) ser1 (10.102.27.182: 3389) - RDPState:重量:1 2)ser2 (10.102.27.183: 3389) - RDPState:重量:1做< !——NeedCopy >

使用配置实用程序配置RDP负载平衡虚拟服务器

导航到流量管理 > 负载平衡 > 虚拟服务器,创建RDP类型的虚拟服务器,然后将RDP服务绑定到此虚拟服务器。

使用命令行界面配置RDP服务的脚本监视器

在命令提示符下,键入以下命令:

add lb monitor  USER -scriptName nsrdp.pl bind lb monitor   

示例:

add service ser1 10.102.27.182 RDP 3389 add lb monitor RDP_MON USER -scriptName nsrdp.pl bind lb monitor RDP_MON ser1 

使用配置配置使用程序配置rdp服务的毛头

  1. 导航到流量管理 > 负载平衡 > 监视器,然后创建用户类型的监视器。
  2. 在“特殊参数”中的“脚本名称“列表中,选择nsrdp.pl,然后将此监视器绑定到RDP服务。