Citrix ADC

用例 3:在直接服务器返回模式下配置负载平衡

服务器直接返回(域)模式下的负载平衡允许服务器使用不流经Citrix ADC设备的返回路径直接响应客户端。但是,在DSR模式下,设备可以继续对服务执行运行状况检查。在高数据量环境中,以动态安全域模式直接将服务器流量发送到客户端会增加设备的整体数据包处理容量,因为数据包不会在设备中流动。

DSR模式具有以下功能和限制:

  • 它支持单臂模式和内联模式。
  • 设备会话基于空闲超时过时。
  • 由于设备不代理TCP连接(即它不向客户端发送syn - ack),因此它不会关闭syn攻击。通过使用syn数据包速率筛选器,可以控制syn到服务器的速率。要控制syn的速率,请为syn的速率设置阈值。要获得syn攻击的保护,必须将设备配置为代理TCP连接。但是,这需要反向流量流经设备。
  • 在安全域配置中,Citrix ADC设备不会将负载平衡虚拟服务器的IP地址替换为目标服务器的IP地址。相反,它通过使用服务器的MAC地址将数据包转发到服务。必须在服务器上配置vip,并且必须为服务器上配置的vip禁用arp。这样可以防止客户端请求在单臂模式下配置设备时绕过设备。例如,用户必须在环回界面中配置vip,然后为同一vip禁用arp。
  • 设备从绑定到服务的监视器获取服务器的MAC地址。但是,使用Citrix ADC设备上存储的脚本的自定义用户监视器(类型为用户的监视器)不会了解服务器的MAC地址。如果在安全域配置中仅使用自定义监视器,则对于虚拟服务器接收的每个请求,设备都会尝试将目标IP地址解析为MAC地址(通过发送ARP请求)。由于目标IP地址是Citrix ADC设备所拥有的虚拟IP地址,因此ARP请求始终解析为Citrix ADC接口的MAC地址。因此,虚拟服务器接收的所有流量都将循环回设备。如果在安全域配置中使用用户监视器,则还必须为服务配置另一种不同类型的监视器(例如,PING监视器),理想情况下,探测之间的间隔更长,以便了解服务器的MAC地址。
  • Citrix ADC设备从绑定到服务的监视器中学习服务器L2参数。对于udp-ecv监视器,配置接收字符串以使设备能够了解服务器的l2参数。如果未配置接收字符串并且服务器未响应,则设备不会学习l2参数,但服务设置为向上。此服务的流量是黑洞的。

在示例方案中,将创建服务Service-ANY-1, Service-ANY-2和Service-ANY-3并绑定到虚拟服务器Vserver-LB-1。虚拟服务器负载平衡客户端对服务的请求,并且该服务直接响应客户端,绕过Citrix ADC设备。下表列出了在DSR模式下在Citrix ADC设备上配置的实体的名称和值。

实体类型 名称 IP地址 协议
虚拟服务器 Vserver-LB-1 10.102.29.94 任何
服务 Service-ANY-1 10.102.29.91 任何
Service-ANY-2 10.102.29.92 任何
Service-ANY-3 10.102.29.93 任何
显示器 TCP

下图显示了要在设备上配置的参数的负载平衡实体和值。

图 1.DSR模型中负载均衡的实体模型

lb-entity-dsr-mode

要使设备在DSR模式下正常工作,客户端请求中的目标IP必须保持不变。相反,设备将目标MAC更改为所选服务器的目标MAC。此设置使服务器能够确定在绕过服务器时将请求转发到客户端的客户端MAC地址。

接下来,按照设置基本负载平衡中所述配置基本负载平衡设置、命名实体并使用上表中描述的值设置参数。

配置基本负载平衡设置后,必须为DSR模式自定义该设置。为此,您可以配置受支持的负载平衡方法,例如带有无会话虚拟服务器的源IP哈希方法。您还需要设置重定向模式,以允许服务器确定用于转发响应并绕过设备的客户端MAC地址。

配置负载平衡方法和重定向模式后,需要在每个服务上启用usip模式。然后,服务在转发响应时使用源IP地址。

使用命令行界面为无会话虚拟服务器配置负载平衡方法和重定向模式

在命令提示符下,键入:

set lb vserver  -lbMethod  -m  -sessionless  

示例

set lb vserver vserver -lb -1 -lbMethod SourceIPHash -m MAC -sessionless enabled 

注意

对于绑定到已启用-m MAC选项的虚拟服务器的服务,必须绑定非用户监视器。

使用配置实用程序为无会话虚拟服务器配置负载平衡方法和重定向模式

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 打开虚拟服务器,选择重定向模式为基于MAC,然后选择方法作为Sourcephash。
  3. 在“流量设置”中,选择“无会话负载平衡”。

使用命令行界面将服务配置为使用源IP地址

在命令提示符下,键入:

set service  -usip  

示例:

set service service - any -1 -usip yes 

使用配置实用程序将服务配置为使用源IP地址

  1. 导航到流量管理 > 负载平衡 > 服务
  2. 打开服务,然后在“流量设置”中,选择”使用源IP地址”。

在某些情况下,需要采取一些额外步骤,下文将介绍这些步骤。