本节详细介绍了第 3 层 DSR。

  • 可以将 L3 DSR 与完整代理部署一起使用:

    • Tier-1:L3 DSR

    • Tier-2:完全代理(具有 SNAT)

  • 支持的模式:IPinIP

  • 支持在使用 BGP 的前端放置虚拟服务。

  • 支持的负载均衡算法:仅支持一致哈希。

  • 部署模式:在配置了第 7 层虚拟服务时,必须为部署模式停用自动网关和流量启用(在 Tier-2 部署模式中,如下所示)。

  • 如果在 Tier-2 部署模式下扩展 SE,在添加新的 SE 后,将手动添加池成员。

数据包流程图

下图显示了第 3 层 DSR 的数据包流程图:



注:
  • IP-in-IP 隧道是在负载均衡器和池成员之间创建的,这些成员可能离路由器一个或多个跳段远。

  • 来自客户端的入站数据包是以 IP-in-IP 模式封装的,将源作为服务引擎的接口 IP 地址,并将目标作为后端服务器 IP 地址。

  • 对于通用路由封装 (GRE) 隧道,来自客户端的入站数据包封装在 GRE 标头中,后跟外部 IP 标头(传送标头)。

部署模式

  • Tier-1

    • 第 4 层虚拟服务连接到终止连接的应用程序服务器。池成员是应用程序服务器。

    • 服务器处理 IPinIP 数据包。环回接口配置了相应的虚拟服务 IP 地址。侦听该接口的服务接收数据包,并在返回路径中直接响应客户端。

  • Tier-2

    • 第 4 层虚拟服务连接到终止隧道的相应第 7 层虚拟服务(具有与第 4 层虚拟服务相同的虚拟服务 IP 地址)。

    • 第 4 层虚拟服务的池成员是相应第 7 层虚拟服务的服务引擎。

    • 对于第 7 层虚拟服务,禁用了流量以使其不执行 ARP。

    • 为第 7 层虚拟服务禁用了自动网关。

    • 服务器是相应第 7 层虚拟服务的服务引擎。

  • 数据包传输

    • IPinIP 数据包到达第 7 层虚拟服务的服务引擎之一。该 SE 解密并处理 IPinIP 数据包,然后将其发送到相应的第 7 层虚拟服务。虚拟服务会将其发送到后端服务器。

    • 在虚拟服务中接收来自后端服务器的返回数据包,虚拟服务将数据包直接转发到客户端。

    • 下图显示了采用第 3 层模式的 Tier-2 部署的数据包传输:



以下是图中提到的上述部署的观察结果:

  • 第 4 层虚拟服务连接到终止隧道的相应第 7 层虚拟服务(具有与第 4 层虚拟服务相同的虚拟服务 IP 地址)。

  • 第 4 层虚拟服务的池成员是相应第 7 层虚拟服务的服务引擎。

  • 对于第 7 层虚拟服务,禁用了流量以使其不执行 ARP。

  • 为第 7 层虚拟服务禁用了自动网关。

  • 服务器是相应第 7 层虚拟服务的服务引擎。

  • 在虚拟服务中接收来自后端服务器的返回数据包,虚拟服务将数据包直接转发到客户端。

创建虚拟服务并将其与网络配置文件相关联(用于 Tier-2 部署)

导航到应用程序 > 虚拟服务,然后单击创建以添加新的虚拟服务。提供提到的以下信息:

  • 提供所需的虚拟服务名称和 IP 地址。

  • TCP/UDP 配置文件下拉菜单中选择在上一步中为 Tier-2 部署创建的网络配置文件。

  • 选择为所选虚拟服务创建的池。



注:

不能为 Tier-2 部署选中已启用流量复选框。

配置服务器

modprobe ipip

ifconfig tunl0 <Interface ip of the server, same should be part of
pool> netmask <mask> up

ifconfig lo:0 <VIP ip> netmask 255.255.255.255 -arp up
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 >/proc/sys/net/ipv4/conf/tunl0/rp_filter

sysctl -w net.ipv4.ip_forward=1

为 Windows 配置环回接口

必须在服务器上配置以下命令,以使 HTTP 运行状况监控器在后端的 Windows 服务器上正常工作:

netsh interface ipv4 set interface "Ethernet0" forwarding=enabled netsh interface ipv4 set interface "Ethernet1" forwarding=enabled netsh interface ipv4 set interface "Ethernet1" weakhostreceive=enabled netsh interface ipv4 set interface "Loopback" weakhostreceive=enabled netsh interface ipv4 set interface "Loopback" weakhostsend=enabled

在上述步骤中:

Ethernet0 = 管理接口名称

Ethernet1 = 数据接口名称

Loopback = 环回接口名称 (VIP)