ADC

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

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

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

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

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

实体类型 名称 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 模式自定义该设置。为此,您需要配置支持的负载平衡方法,例如使用无会话虚拟服务器的 Source IP Hash 方法。您还需要设置重定向模式,以允许服务器确定用于转发响应的客户端 MAC 地址并绕过设备。

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

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

在命令提示符下,键入:

set lb vserver <vServerName> -lbMethod <LBMethodOption> -m <RedirectionMode> -sessionless <Value>
<!--NeedCopy-->

示例

set lb vserver Vserver-LB-1 -lbMethod SourceIPHash -m MAC -sessionless enabled
<!--NeedCopy-->

注意

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

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

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

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

在命令提示符下,键入:

set service <ServiceName> -usip <Value>
<!--NeedCopy-->

示例:

set service Service-ANY-1 -usip yes
<!--NeedCopy-->

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

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

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