本节详细介绍了第 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)