02-应用负载均衡典型配置举例
本章节下载 (7.14 MB)
应用负载均衡典型配置举例
Copyright © 2022 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
目 录
本文档介绍4-7层应用负载均衡的配置案例。
本文档不严格与具体软、硬件版本对应,如果使用过程中与产品实际情况有差异,请参考相关产品手册,或以设备实际情况为准。
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文档假设您已了解LB(Load Balance,负载均衡)特性。
应用负载均衡支持的虚服务器类型包括:IP、TCP、UDP、RADIUS和HTTP五种类型,其中IP、TCP和UDP类型统称为四层应用负载均衡,HTTP、RADIUS类型称为七层应用负载均衡:
· 四层应用负载均衡:是基于流的负载均衡,通过对报文进行逐流分发,将同一条流的报文分发给同一台服务器。四层应用负载均衡对基于HTTP的七层业务无法做到按内容分发,从而限制了负载均衡的业务适用范围。
· 七层应用负载均衡:是基于内容的负载均衡,通过对报文承载的内容进行深度解析,根据其中的内容进行逐包分发,按既定策略将连接导向指定的服务器,从而实现了业务范围更广泛的应用负载均衡。
如图所示,内网用户经过负载均衡设备访问外网服务器。三台服务器Server A、Server B和Server C均可提供FTP服务。通过配置应用负载均衡,让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。
图1 SNAT应用场景应用负载均衡组网图
为实现SNAT应用负载均衡,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务。
· 配置SNAT地址池,指定发送免费ARP报文或者ND报文的接口。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 入方向交换机配置二层透传,出方向交换机配置二层透传。
· 注意可将SNAT地址池中的地址跟出接口地址一个网段,指定发送免费ARP报文或者ND报文的接口;如果不是一个网段,需要在实服务器上配置回SNAT地址池的路由。本举例中SNAT地址池地址跟出接口地址不是同一个网段,实服务器需要配置到SNAT路由。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图2 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat_1.1.1.11,起始IP地址是1.1.1.11,结束IP地址是1.1.1.11。
发送免费ARP或ND报文的接口选择RAGG1.20,如下图所示。
图3 创建源地址池
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1,如下图所示。
图4 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
在成员列表一栏选择添加,实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图5 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与创建rs1步骤相同。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,61.159.4.100/32,开启虚服务功能,如下图所示。
图6 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,点击<编辑>进入实服务组页面,查看成员列表一栏
图7 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图8 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图9 虚服务列表
在导航栏中选择“监控>应用负载均衡>虚服务器统计”,进入虚服务统计页面
图10 虚服务器统计页面
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务统计页面
图11 实服务器统计页面
图12 客户端抓包报文分析
图13 实服务器抓包报文分析
在有流量的情况下,在导航栏中选择“监控>会话列表”,进入会话列表页面可以看到流量的会话记录,如下图所示。
图14 设备会话列表
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
snat-pool snat_1.1.1.11
probe t1
#
server-farm sf1
predictor hash address source
snat-pool snat_1.1.1.11
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
real-server rs2 port 0
success-criteria at-least 1
real-server rs3 port 0
success-criteria at-least 1
#loadbalance snat-pool snat_1.1.1.11
ip range start 1.1.1.11 end 1.1.1.11
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
default server-farm sf1
service enable
#
如图所示,用户经过负载均衡设备访问服务器。三台服务器Server A、Server B和Server C均可提供FTP服务。通过配置应用负载均衡,让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。
图15 基于源地址应用负载均衡组网图
为实现源地址应用负载均衡,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务。
· 配置策略。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图16 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图17 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在实服务组sf1中单击编辑,在成员列表一栏添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图18 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与创建rs1步骤相同,在实服务组sf2中添加成员rs2,在实服务组sf3中添加成员rs3。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面。
单击<新建>,添加流量特征名称为lc1,类型为通用,匹配方式为匹配任意一条规则,Match ID为1,类型选择源IPv4,ip地址为10.0.4.0,掩码长度为26,单击<确定>按钮,如下图所示。
图19 添加流量特征信息
单击<确定>按钮,完成操作。
创建lc2与lc1步骤相同,lc2匹配规则IPv4地址是10.0.4.64,掩码长度26。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la1,类型选择通用,主用实服务组sf1,如下图所示。
图20 添加动作信息
单击<确定>,完成操作。
创建la2、la3与la1步骤相同,la2主用实服务组是sf2,la3主用实服务组是sf3。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp1,类型选择通用,规则单击<新建>,流量特征选择lc1,动作选择la1,单击<确定>;再次单击<新建>,流量特征选择lc2,动作选择la2,单击<确定>;默认动作选择la3,如下图所示。
图21 添加策略lp1信息
图22 策略lp1配置信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,61.159.4.100/32,开启虚服务功能,负载均衡策略为lp1,如下图所示。
图23 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,分别点击实服务组sf1、sf2、sf3对应的<编辑>进入实服务组页面,查看成员列表一栏
图24 实服务组sf1成员
图25 实服务组sf2成员
图26 实服务组sf3成员
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图27 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图28 虚服务列表
在导航栏中选择“监控>应用负载均衡>虚服务器统计”,进入虚服务统计页面
图29 虚服务统计
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务统计页面
当源地址为10.0.4.1发起FTP访问请求时,匹配策略lc1,选中rs1,查看实服务器统计,此时只有rs1有流量统计:
图30 实服务器统计列表
当源地址为10.0.4.65发起FTP访问请求时,匹配策略lc2,选中rs2,查看实服务器统计,此时只有rs2有流量统计:
图31 实服务器统计列表
当源地址为10.0.4.129发起FTP访问请求时,匹配策略lc3,选中rs3,查看实服务器统计,此时只有rs3有流量统计:
图32 实服务器统计列表
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
#
server-farm sf2
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs2 port 0
success-criteria at-least 1
#
server-farm sf3
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs3 port 0
success-criteria at-least 1
#
loadbalance class lc1 type generic match-any
match 1 source ip address 10.0.4.0 26
#
loadbalance class lc2 type generic match-any
match 1 source ip address 10.0.4.64 26
#
loadbalance action la1 type generic
server-farm sf1
#
loadbalance action la2 type generic
server-farm sf2
#
loadbalance action la3 type generic
server-farm sf3
#
loadbalance policy lp1 type generic
class lc1 action la1
class lc2 action la2
default-class action la3
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
lb-policy lp1
service enable
#
如图所示,三台服务器Server A、Server B和Server C均可提供FTP服务,用户通过访问虚服务地址经过负载均衡设备访问真实服务器,由于服务器回应反向流量比较大,为了减轻负载均衡设备的压力,服务器回程的流量不再经过负载均衡设备,直接通过交换机转发,此时要求服务器回应报文的源地址为虚服务器的地址,在考虑硬件性能的前提下让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器状态。
图33 三角传输组网图
为实现三角传输的应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务、负载均衡策略
· 由于服务器回应报文通过交换机直接转发,所以服务器回应报文的源地址要为虚服务器的地址,因此除了配置各自网卡地址外,还需要三台真实服务器侧需要单独配置loopback口,并且地址设置为虚服务器的地址61.159.4.100
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 入方向交换机配置三层,入方向网关在交换机上,Host到交换机直连路由可达,交换机到LB直连路由可达,Host到LB路由可达,下一跳在交换机上,出方向交换机配置三层路由,LB到server路由可达,server到Host路由可达,下一跳都是在交换机上。
· 流量正向走LB,反向不走LB,服务器回Host路由可达。
· LB设备地址需要与实服务器地址处于同一网段。
· 实服务组中关闭DNAT功能。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图34 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图35 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击实服务组sf1的编辑,进入成员列表一栏,单击添加,实服务器IP地址为192.168.1.1,实服务器名称为rs1如下图所示。
图36 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与创建rs1步骤相同。
在导航栏中选择“策略>全局配置>持续性组”,进入持续性组页面。
单击<新建>,添加持续组名称为sg1,类型为地址端口,IPv4方法选择源地址,如下图所示。
图37 添加持续性组信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,61.159.4.100 /32,开启虚服务功能,持续性方法为sg1,如下图所示。
图38 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,点击<编辑>进入实服务组页面,查看成员列表一栏
图39 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图40 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图41 虚服务器列表
在导航栏中选择“监控>应用负载均衡统计>虚服务器统计”,进入虚服务统计页面
图42 虚服务器统计页面
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务器统计页面
图43 实服务组统计页面
图44 客户端抓包分析
#
nqa template icmp t1
#
sticky-group sg1 type address-port
ip source
#
server-farm sf1
predictor hash address source
transparent enable
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
real-server rs2 port 0
success-criteria at-least 1
real-server rs3 port 0
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
default server-farm sf1 sticky sg1
service enable
connection-sync enable
sticky-sync enable
#
如图所示,内网用户经过负载均衡设备访问外网服务器。三台服务器Server A、Server B和Server C均可提供FTP服务,Host访问服务器的流量会根据三台服务器的优先级进行选择,如果实服务组中配置了限制调度的个数,优先级和调度个数会同时影响调度结果,实现负载分担。
图45 基于优先级调度应用负载均衡组网图
为实现基于优先级调度的应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务。
· 实服务组中配置可选择的实服务器的数量为1,实服务器配置不同的优先级分别为4、8、1。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
· 实服务组中配置可选择的实服务器数量,三台服务器配置不同的优先级。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图46 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,勾选“限制可被调度算法调用的实服务器数量”,最小数量与最大数量均配置成1,如下图所示。
图47 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡组>实服务器组”,进入实服务器页面。
单击实服务组sf1的编辑,进入成员列表一栏,单击添加,实服务器IP地址为192.168.1.1,实服务器名称为rs1,如下图所示。
图48 添加实服务器信息
单击<确定>按钮,完成操作。
添加实服务器成员rs2、rs3,配置方法与添加rs1步骤相同,rs2优先级为8,rs3优先级为1。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,配置虚服务器IP为61.159.4.100,指定默认实服务组sf1,并开启虚服务,如下图所示。
图49 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,点击<编辑>进入实服务组页面,查看成员列表一栏
图50 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图51 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
图52 虚服务器列表
在导航栏中选择“监控>应用负载均衡>虚服务器统计”,进入虚服务统计页面
图53 虚服务器统计页面
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务器统计页面
图54 实服务组统计页面
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
probe t1
real-server rs2 port 0
priority 8
success-criteria at-least 1
probe t1
real-server rs3 port 0
priority 1
success-criteria at-least 1
probe t1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
default server-farm sf1
service enable
connection-sync enable
sticky-sync enable
#
如图所示,Host通过LB设备对6台服务器进行访问,6台服务器Server A、Server B、Server C、Server D、Server E、Server F均可提供HTTP服务;Host访问服务器的流量会根据Host访问的URL在六台服务器之间负载分担:URL中含有sports、government、news的请求分给Server A和Server D,URL中含有finance、technology、shopping的请求分给Server B和Server E,其他URL的请求分给Server C和Server F。
图55 基于URL的七层负载组网图
为实现基于URL的七层应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务。
· 配置策略,类和动作,类中配置匹配URL的规则,使得URL中含有sports、government、news的请求分给Server A和Server D,URL中含有finance、technology、shopping的请求分给Server B和Server E,其他URL的请求分给ServerC和Server F。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
· 如果一个HTTP带有多个请求,请配置逐请求负载分担。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图56 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图57 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务器页面。
选择编辑实服务组sf1,在成员列表一栏添加实服务器,实服务器IP地址为192.168.1.1,如下图所示。
图58 添加实服务器信息
单击<确定>按钮,完成操作。
创建其余5个实服务器与rs1步骤相同,实服务组sf1中添加rs11,实服务组sf2中添加rs2和rs12,实服务组sf3中添加rs3和rs13。
在导航栏中选择“策略>全局配置>持续性组”,进入持续性组页面。
单击<新建>,添加持续组名称为sg1,类型为HTTP-Cookie,Cookie持续性方法:Cookie插入,Cookie名称为cookie1,如下图所示。
图59 添加持续性组信息
单击<确认>,完成操作。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面。
单击<新建>,添加流量特征名称为lc1,类型选择HTTP,匹配方式为匹配任意一条规则:
· match ID为1,类型选择URL,URL为sports,单击<确定>。
· match ID为2,类型选择URL,URL为news,单击<确定>。
· match ID为3,类型选择URL,URL为government单击<确定>。
图60 添加流量特征lc1
单击<确定>,完成操作。
创建lc2与lc1步骤相同,配置参数如下图所示。
图61 流量特征lc2参数
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la1,类型选择HTTP,主用实服务组sf1,持续性组为sg1,如下图所示。
图62 添加动作信息
单击<确定>,完成操作。
负载均衡动作la2、la3与la1创建步骤相同,la2主用实服务组sf2,la3主用实服务组sf3,la2、la3配置参数分别如图63、图64所示。
图63 la2配置参数
图64 la3配置参数
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp1,类型选择HTTP,规则单击<新建>,流量特征选择lc1,动作选择la1,单击<确定>。再次单击<新建>,流量特征选择lc2,动作选择la2,单击<确定>。默认动作选择la3,如下图所示。
图65 添加策略信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面。
单击<新建>,添加参数模板名称为pp1,类型选择HTTP,逐请求负载均衡:开启,如下图所示。
图66 添加参数模板信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务,如下图所示。
图67 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图68 实服务组sf1下的成员
图69 实服务组sf2下的成员
图70 实服务组sf3下的成员
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
图71 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图72 虚服务列表
在导航栏中选择“监控>应用负载均衡>虚服务器统计”,进入虚服务统计页面
图73 虚服务统计信息
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务统计页面
当发起包含URL是sports、news、government的请求时,流量特征匹配lc1,此时rs11有流量统计:
图74 实服务器统计信息
当发起包含URL是finance、technology、shopping的请求时,流量特征匹配lc2,此时rs12有流量统计:
图75 实服务器统计信息
当发起包含URL是aaa的请求时,流量特征匹配不上lc1和lc2,走默认的lc3,此时rs13有流量统计:
图76 实服务器统计信息
同时发起URL值分别包含aaa、sports、shopping的请求,统计如下:
图77 虚服务器统计信息
图78 实服务组统计信息
图79 实服务器统计信息
图80 客户端抓包报文分析
查看实服务器统计只有rs1命中:
更换客户端地址,再次发起带有这个cookie值的报文请求:cookie: cookie1=1.6.24.e732c79,查看持续性生效,只有rs1有统计:
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
probe t1
real-server rs11 port 0
success-criteria at-least 1
#
loadbalance class lc1 type http match-any
match 1 url sports
match 2 url news
match 3 url government
#
loadbalance class lc2 type http match-any
match 1 url finance
match 2 url technology
match 3 url shopping
#
loadbalance action la1 type http
server-farm sf1 sticky sg1
#
loadbalance action la2 type http
server-farm sf2 sticky sg1
#
loadbalance action la3 type http
server-farm sf3 sticky sg1
#
loadbalance policy lp1 type http
class lc1 action la1
class lc2 action la2
default-class action la3
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
real-server rs11
ip address 192.168.1.11
#
real-server rs12
ip address 192.168.1.12
#
real-server rs13
ip address 192.168.1.13
#
sticky-group sg1 type http-cookie
cookie insert name cookie1
#
parameter-profile pp1 type http
rebalance per-request
#
virtual-server vs type http
virtual ip address 61.159.4.100
parameter http pp1
lb-policy lp1
default server-farm sf1
service enable
sticky-sync enable
#
如图所示,Host访问域名,通过DNS server将域名解析出虚服务器地址,Host发起访问虚服务器的地址,通过LB设备对3台服务器进行访问,三台服务器均可提供HTTP服务,访问服务器的流量将根据负载均衡策略在三台服务器之间负载分担。
图81 基于host的七层负载组网图
为实现基于host的七层应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务。
· 配置策略,类和动作,类中配置匹配host的规则,使得host是www.aaa.com的请求分给Server A,host是www.bbb.com的请求分给Server B,host是www.ccc.com的请求分给Server C。
· DNS server提供解析DNS域名的服务,解析域名后的地址返回给Host。
· LB虚服务地址是DNS域名解析后的地址,使得Host再次发起请求时是对虚服务的请求。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host与DNS server路由可达,Host可以直接将DNS服务器指向DNS server。
· 入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。
· DNS server解析域名的地址跟LB上虚服务的地址一致。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图82 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图83 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在导航栏中选择“策略>应用负载均衡>实服务器组”,进入实服务器组页面。
选择编辑实服务组sf1,在成员列表一栏添加实服务器,实服务器IP地址为192.168.1.1,如下图所示。
图84 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同:
实服务组sf2中添加rs2,配置其IPv4地址为192.168.1.2;
实服务组sf3中添加rs3,配置其IPv4地址为192.168.1.3。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面,单击<新建>添加流量特征名称为lc1,类型选择HTTP,匹配方式为匹配所有规则,Match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.aaa.com,如下5. 图85所示。
单击<确定>,完成操作。
按照lc1的步骤依次分别添加lc2、lc3:
添加流量特征名称为lc2,类型选择HTTP,匹配方式为匹配所有规则,Match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.bbb.com,如下图86所示。
添加流量特征名称为lc3,类型选择HTTP,匹配方式为匹配所有规则,Match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.ccc.com,如下图87所示。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la1,类型选择HTTP,主用实服务组sf1,如下图所示。
图88 添加动作信息
单击<确定>,完成操作。
创建la2、la3与la1步骤相同,la2主用实服务组sf2,la3主用实服务组sf3。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp1,类型选择HTTP,规则单击<新建>,流量特征选择lc1,动作选择la1,单击<确定>。再次单击<新建>,流量特征选择lc2,动作选择la2,单击<确定>。再次单击<新建>,流量特征选择lc3,动作选择la3,单击<确定>,如下图所示。
图89 添加策略信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,并开启虚服务,如下图所示。
图90 添加虚服务器vs
单击<确定>,完成操作。
在导航栏中选择“网络>DNS>DNS客户端”,进入DNS客户端页面,在“域名服务器地址”,添加DNS server的地址:184.45.0.220,如图所示。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图91 实服务组sf1成员
图92 实服务组sf2成员
图93 实服务组sf3成员
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图94 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图95 虚服务器列表
虚服务有统计信息:
图96 虚服务器统计信息
当发起访问www.aaa.com请求时,流量特征匹配lc1,此时rs1有流量统计:
图97 实服务器统计信息
当发起访问www.bbb.com请求时,流量特征匹配lc2,此时rs2有流量统计:
图98 实服务器统计信息
当发起访问www.ccc.com请求时,流量特征匹配lc3,此时rs3有流量统计:
图99 实服务器统计信息
#
dns server 184.45.0.220
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
#
server-farm sf2
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs2 port 0
success-criteria at-least 1
#
server-farm sf3
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs3 port 0
success-criteria at-least 1
#
loadbalance class lc1 type http
match 1 header host value www.aaa.com
#
loadbalance class lc2 type http
match 1 header host value www.bbb.com
#
loadbalance class lc3 type http
match 1 header host value www.ccc.com
#
loadbalance action la1 type http
server-farm sf1
#
loadbalance action la2 type http
server-farm sf2
#
loadbalance action la3 type http
server-farm sf3
#
loadbalance policy lp1 type http
class lc1 action la1
class lc2 action la2
class lc3 action la3
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs1 type http
virtual ip address 61.159.4.100
lb-policy lp1
service enable
#
如图所示,Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务;Host访问服务器的流量会根据三台服务器的优先级进行选择,如果实服务组中配置了限制调度的个数,实服务器优先级跟调度个数会共同对实服务器进行调度,实现负载分担。
图100 基于优先级调度七层服务器负载组网图
为实现基于优先级调度的七层应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务,实服务组中配置可选择的实服务器的数量为1,实服务器配置不同的优先级分别为4、8、1。
· 入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
· 实服务组中配置可选择的实服务器数量,三台服务器配置不同的优先级。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图101 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,勾选“限制可被调度算法调用的实服务器数量”,最小数量与最大数量均配置成1,如下图所示。
图102 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器组”,进入实服务器组页面。
选择编辑实服务组sf1,在成员列表一栏添加实服务器,实服务器IP地址为192.168.1.1,优先级为4,如下图所示。
图103 添加实服务器信息
单击<确定>按钮,完成操作。
添加实服务器成员rs2、rs3,配置方法与添加rs1步骤相同,rs2优先级为8,实服务器ip地址为192.168.1.2;rs3优先级为1,实服务器IP地址为192.168.1.3。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用实服务组sf1,并开启虚服务,如下图所示。
图104 配置虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏。
图105 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
图106 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
图107 虚服务器列表
在导航栏中选择“监控>应用负载均衡统计>虚服务器统计”,进入虚服务统计页面
图108 虚服务器统计信息
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务统计页面
图109 实服务器统计信息
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
selected-server min 1 max 1
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
real-server rs2 port 0
priority 8
success-criteria at-least 1
real-server rs3 port 0
priority 1
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type http
virtual ip address 61.159.4.100
default server-farm sf1
service enable
HTTPS卸载是指LB设备为内网的Web服务器提供SSL加解密服务,对外提供安全(SSL加密)访问Web服务器的功能。内网Web服务器只需处理业务,无须耗费CPU进行SSL加解密运算,从而提高服务器的处理能力。
Host发起HTTPS访问,通过LB设备加解密,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。
图110 HTTP卸载组网图
为了实现HTTPS卸载功能,需要在LB设备上完成如下配置:
· 将CA证书和设备证书导入到LB设备,并在LB设备上创建SSL策略。
· 配置实服务组、实服务器和虚服务。
· 客户端HTTPS访问Server端HTTP服务器,可成功访问。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
· SSL加载策略无法和虚服务器进行联动,当修改SSL策略后,需对服务器重新进行使能操作才可以使配置生效。
以下验证过程均在LB设备上进行。
在导航栏中选择“网络>接口>链路聚合”,进入链路聚合页面。
单击<新建>,添加聚合类型为三层聚合,聚合组编号为RAGG1,选择成员端口,如下图所示。
图111 添加三层聚合口
在导航栏中选择“网络>接口>接口”,进入接口页面。
单击创建子接口,选择接口为RAGG1,子接口编号为10,如下图所示。
图112 创建子接口
子接口创建后,在接口列表内该子接口右侧单击编辑按钮,修改接口设置,修改IP地址/掩码为10.0.0.1掩码255.255.255.0,VLAN终结设置Dot1q终结,方式为精确终结,值为10。
图113 修改接口设置
图114 修改IP地址/掩码
图115 VLAN终结设置
重复上述步骤创建子接口,选择接口为RAGG1,子接口编号为20,子接口创建后,在接口列表内该子接口右侧单击编辑按钮,修改接口设置,修改IP地址/掩码为192.168.1.254掩码255.255.255.0,VLAN终结设置Dot1q终结,方式为精确终结,值为20。
在导航栏中选择“对象>PKI>证书”,进入证书页面。
单击<新建>PKI域,添加域名称为ca,禁止CRL检查,如下图所示。
图116 添加PKI域
单击<确定>,完成操作。
选中ca,单击<导入证书>按钮,如下图所示。
图117 导入证书
证书类型选择CA证书,单击<选择文件>按钮,选择certnew.cer文件,如下图所示。
图118 导入CA证书
单击<确定>,完成操作。
证书类型选择本地证书,单击<选择文件>按钮,选择local.pfx文件,输入证书口令(123456),如下图所示。
图119 导入本地证书
单击<确定>,完成操作。
在导航栏中选择“对象>SSL>服务器端策略”,进入SSL页面。
单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,如下图所示。
图120 添加SSL服务器端策略
单击<确定>,完成操作。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图121 添加健康检测模板
创建实服务组sf1,采用的调度算法为源IP地址哈希算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图122 添加实服务组
单击<确定>按钮,完成操作。
添加实服务组成员,新建实服务器rs1,实服务器端口为80,配置其IPv4地址为192.168.1.1。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,选择sf1,单击编辑按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,如下图所示。
图123 添加实服务器信息
单击<确定>按钮,完成操作。
参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80。
参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs1,类型选择HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用SSL服务端策略ssl,并开启虚服务,如下图所示。
图124 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏。
图125 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
图126 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图127 虚服务器列表
在导航栏中选择“监控>应用负载均衡统计>虚服务器统计”,进入虚服务统计页面
图128 虚服务器统计信息
在导航栏中选择“监控>应用负载均衡>实服务器统计”,进入实服务统计页面
图129 实服务器统计信息
#
vlan 10 20
#
interface GigabitEthernet1/0/9
port link-mode bridge
port access vlan 10
#
interface GigabitEthernet1/0/7
port link-mode bridge
port access vlan 20
#
interface GigabitEthernet1/0/13
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 10 20
port link-aggregation group 1
#
interface GigabitEthernet1/0/15
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 10 20
port link-aggregation group 1
#
#
interface Route-Aggregation1
#
interface Route-Aggregation1.10
ip address 11.0.0.1 255.255.255.0
vlan-type dot1q vid 10
#
interface Route-Aggregation1.20
ip address 192.168.1.254 255.255.255.0
vlan-type dot1q vid 20
#
nqa template icmp t1
#
pki domain ca
public-key rsa general name ca
undo crl check enable
#
pki import domain ca der ca filename certnew.cer
pki import domain ca p12 local filename local.pfx
#
ssl server-policy ssl
pki-domain ca
ciphersuite rsa_aes_128_cbc_sha rsa_des_cbc_sha rsa_rc4_128_md5 rsa_3des_ede_cb
c_sha rsa_aes_256_cbc_sha exp_rsa_rc4_md5 exp_rsa_rc2_md5 exp_rsa_des_cbc_sha dh
e_rsa_aes_128_cbc_sha dhe_rsa_aes_256_cbc_sha
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs1 port 80
success-criteria at-least 1
real-server rs2 port 80
success-criteria at-least 1
real-server rs3 port 80
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
port 80
#
real-server rs2
ip address 192.168.1.2
port 80
#
real-server rs3
ip address 192.168.1.3
port 80
#
virtual-server vs1 type http
port 443
virtual ip address 61.159.4.100
default server-farm sf1
ssl-server-policy ssl
service enable
sticky-sync enable
LB对Server端回应报文进行压缩,Client端需携带Accept-Encoding。
图130 HTTP压缩组网图
为实现HTTP压缩功能,需要在LB设备上完成如下配置:
· 配置带压缩参数的参数模板
· 配置实服务组、实服务器、虚服务
· Server端回复的大文件在客户端文件被压缩
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
注意客户端请求报文中需携带Accept-Encoding: gzip,deflate
以下验证过程在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>按钮,添加健康模板名称为t1,类型为HTTP的健康检测模板,URL为http://192.168.1.1/index.html,如下图所示。
图131 添加健康检测模板
单击<确定>按钮,完成操作。
按照上图步骤创建HTTP类型健康检测t2、t3,URL分别为http://192.168.1.2/index.html、http://192.168.1.3/index.html
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1、t2、t3的实服务组,且成功条件为至少1个检测通过,如下图所示。
图132 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
选择实服务组sf1,单击<编辑>按钮,在成员列表一栏,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图133 添加实服务器信息
单击<确定>按钮,完成操作。
参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2。
参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3。
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面。
单击<新建>,添加参数模板名称为pp1,类型选择HTTP-Compress,如下图所示。
图134 添加参数模板信息
单击<确定>,完成操作。
创建HTTP类型的虚服务器vs1,配置其VSIP为61.159.4.100,应用参数模板pp1,并开启虚服务。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>按钮,添加虚服务器名称为vs1,类型选择HTTP,应用参数模板pp1,并开启虚服务,如下图所示。
图135 新建虚服务器
单击<确定>,完成操作。
#
nqa template http t1
url http://192.168.1.1/index.html
#
nqa template http t2
url http://192.168.1.2/index.html
#
nqa template http t3
url http://192.168.1.3/index.html
#
parameter-profile pp1 type http-compression
compression level 9
memory-size 1
prefer-method deflate
request-version all
undo header delete request accept-encoding
#
server-farm sf1
predictor hash address source
success-criteria at-least 1
real-server rs1 port 80
success-criteria at-least 1
real-server rs2 port 80
success-criteria at-least 1
real-server rs3 port 80
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs1 type http
virtual ip address 61.159.4.100
parameter http-compression pp1
default server-farm sf1
service enable
sticky-sync enable
实现IPv4和IPv6的网络互通,用IPv4的地址访问IPv6的服务器,或者用IPv6的地址访问IPv4的服务器
图136 NAT64配置组网图
为实现NAT64功能,需要在LB设备上完成如下配置:
· 配置接口地址、实服务组、实服务器、虚服务、源地址池
· 客户端IPv4地址访问Server端IPv6地址服务器
· 客户端IPv6地址访问Server端IPv4地址服务器
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的 。
· 实服务器地址与snat-pool地址IP类型保持一致,即同是IPv4或者同是IPv6。
· NAT64只支持HTTP类型虚服务
在导航栏中选择“网络>接口>链路聚合”,进入链路聚合页面。
单击<新建>按钮,添加聚合类型为三层聚合,聚合组编号为RAGG1,选择成员端口,如下图所示。
图137 添加三层聚合口
在导航栏中选择“网络>接口>接口”,进入接口页面。
单击创建子接口,选择接口为RAGG1,子接口编号为10,如下图所示。
图138 创建子接口
子接口创建后,在接口列表内该子接口右侧单击<编辑>按钮,修改接口设置,修改IP地址/掩码为11.0.0.1掩码255.255.255.0,VLAN终结设置Dot1q终结,方式为精确终结,值为10。
图139 修改接口设置
图140 修改IP地址/掩码
图141 修改IPv6地址
图142 VLAN终结设置
重复上述步骤创建子接口,选择接口为RAGG1,子接口编号为20,子接口创建后,在接口列表内该子接口右侧单击编辑按钮,修改接口设置,修改IPv4地址/掩码为7.0.0.1掩码255.255.255.0,修改IPv6地址为7::1,前缀长度为64,VLAN终结设置Dot1q终结,方式为精确终结,值为20。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat1,如下图所示。
图143 添加源IPv4地址池信息
单击<确定>,完成操作。
添加snat2步骤与snat1相同,snat2配置信息如下图所示。
图144 添加源IPv6地址池信息
(1) 创建ICMP类型的NQA模板t1。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图145 添加健康检测模板
单击<确定>按钮,完成操作。
(2) 创建实服务组sf1、sf2,并指定其健康检测方法为t1。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>按钮,添加实服务组名称为sf1、sf2分别绑定地址池snat1、snat2,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图146 添加实服务组sf1
图147 添加实服务组sf2
单击<确定>按钮,完成操作。
添加实服务组成员,新建实服务器rs1,配置其IPv4地址为7.0.0.2。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击编辑实服务组sf1,添加实服务器名称为rs1,实服务器IP地址为7.0.0.2,如下图所示。
图148 添加实服务器信息
单击<确定>按钮,完成操作。
策略>应用负载均衡>实服务组>,参照上图添加实服务组sf1的成员,新建实服务器rs2,配置其IPv4地址为7.0.0.3。
策略>应用负载均衡>实服务组>,参照上图添加实服务组sf2的成员,新建实服务器rs11,配置其IPv4地址为7::2。
策略>应用负载均衡>实服务组>,参照上图添加实服务组sf2的成员,新建实服务器rs12,配置其IPv4地址为7::3。
创建HTTP类型的虚服务器vs1,配置其VSIP为200::1,并开启虚服务。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs1、vs2,分别设置虚服务器IP地址为200::1和61.159.4.100,并分别绑定实服务组sf1、sf2,类型选择HTTP,并开启虚服务,如下图所示。
图149 新建虚服务器vs1
图150 新建虚服务器vs2
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图151 实服务组sf1成员列表
图152 实服务组sf2成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图153 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图154 虚服务器列表
在导航栏中选择“监控>应用负载均衡>虚服务统计”
图155 虚服务器统计信息
在导航栏中选择“监控>应用负载均衡>实服务统计”
图156 实服务器统计信息
在导航栏中选择“监控>应用负载均衡>虚服务统计”
图157 虚服务器统计信息
在导航栏中选择“监控>应用负载均衡>实服务统计”
图158 实服务器统计信息
#
vlan 10 20
#
interface Bridge-Aggregation1
port link-type trunk
port trunk permit vlan 1 10 20
#
interface GigabitEthernet1/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 10 20
port link-aggregation group 1
#
interface GigabitEthernet1/0/2
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 10 20
port link-aggregation group 1
#
interface GigabitEthernet1/0/4
port link-mode bridge
port access vlan 10
#
interface GigabitEthernet1/0/5
port link-mode bridge
port access vlan 20
#
#
interface Route-Aggregation1
#
interface Route-Aggregation1.10
ip address 11.0.0.1 255.255.255.0
vlan-type dot1q vid 10
ipv6 address 300::1/64
#
interface Route-Aggregation1.20
ip address 7.0.0.1 255.255.255.0
vlan-type dot1q vid 20
ipv6 address 7::1/64
#
nqa template icmp t1
#
loadbalance snat-pool snat1
ip range start 7.0.0.10 end 7.0.0.10
arp-nd interface Route-Aggregation1.10
#
loadbalance snat-pool snat2
ipv6 range start 7::10 end 7::10
arp-nd interface Route-Aggregation1.20
#
server-farm sf1
predictor hash address source
snat-pool snat1
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
real-server rs2 port 0
success-criteria at-least 1
#
server-farm sf2
predictor hash address source
snat-pool snat2
probe t1
success-criteria at-least 1
real-server rs11 port 0
success-criteria at-least 1
real-server rs12 port 0
success-criteria at-least 1
#
real-server rs1
ip address 7.0.0.2
#
real-server rs11
ipv6 address 7::2
#
real-server rs12
ipv6 address 7::3
#
real-server rs2
ip address 7.0.0.3
#
virtual-server vs1 type http
virtual ipv6 address 200::1
default server-farm sf1
service enable
sticky-sync enable
#
virtual-server vs2 type http
virtual ip address 61.159.4.100
default server-farm sf2
service enable
sticky-sync enable
#
负载均衡连接复用功能,即负载均衡设备与服务器建立长连接,使多个客户端复用同一条与服务器的连接,以减少客户端与服务器之间打开的连接数,从而提高服务器的处理能力。
Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担,并减少客户端与服务器之间打开的连接数。
图159 LB设备负载均衡组网图
为了实现HTTP连接复用功能,需要在LB设备上完成如下配置:
· 建立HTTP类型的参数模板,并使能服务器连接复用
· 在HTTP类型的虚服务下应用该参数模板
· 大量Host多个连接访问Server,TCP连接被复用
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的 。
· 确保Host到LB设备的虚服务路由可达。
· 实服务组需要配置绑定源地址池
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
以下验证过程均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图160 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面
新建HTTP类型的参数模板名称为pp1,类型选择HTTP,并开启连接复用。
图161 新建参数模板
# 创建源地址池snat1。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat1,起始IP地址填入接口地址,结束IP地址填入接口地址,如下图所示。
图162 新建源地址池
# 创建实服务组sf1,采用的调度算法为源IP地址哈希算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测选择t1,源地址池为snat1,如下图所示。
图163 新建实服务组
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击编辑实服务组sf1,添加实服务组成员,新建实服务器rs1,配置其IPv4地址为192.168.1.1。单击<确定>
图164 新建实服务器
参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2。
参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3。
# 创建HTTP类型的虚服务器vs1,配置其VSIP为61.159.4.100,指定其默认实服务组为sf1,参数模板为pp1
在导航栏中选择“策略>应用负载均衡>虚服务器”,添加虚服务器名称为vs1,HTTP类型,配置虚服务器IP地址为61.159.4.100,其默认实服务组为sf1,开启虚服务,选择刚才创建的HTTP类型的参数模板pp1:
图165 新建虚服务器
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图166 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
图167 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图168 虚服务器列表
图169 虚服务器统计信息
图170 实服务组统计信息
图171 实服务器统计信息
图172 虚服务器统计信息
图173 实服务组统计信息
图174 实服务器统计信息
#
nqa template icmp t1
#
parameter-profile pp1 type http
server-connection reuse
#
loadbalance snat-pool 1
ip range start 192.168.1.254 end 192.168.1.254
#
server-farm sf1
predictor hash address source
snat-pool snat1
probe t1
success-criteria at-least 1
real-server rs1 port 0
success-criteria at-least 1
real-server rs2 port 0
success-criteria at-least 1
real-server rs3 port 0
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs1 type http
virtual ip address 61.159.4.100
parameter http pp1
default server-farm sf1
service enable
sticky-sync enable
SLB部署SNAT业务情况下,服务器需要基于客户端的地址做数据统计,在客户端请求报文中插入值。
内网用户Host通过LB设备对3台服务器进行访问,公网内三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。要求Host访问流量进行源地址转换,且其中将访问URL含关键字government的客户端地址透传给实服务器C,以便实服务器甄别客户端做进一步安全性处理;其它URL流量在实服务器A和B之间负载分担。
图175 客户端源地址插入组网图
为了实现LB设备透传特定用户的客户端源地址,需要在LB设备上完成如下配置:
· 配置SNAT屏蔽客户端内网地址。
· 创建负载均衡策略,其中对于URL包含government的访问请求,动作中设置插入新的Header以便携带客户端源地址;其它URL直接负载分担到实服务器。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
· HTTP报文中的首部内容为1~255个字符的字符串,也可以使用以下特定含义的字符串,说明:%is:源IP地址或源IPv6地址。%ps:源端口号。%id:目的IP地址或目的IPv6地址。%pd:目的端口号。
以下验证过程均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图176 添加健康检测模板
单击<确定>按钮,完成操作。
# 创建源地池:在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,源地址池名称snat1,配置起始地址和结束地址为接口同网段公网地址,单击<确定>。
图177 新建源地址池
# 创建实服务组sf,采用的调度算法为源IP地址哈希算法,选择源地址池snat1。
在导航栏中选择“策略>应用负载均衡>实服务组”,单击<新建>,添加实服务组名称为sf,调度算法为源IP地址哈希,健康性检测选择t1,源地址池选择snat1。
图178 新建实服务组sf
# 创建实服务组sf_gov,采用的调度算法为加权轮转,选择源地址池snat1。
在导航栏中选择“策略>应用负载均衡>实服务组”,添加实服务组sf_gov,调度算法选择加权轮转,单击<确定>。
图179 新建实服务组sf_gov
在导航栏中选择“策略>应用负载均衡>实服务组”,选择实服务组sf,单击<编辑>,在成员列表一栏添加实服务器rs1,IP地址为192.168.1.1,权值为150。单击<确定>。
图180 新建实服务器
参照上图在实服务组sf中创建实服务器rs2,配置其IPv4地址为192.168.1.2、权值为120。
参照上图在实服务组sf_gov中创建实服务器rs3,配置其IPv4地址为192.168.1.3、权值为90。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,添加HTTP类型的流量特征名称为lc1,识别访问请求中URL含government关键字的用户。
图181 新建流量特征
# 添加HTTP类型的动作名称为la1,为转发到实服务组sf_gov并在客户端请求报文中插入名字为X-Forwarded-For值为客户端源地址的Header。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,添加HTTP类型的动作名称为la1为转发到实服务组sf_gov,并在客户端请求报文中插入名字为X-Forwarded-For(此名称为举例,Header名称需要和现场服务器侧一致,)值为客户端源地址的Header。
图182 新建动作
# 添加HTTP类型的动作名称为la2,为转发到实服务组sf
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,添加HTTP类型的动作名称为la2为转发到实服务组sf:
图183 新建动作
# 创建HTTP类型的负载均衡策略lp,配置默认动作为la2,流分类为lc1的动作为为la1。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,添加HTTP类型的策略名称为lp,默认动作为la2,新建规则流量特征为lc1动作为la1:
图184 新建负载均衡策略
# 创建HTTP类型的虚服务器vs,配置其VSIP为61.159.4.100,引用负载均衡策略lp
在导航栏中选择“策略>应用负载均衡>虚服务器”,添加虚服务器vs:HTTP类型,配置虚服务IP为61.159.4.100,在负载均衡策略中选择lp:
图185 新建虚服务器
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图186 实服务组sf成员列表
图187 实服务组sf_gov成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图188 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图189 虚服务列表
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面
图190 SNAT地址池列表
在导航栏中选择“策略>应用负载均衡>高级策略”,进入负载均衡策略页面
图191 负载均衡策略列表
在导航栏中选择“策略>应用负载均衡>高级策略”,进入流量特征页面
图192 负载均衡流量特征列表
在导航栏中选择“策略>应用负载均衡>高级策略”,进入动作页面
图193 负载均衡动作列表
在客户端抓包:
在服务端抓包:
#
nqa template icmp t1
#
loadbalance snat-pool snat1
ip range start 192.168.1.254 end 192.168.1.254
#
server-farm sf
predictor hash address source
snat-pool snat1
probe t1
#
server-farm sf_gov
snat-pool snat1
probe t1
success-criteria at-least 1
real-server rs3 port 0
weight 90
success-criteria at-least 1
#
loadbalance class lc1 type http
match 1 url government
#
loadbalance action la1 type http
server-farm sf_gov
header insert request name x-forwarded-for value %is
#
loadbalance action la2 type http
server-farm sf
#
loadbalance policy lp type http
class lc1 action la1
default-class action la2
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type http
virtual ip address 61.159.4.100
lb-policy lp
service enable
sticky-sync enable
SLB部署SNAT业务情况下,服务器需要基于客户端的地址做数据统计,在客户端请求报文中插入值。
内网用户Host通过LB设备对3台服务器进行访问,公网内三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。要求Host访问流量进行源地址转换,且其中将访问URL含关键字government的客户端地址透传给实服务器C,以便实服务器甄别客户端做进一步安全性处理;其它URL流量在实服务器A和B之间负载分担。
图194 客户端源地址插入组网图
为了实现LB设备透传特定用户的客户端源地址,需要在LB设备上完成如下配置:
· 配置SNAT屏蔽客户端内网地址。
· 创建负载均衡策略,其中对于URL包含government的访问请求,动作中设置插入新的Header以便携带客户端源地址;其它URL直接负载分担到实服务器。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
· HTTP报文中的首部内容为1~255个字符的字符串,也可以使用以下特定含义的字符串,说明:%is:源IP地址或源IPv6地址。%ps:源端口号。%id:目的IP地址或目的IPv6地址。%pd:目的端口号。%sps:服务器侧的源端口号。%spd:服务器侧的目的端口号。%sis:服务器侧的源IP地址。%sid:服务器侧的目的IP地址。
以下验证过程均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图195 添加健康检测模板
单击<确定>按钮,完成操作。
# 创建源地池:在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,源地址池名称snat1,配置起始地址和结束地址为接口同网段公网地址,单击<确定>。
图196 新建源地址池
# 创建实服务组sf1,采用的调度算法为源IP地址哈希算法,选择源地址池snat1。
在导航栏中选择“策略>应用负载均衡>实服务组”,单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1,源地址池选择snat1。
图197 新建实服务组sf1
# 创建实服务组sf_gov,采用的调度算法为加权轮转,选择源地址池snat1。
策略>应用负载均衡>实服务组,添加实服务组sf_gov,调度算法选择加权轮转,单击<确定>。
图198 新建实服务组sf_gov
在导航栏中选择“策略>应用负载均衡>实服务组”,选择实服务组sf1,单击<编辑>,在成员列表一栏添加实服务器rs1,IP地址为7::2。单击<确定>。
图199 新建实服务器
参照上图创建实服务器rs2,配置其IPv6地址为7::3,并加入实服务组sf1。
参照上图创建实服务器rs3, 配置其IPv6地址为7::4,并加入实服务组sf_gov。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,添加HTTP类型的流量特征名称为lc1,识别访问请求中URL含government关键字的用户。
图200 新建流量特征
# 添加HTTP类型的动作名称为la1,为转发到实服务组sf_gov并在客户端请求报文中插入名字为X-Forwarded-For值为客户端源地址的Header。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,添加HTTP类型的动作名称为la1为转发到实服务组sf_gov,并在客户端请求报文中插入名字为X-Forwarded-For(此名称为举例,Header名称需要和现场服务器侧一致,)值为客户端源地址的Header。
图201 新建动作
# 添加HTTP类型的动作名称为la2,为转发到实服务组sf1
策略>应用负载均衡>高级策略>动作,添加HTTP类型的动作名称为la2为转发到实服务组sf1:
图202 新建动作
# 创建HTTP类型的负载均衡策略lp,配置默认动作为la2,流分类为lc1的动作为为la1。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,添加HTTP类型的策略名称为lp,默认动作为la2,新建规则流量特征为lc1动作为la1:
图203 新建负载均衡策略
# 创建HTTP类型的虚服务器vs1,配置其VSIP为200::1,引用负载均衡策略lp
在导航栏中选择“策略>应用负载均衡>虚服务器”,点击<新建>,添加虚服务器vs1:HTTP类型,配置虚服务IP为200::1,在负载均衡策略中选择lp:
图204 新建虚服务器
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图205 实服务组sf成员列表
图206 实服务组sf_gov成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图207 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图208 虚服务列表
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面
图209 SNAT地址池列表
在导航栏中选择“策略>应用负载均衡>高级策略”,进入负载均衡策略页面
图210 负载均衡策略列表
在导航栏中选择“策略>应用负载均衡>高级策略”,进入流量特征页面
图211 负载均衡流量特征列表
在导航栏中选择“策略>应用负载均衡>高级策略”,进入动作页面
图212 负载均衡动作列表
%is:客户端侧的源IP地址。
#
nqa template icmp t1
#
loadbalance snat-pool snat1
ipv6 range start 7::6 end 7::6
arp-nd interface Route-Aggregation1.20
#
server-farm sf1
predictor hash address source
snat-pool snat1
probe t1
success-criteria at-least 1
real-server rs1 port 80
success-criteria at-least 1
real-server rs2 port 80
success-criteria at-least 1
#
server-farm sf_gov
snat-pool snat1
probe t1
success-criteria at-least 1
real-server rs3 port 80
success-criteria at-least 1
#
loadbalance class lc1 type http
match 1 url government
#
loadbalance action la1 type http
server-farm sf_gov
header insert request name x-forwarded-for value %is
#
loadbalance action la2 type http
server-farm sf1
#
loadbalance policy lp type http
class lc1 action la1
default-class action la2
#
real-server rs1
ipv6 address 7::2
#
real-server rs2
ipv6 address 7::3
#
real-server rs3
ipv6 address 7::4
#
virtual-server vs1 type http
virtual ipv6 address 200::1
lb-policy lp
default server-farm sf1
service enable
sticky-sync enable
根据请求中的URL分类,将HTTP请求重定向为HTTPS请求,或者将HTTPS请求重定向为HTTP请求。
Host通过LB设备对3台服务器进行访问。负载均衡服务器上配置HTTP协议和HTTPS协议。
三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。
针对如下URL,要求配置HTTP请求自动重定向到HTTPS请求。
原请求路径 |
重定向路径 |
http://x.x.x.x/login |
https://x.x.x.x/login |
针对如下URL,要求配置HTTPS请求自动重定向到HTTP请求。
原请求路径 |
重定向路径 |
https://x.x.x.x/map/index.html |
http://x.x.x.x/map/index.html |
图213 LB设备基于URL重定向组网图
为了实现基于URL的策略重定向功能,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、负载均衡策略。
· 将CA证书和设备证书导入到LB设备,并在LB设备上创建SSL策略。
· 配置虚服务,并在虚服务下应用策略。
· 根据请求中的URL分类,将HTTP请求重定向为HTTPS请求,或者将HTTPS请求重定向为HTTP请求
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 相应的实服务器使用端口号为80。
· 配置完虚服务后,需要开启虚服务。
以下验证过程均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图214 添加健康检测模板
创建实服务组sf1,采用的调度算法为源IP地址哈希算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图215 添加实服务组
单击<确定>按钮,完成操作。
添加实服务组成员,新建实服务器rs1,配置其IPv4地址为192.168.1.1、实服务器端口为80、权值为150。
在导航栏中选择“策略>应用负载均衡>实服务器组”,进入实服务组页面。
选择编辑实服务组sf1,在成员列表一栏添加实服务器,实服务器IP地址为192.168.1.1,实服务器端口为80,权值设置为150,如下图所示。
图216 添加实服务器信息
单击<确定>按钮,完成操作。
策略>应用负载均衡>实服务组,参照上图添加实服务组sf1的成员实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80、权值为120。
策略>应用负载均衡>实服务组,参照上图添加实服务组sf1的成员实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80、权值为90。
匹配http://x.x.x.x/login等URL中带有/login关键字的HTTP请求流量
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,新建流量特征名称为c_http,新建规格Match ID为1,类型为URL,URL为/login。
图217 新建流量特征c_http
图218 流量特征c_http配置参数显示
匹配https://x.x.x.x/map/index.html等URL中带有/map关键字的HTTP请求流量
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为c_https,新建规格Match ID为1,类型为URL,URL为/map。
图219 新建流量特征c_https
图220 流量特征c_https配置参数显示
将HTTP请求报文重定向为HTTPS请求报文的动作la_http_to_https。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,新建动作名称为la_http_to_https,类型为HTTP重定向,重定向URL为https://%h%p。
图221 新建动作
将HTTPS请求报文重定向为HTTP请求报文的动作la_https_to_http。
策略>应用负载均衡>高级策略>动作,新建动作名称为la_https_to_http,类型为HTTP重定向,重定向URL为http://%h%p。
图222 新建动作
将上述流分类和动作关联实现如下功能:
(1) 策略http_tobe_https:将url中带有/login的http报文重定向为https报文
(2) 策略https_tobe_http:将url中带有/map的https报文重定向为http报文
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,新建名称为http_tobe_https,类型为HTTP,新建规则流量特征为c_http,动作为la_http_to_https
图223 新建负载均衡策略
参照上图,新建:名称为https_tobe_http,类型为HTTP,新建规则流量特征为c_https,动作为la_https_to_http。
在导航栏中选择“对象>PKI>证书”,进入证书页面。
单击<新建>PKI域,添加域名称为ca,禁止CRL检查,如下图所示。
图224 添加PKI域
单击<确定>,完成操作。
选中ca,单击<导入证书>按钮,如下图所示。
图225 导入证书
证书类型选择CA证书,单击<选择文件>按钮,选择cacert.crt文件,如下图所示。
图226 导入CA证书
单击<确定>,完成操作。
证书类型选择本地证书,单击<选择文件>按钮,选择local.pfx文件,输入证书口令(默认为123456),密钥123456,如下图所示。
图227 导入本地证书
单击<确定>,完成操作。
在导航栏中选择“对象>SSL>服务器端策略”,进入SSL页面。
单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,如下图所示。
图228 添加SSL服务器端策略
单击<确定>,完成操作。
#配置两个虚服务,分别响应HTTP请求报文和HTTPS请求报文
策略>应用负载均衡>虚服务器,新建虚服务器:名称为https,类型为HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用SSL服务端策略ssl,绑定负载均衡策略https_tobe_http,并开启虚服务,单击<确定>。
图229 新建虚服务器https
策略>应用负载均衡>虚服务器,新建虚服务器:名称为http,类型为HTTP,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为80,并开启虚服务,负载均衡策略为http_tobe_https,单击<确定>。
图230 新建虚服务器http
输入:http://61.159.4.100/login/index.html回车之后将会重定向为https://61.159.4.100/login/index.html。
从上图中可以看出返回的代码为302,代表发生重定向。
输入:https://61.159.4.100/map/index.html回车之后将会重定向为http://61.159.4.100/map/index.html。
从上图中可以看出HTTPS的请求变为了HTTP请求,说明发生了重定向。
#
nqa template icmp t1
#
pki domain ca
public-key rsa general name 123456
undo crl check enable
#
pki entity ca
#
pki import domain ca der ca filename cacert.cr
pki import domain ca p12 local filename local.pfx
#
ssl server-policy ssl
pki-domain ca
ciphersuite rsa_aes_128_cbc_sha rsa_des_cbc_sha rsa_rc4_128_md5 rsa_3des_ede_cb
c_sha rsa_aes_256_cbc_sha exp_rsa_rc4_md5 exp_rsa_rc2_md5 exp_rsa_des_cbc_sha dh
e_rsa_aes_128_cbc_sha dhe_rsa_aes_256_cbc_sha
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
real-server rs1 port 80
weight 150
success-criteria at-least 1
real-server rs2 port 80
weight 120
success-criteria at-least 1
real-server rs3 port 80
weight 90
success-criteria at-least 1
#
loadbalance class c_http type http
match 1 url /login
#
loadbalance class c_https type http
match 1 url /map
#
loadbalance action la_http_to_https type http
redirect relocation https://%h%p
#
loadbalance action la_https_to_http type http
redirect relocation http://%h%p
#
loadbalance policy http_tobe_https type http
class c_http action la_http_to_https
#
loadbalance policy https_tobe_http type http
class c_https action la_https_to_http
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server http type http
virtual ip address 61.159.4.100
lb-policy http_tobe_https
default server-farm sf1
service enable
sticky-sync enable
#
virtual-server https type http
port 443
virtual ip address 61.159.4.100
lb-policy https_tobe_http
default server-farm sf1
ssl-server-policy ssl
service enable
sticky-sync enable
将实服务器返回的重定向报文中的location内容修改成指定内容。
Host通过LB设备对3台服务器进行访问。三台服务器Server A、Server B和Server C均可提供HTTP服务,服务端口为8080。Host访问服务器的流量会在三台服务器之间负载分担。LB设备向用户提供的端口为80。
实服务器上配置有重定向功能:用户HTTP为“/test1”时,重定向的地址为“服务器IP+服务器端口”;用户URL为“/test2”时,重定向的地址为“虚服务IP+服务器端口”;用户URL为“/test3”时,重定向的地址为“域名+服务器端口”。LB设备需要将这些重定向报文修改成“虚服务IP+虚服务端口”发给用户。
用户的请求和回应有如下对应关系:
用户请求 |
实服务器回应 |
http://VIP/test1 |
重定向location:http://RS_IP:8080/ |
http://VIP/test2 |
重定向location:http://VIP:8080/ |
http://VIP/test3 |
重定向location:http://HOST:8080/ |
http://VIP/ |
200 OK |
对于实服务器回应的重定向报文有如下转换:
原重定向报文 |
修改后的重定向报文 |
location:http://RS_IP:8080/ |
location:http://VIP/ |
location:http://VIP:8080/ |
location:http://VIP/ |
location:http://HOST:8080/ |
location:http://VIP/ |
图231 LB设备HTTP重定向内容改写组网图
用户访问URL中含test1时,三个RS均会回应重定向location:http://RS_IP:8080/;用户访问URL中含test2时,三个RS均会回应重定向location:http://VIP:8080/;用户访问URL中含test3时,三个RS均会回应重定向location:http://HOST:8080/。LB需要将所有重定向报文中的location修改为统一的location:http://VIP/。当用户再次以该URL进行访问时,实服务器将正常回应OK报文。
服务器上如何配置重定向在此举例中忽略。
为了修改实服务器返回的重定向报文中的location,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器。
· 配置负载均衡策略,区分含有test1、test2或者test3的URL,与不携带这些字符串的URL;利用动作来修改RS回应的重定向报文中的location。
· 配置虚服务,并在虚服务下应用策略。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 相应的实服务器使用端口号为8080。
· 配置完虚服务后,需要开启虚服务。
以下验证过程均在LB设备上进行。
因为采用测试仪作为客户端和RS,无法设置RS区分情况来回应重定向或200 OK报文。为保证用户采用http://VIP/访问时能正常得到回应,此例中为其多设置一个RS专门用于回应200 OK报文。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图232 添加健康检测模板t1
创建实服务组sf1,采用的调度算法为源IP地址的hash算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图233 添加实服务组
单击<确定>按钮,完成操作。
再以同样方法添加实服务组sf2,用于客户端根据重定向内容重新发起请求的分配。
图234 创建实服务组
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
选择实服务组sf1,单击<编辑>按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图235 新建实服务器
单击<确定>按钮,完成操作。
创建rs2、rs11与rs12步骤相同。
# 添加实服务组sf1成员实服务器rs2,配置其IPv4地址为192.168.1.2。
# 添加实服务组sf2成员实服务器rs11,配置其IPv4地址为192.168.1.11。
# 添加实服务组sf2成员实服务器rs12,配置其IPv4地址为192.168.1.12。
重复上述步骤分别创建其它实服务器。
匹配URL中带有test1、test2或者test3关键字的HTTP请求流量。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,点击<新建>:流量特征名称为lc1,类型为HTTP,选择匹配任意一条规则,创建匹配规则Match ID为1、类型为URL、URL为test1,创建匹配规则Match ID为2、类型为URL、URL为test2,创建匹配规则Match ID为3、类型为URL、URL为test3。
图236 新建流量特征
将用户URL中含test1、test2或者test3的请求报文发送给实服务组sf1。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,新建动作名称为la1,类型为HTTP,主用实服务组为sf1。
图237 新建动作
以及将实服务器回应的重定向报文中的location修改为http://VIP/。其中Header名称为location,Header值为“.*:8080(.*)”,替换成的资源串为http://61.159.4.100%1。
将用户重新按照重定向内容发出的请求报文发送给实服务组sf2。
策略>应用负载均衡>高级策略>动作>新建:动作名称为la2,类型为HTTP,主用实服务组为sf2。
图238 新建动作
将上述流量特征和动作关联实现如下功能:
策略lp1将匹配流分类lc1(即用户请求URL中带有test1、test2或者test3)的请求报文,动作为la1(即发送给实服务组sf1,并将返回的重定向报文中的location改写为http://VIP/);其它不匹配流分类lc1的请求报文,动作为la2(即发送给实服务组sf2)。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,单击<新建>:应用负载均衡策略名称为lp1,类型为HTTP,默认动作为la2,新建规则流量特征为lc1、动作为la1。
图239 新建策略
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面
新建HTTP类型的参数模板名称为pp1,类型选择HTTP,并开启逐请求负载均衡。
图240 新建参数模板
#配置HTTP类型的虚服务vs,端口为80
在导航栏中选择“策略>应用负载均衡>虚服务器”,新建虚服务器名称为vs,类型为HTTP,IP为61.159.4.100,端口号为80,引用负载均衡策略lp1,绑定参数模板pp1,并开启虚服务,单击<确定>。
图241 新建虚服务器
#
nqa template icmp t1
#
parameter-profile pp1 type http
rebalance per-request
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
#
server-farm sf2
predictor hash address source
probe t1
success-criteria at-least 1
#
loadbalance class lc1 type http match-any
match 1 url test1
match 2 url test2
match 3 url test3
#
loadbalance action la1 type http
server-farm sf1
header rewrite response name location value .*:8080(.*) replace http://61.159.4
.100%1
#
loadbalance action la2 type http
server-farm sf2
#
loadbalance policy lp1 type http
class lc1 action la1
default-class action la2
#
real-server rs1
ip address 192.168.1.1
server-farm sf1
success-criteria at-least 1
#
real-server rs11
ip address 192.168.1.11
server-farm sf2
success-criteria at-least 1
#
real-server rs12
ip address 192.168.1.12
server-farm sf2
success-criteria at-least 1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
success-criteria at-least 1
#
virtual-server vs type http
virtual ip address 61.159.4.100
parameter http pp1
lb-policy lp1
service enable
Host通过LB设备对两台服务器进行访问,两台服务器均可提供HTTP服务,可对HTTP的Header进行插入、重写、删除操作。
图242 HTTP的Header插入、重写、删除组网图
为实现HTTP的Header插入、重写、删除功能,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务、策略。
· LB设备可以对HTTP的Header进行插入、重写、删除的操作
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host与LB的路由配置,使之路由可达。
· Server端和LB的路由配置,使之路由可达。
· Action中需要引用实服务组。
· 配置完虚服务后,需要开启虚服务。
以下配置均在LB设备上进行。测试仪配置不在此文档详细描述。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,URL为http://192.168.1.1/index.html,如下图所示。
图243 添加健康检测模板
单击<确定>按钮,完成操作。
按照上图步骤创建HTTP类型健康检测t2、t3,URL分别为http://192.168.1.2/index.html、http://192.168.1.3/index.html
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1、t2、t3的实服务组,且成功条件为至少1个检测通过,如下图所示。
图244 添加实服务组
单击<确定>按钮,完成操作。
添加实服务组sf1成员,新建实服务器rs1,配置其IPv4地址为192.168.1.1、权值为150 。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
选择实服务组sf1,单击编辑按钮,进入成员列表一栏,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,权值设置为150,如下图所示。
图245 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同。
# 添加实服务组sf1成员实服务器rs2,配置其IPv4地址为192.168.1.2。
# 添加实服务组sf1成员实服务器rs3,配置其IPv4地址为192.168.1.3。
重复上述步骤分别创建其它实服务器。
匹配URL中带有test关键字的HTTP请求流量
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,新建流量特征名称为lc1,类型为HTTP,新建匹配规则Match ID为1、类型为URL、URL为test。
图246 新建流量特征
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,新建动作名称为la1,类型为HTTP,主用实服务器为sf1。
图247 新建动作
Header插入,新建方向为双向,Header名称为1111111111111111111111insert11111111111111111111122,Header值为21。
Header重写,新建方向为请求,Header名称为host,Header值为61.159.4.100,替换成的资源串为h3c.com。
Header删除,新建方向为应答,Header名称为content-type。
单击<确定>,创建动作。
将上述流量特征和动作关联实现如下功能:
策略lp1将匹配流量特征lc1(即用户请求URL中带有test)的请求报文,动作为la1(即发送给实服务组sf1,并将处理HTTP头部)。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,新建负载均衡策略为lp1,类型为HTTP,新建规则流量特征为lc1、动作为la1。
图248 新建负载均衡策略
# 配置HTTP类型的虚服务vs,端口为80
在导航栏中选择“策略>应用负载均衡>虚服务器”,新建虚服务名称为vs,类型HTTP,IP为61.159.4.100,端口号为80,引用lb策略lp1,并开启虚服务,单击<确定>。
图249 新建虚服务器
查看Host、Server抓包信息
预期结果: Host端请求方向的HTTP报文Header被插入预定头部信息。
(1) Host正向 request报文-Host抓包信息
(2) LB正向 Header insert request报文-Server抓包信息
预期结果: Server端应答方向的HTTP报文Header被插入预定头部信息。
(3) Server反向 response报文-Server抓包信息
(4) LB反向 Header insert request报文 -Host抓包信息
预期结果: Host端请求方向的HTTP报文Header中的Host内容被重写。
(1) Host正向 request报文-Host抓包信息
(2) LB正向 Header rewrite request报文-Server抓包信息
预期结果: Server端应答方向的HTTP报文Header中的内容content-type被删除。
(1) Server反向 response报文-Server抓包信息
(2) LB反向 Header delete request报文 -Host抓包信息
#
nqa template http t1
url http://192.168.1.1/index.html
#
nqa template http t2
url http://192.168.1.2/index.html
#
nqa template http t3
url http://192.168.1.3/index.html
#
server-farm sf1
predictor hash address source
probe t1
probe t2
probe t3
success-criteria at-least 1
#
loadbalance class c1 type http
#
loadbalance action a1 type http
server-farm sf1
header delete response name content-type
header insert both name 1111111111111111111111insert11111111111111111111122 value 21
header rewrite request name host value 61.159.4.100 replace h3c.com
#
loadbalance policy lp1 type http
class lc1 action la1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs1 type http
virtual ip address 61.159.4.100
lb-policy lp1
service enable
#
Host通过LB设备对两台服务器进行访问,两台服务器均可提供HTTP服务,可对HTTP的Cookie进行插入、重写、截取操作。
insert表示持续性方法为Cookie插入,即在服务器发送的HTTP应答报文中插入Set-Cookie字段用于持续性处理。
rewrite表示持续性方法为Cookie重写,即改写服务器发送的HTTP应答报文所携带的Set-Cookie字段用于持续性处理。
get表示持续性方法为Cookie截取,即在服务器发送的HTTP应答报文中截取Set-Cookie字段用于持续性处理。
图250 HTTP的Cookie插入、重写、截取组网图
为实现HTTP的Cookie插入、重写、截取功能,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务、持续性组。
· LB设备可以对HTTP的Cookie进行插入、重写、截取的操作,并可通过持续性的处理,来控制业务分配给具体的服务器。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· Host端与LB的路由配置,使之路由可达。
· Server端和LB的路由配置,使之路由可达。
· 虚服务中需要引用持续性组
· 配置完虚服务后,需要开启虚服务。
以下配置均在LB设备上进行。测试仪配置不在此文档详细描述。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,URL为http://192.168.1.1/index.html,如下图所示。
图251 添加健康检测模板
单击<确定>按钮,完成操作。
按照上图步骤创建HTTP类型健康检测t2、t3,URL分别为http://192.168.1.2/index.html、http://192.168.1.3/index.html
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1、t2、t3的实服务组,且成功条件为至少1个检测通过,如下图所示。
图252 添加实服务组
单击<确定>按钮,完成操作。
添加实服务组成员,新建实服务器rs1,配置其IPv4地址为192.168.1.1。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
选择实服务组sf1,单击编辑按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图253 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同。
# 添加实服务组sf1成员实服务器rs2,配置其IPv4地址为192.168.1.2。
# 添加实服务组sf1成员实服务器rs3,配置其IPv4地址为192.168.1.3。
在导航栏中选择“策略>全局配置>持续性组”,点击<新建>:持续性组名称为cookie1,类型为HTTP-Cookie,Cookie持续性方法为Cookie插入,Cookie名称为z1111111cookie-insert1111111111111111end。
图254 新建持续性组cookie1
在导航栏中选择“策略>全局配置>持续性组”,新建持续性组名称为cookie2,类型为HTTP-Cookie,Cookie持续性方法为Cookie重写,Cookie名称为h3c-rewrite。
图255 新建持续性组cookie2
在导航栏中选择“策略>全局配置>持续性组”,新建持续性组名称为cookie3,类型为HTTP-Cookie,Cookie持续性方法为Cookie截取,Cookie名称为cookie3_get。
图256 新建持续性组cookie3
匹配URL中带有test关键字的HTTP请求流量
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,新建流量特征名称为lc1,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test1。
图257 新建流量特征
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,新建流量特征名称为lc2,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test2。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,新建流量特征名称为lc3,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test3。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,新建动作名称为la1,类型为HTTP,主用实服务组为sf1,持续性组为cookie1。
图258 新建动作la1
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,新建动作名称为la2,类型为HTTP,主用实服务组为sf1,持续性组为cookie2。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,新建动作名称为la3,类型为HTTP,主用实服务组为sf1,持续性组为cookie3
单击<确定>,创建动作。
将上述流分类和动作关联实现如下功能:
策略lp1将匹配流分类lc1(即用户请求URL中带有test)的请求报文,动作为la1(即发送给实服务组sf1),并将处理HTTP头部。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,新建负载均衡策略名称为lp1,类型为HTTP,新建规则流量特征为lc1、动作为la1,新建规则流量特征为lc2、动作为la2,新建规则流量特征为lc3、动作为la3。
图259 新建负载均衡策略
#配置HTTP类型的虚服务,端口为80
在导航栏中选择“策略>应用负载均衡>虚服务器”,新建虚服务器名称为vs,类型为HTTP,IP为61.159.4.100,端口号为80,引用lb策略lp1,并开启虚服务,,单击<确定>。
图260 新建虚服务器
可在验证前先清理实服务器和虚服务的统计数据,以免干扰判断,清理后,再打流量,进行验证。
在导航栏中选择“监控>应用负载均衡>虚服务器统计”,单击<清除>。
在导航栏中选择“监控>应用负载均衡>实服务器统计”,单击<清除>。
查看Host、Server抓包信息
预期结果:Server端应答方向的HTTP报文中Cookie内容被插入(被LB设备插入Cookie为Set-Cookie: z1111111cookie-insert1111111111111111end=1.2.7.14b58b2)。
(1) Server端 response方向的HTTP报文抓包情况,如下:
(2) Host端收到LB response方向的HTTP报文抓包情况,如下:
业务流量持续性验证预期结果:第一次打流量,LB返回Host端一个Cookie值,在第二次请求中携带插入的Cookie值,然后打流量,验证持续性生效,所有的请求分配给了同一个实服务器。
图261 虚服务器统计信息
图262 实服务组统计信息
图263 实服务器统计信息
查看Host、Server抓包信息
预期结果:Server端应答方向的HTTP报文中Cookie内容被重写(由123456;path=/被LB设备重写为1.5.a.14b58b2)。
(1) Server端response方向的HTTP报文抓包情况,如下:
(2) Host端response方向的HTTP报文抓包情况,如下:
业务流量持续性验证预期结果:验证持续性生效,所有的请求分配给了同一个实服务器。
图264 虚服务器统计信息
图265 实服务组统计信息
图266 实服务器统计信息
查看测试仪抓包信息
Host、Server两端报文中可以看出Cookie没有变化,此处不详细介绍。
业务流量持续性验证预期结果:在请求中携带Cookie值,验证持续性生效,所有的请求分配给了同一个实服务。
图267 虚服务器统计信息
图268 实服务组统计信息
图269 实服务器统计信息
#
nqa template http t1
url http://192.168.1.1/index.html
#
nqa template http t2
url http://192.168.1.2/index.html
#
nqa template http t3
url http://192.168.1.3/index.html
#
server-farm sf1
predictor hash address source
probe t1
probe t2
probe t3
success-criteria at-least 1
#
sticky-group cookie1 type http-cookie
cookie insert name z1111111cookie-insert1111111111111111end
#
sticky-group cookie2 type http-cookie
cookie rewrite name h3c-rewrite
#
sticky-group cookie3 type http-cookie
cookie get name cookie1_get
#
loadbalance action la1 type http
server-farm sf1 sticky cookie1
#
loadbalance action la2 type http
server-farm sf1 sticky cookie2
#
loadbalance action la3 type http
server-farm sf1 sticky cookie3
#
loadbalance class lc1 type http
match 1 url test1
#
loadbalance class lc2 type http
match 1 url test2
#
loadbalance class lc3 type http
match 1 url test3
#
loadbalance policy lp1 type http
class lc1 action la1
class lc2 action la2
class lc3 action la3
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type http
virtual ip address 61.159.4.100
lb-policy lp1
service enable
#
如图所示,LB设备后接多台RADIUS服务器组成的RADIUS服务器群。现有3台RADIUS服务器为外网用户提供RADIUS服务,3台RADIUS服务器地址为192.168.1.1~192.168.1.3。负载均衡设备会将BRAS发送的RADIUS认证计费的请求报文进行分配,使RADIUS请求报文均匀地分布在不同的RADIUS服务器上。同时需保证同一用户名的认证报文发送至同一台认证服务器上;
图270 LB支持RADIUS配置组网图
为实现RADIUS的七层应用负载均衡,需要在LB设备上完成如下配置:配置实服务组、实服务器、虚服务。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
配置路由,保证BRAS、Switch、LB device之间路由可达。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat_2.2.2.2,起始IP地址是2.2.2.2,结束IP地址是2.2.2.2,如下图所示。
图271 创建源地址池
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf,调度算法为加权轮转,引用源地址池snat_2.2.2.2,如下图所示。
图272 添加实服务组
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
选择实服务组sf ,单击<编辑>,在成员列表一栏添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图273 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同,rs2的IP地址为192.168.1.2,rs3的IP地址为192.168.1.3。
在导航栏中选择“策略>全局配置>持续性组”,进入持续性组页面。
单击<新建>,添加持续组名称为sg_rad,类型为RADIUS,RADIUS持续性方法的属性编号为1,表示RADIUS属性类型为User-Name,如下图所示。
图172 添加持续性组
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面。
单击<新建>,添加流量特征名称为lc_rad,类型选择RADIUS,匹配方式为匹配所有规则,匹配User-Name中含有test关键字的用户名,如下图所示。
图173 添加流量特征
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la_rad,类型选择RADIUS,主用实服务组sf,持续性组为sg_rad,如下图所示。
图174 添加动作
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp_rad,类型选择RADIUS,规则单击<新建>,流量特征选择lc_rad,动作选择la_rad,单击<确定>,如下图所示。
图175 添加策略
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs_rad,类型选择RADIUS,61.159.4.100/32,开启虚服务功能,负载均衡策略为lp_rad,如下图所示。
图176 添加虚服务
BRAS Host向LB设备发送RADIUS认证请求计费报文,报文经由LB设备做负载均衡处理分发给后端的RADIUS服务器处理,同时生成持续性表项;
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图274 实服务组sf成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图275 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图276 虚服务列表
<LB_Device>display sticky virtual-server
Slot 1:
Virtual server name: vs_rad
Sticky zone type: Class
Class name: lc_rad
Sticky group name: sg_rad
Sticky method: RADIUS attribute
Timeout: 60
Sticky entry Real server Expired time Count
--------------------------------------------------------------------------------
test441 192.168.1.3/0 59 0
8bfc4dc0a77d48610c711c49c95cd7ea
test60 192.168.1.1/0 59 0
187cea2f627b284cd2c47288a0eaab96
test496 192.168.1.3/0 59 0
89ee2f419c8b3b1b10dc77c66406b659
test305 192.168.1.1/0 59 0
fc494320a93fbc305116923de80312f7
test827 192.168.1.2/0 59 0
624a9fefde2f75d01a64a5c14fcc721b
test669 192.168.1.2/0 59 0
61f08c826f0e8f453a5e15a38a83ee6a
test808 192.168.1.2/0 59 0
70c59d6799c7b6d25d7711201af66f06
test589 192.168.1.1/0 59 0
c4f01b0b44aac11d25f670ac34d92140
test376 192.168.1.2/0 59 0
… …
在导航栏中选择“策略>应用负载均衡>虚服务器统计”,进入虚服务统计页面
图277 虚服务统计
在导航栏中选择“策略>应用负载均衡>实服务组统计”,进入实服务组统计页面
图278 实服务组统计
在导航栏中选择“策略>应用负载均衡>实服务器统计”,进入实服务器统计页面
图279 实服务器统计
#
loadbalance snat-pool snat_2.2.2.2
ip range start 2.2.2.2 end 2.2.2.2
#
server-farm sf
snat-pool snat_2.2.2.2
#
real-server rs1
ip address 192.168.1.1
server-farm sf
#
real-server rs2
ip address 192.168.1.2
server-farm sf
#
real-server rs3
ip address 192.168.1.3
server-farm sf
#
sticky-group sg_rad type radius
radius-attribute user-name
timeout 60
#
loadbalance action la_rad type radius
server-farm sf sticky sg_rad
#
loadbalance class lc_rad type radius
match 1 radius-attribute code 1 value test
#
loadbalance policy lp_rad type radius
class lc_rad action la_rad
#
virtual-server vs_rad type radius
virtual ip address 61.159.4.100
lb-policy lp_rad
service enable
#
三台服务器Server A、Server B和Server C均可提供FTP服务,且这三台服务器的硬件配置顺次降低。通过配置应用负载均衡,在考虑硬件性能的前提下让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。
图280 四层应用负载均衡双机热备组网图
· 两台L5000-AK535堆叠配置,与交换机相连的接口进行冗余配置。
· LB设备上配置实服务组、实服务器、虚服务。
本举例是在L5000-AK535, Version 7.1.064, Release 8504P20版本上进行配置和验证的。
· 入方向交换机配置二层透传,入方向网关在LB上,Host到LB路由可达,出方向交换机配置二层透传,LB到Server路由可达,Server到LB路由可达,网关在LB上。
· LB设备与交换机直连的接口均配置成冗余口,LB上入方向配置冗余子接口,交换机与LB直连的接口配置成二层trunk口,放行与LB出入口相一致的VLAN。
以下配置均在LB设备上进行。
在导航栏中选择“对象>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图281 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图282 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
选择实服务组sf 1,单击<编辑>,在成员列表一栏添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。
图283 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同,rs2的IP地址为192.168.1.2;rs3的IP地址为192.168.1.3。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,配置虚服务IP为61.159.4.100,应用实服务组sf1,并开启虚服务,如下图所示。
图284 新建虚服务器
单击<确定>,完成操作。
在导航栏中选择“系统>高可靠性>双机热备”,进入双机热备页面,勾选备份会话表,如下图所示。
在导航栏中选择“系统>虚拟化>IRF”,单击<配置>,进入IRF配置界面。将用于堆叠的接口添加进去,堆叠成员ID是1的作为主设备,优先级设置为32。
单击<确定>,完成操作。
堆叠成员ID为2的设备,优先级为1,将用于堆叠的接口添加进去,同上述步骤,配置参数如下图所示。
在导航栏中选择“系统>高可靠性>双机热备”,单击“冗余组”,进入冗余配置界面。
默认主备优先级,主是1,备是2
单击<确定>,完成操作。
当down掉冗余主接口时,再次查看冗余状态:
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面,查看成员列表一栏
图285 实服务组成员列表
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面
图286 实服务组列表
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面
图287 虚服务列表
图288 虚服务统计
图289 实服务组统计
#
irf-port 1/1
port group interface GigabitEthernet1/0/3
#
irf-port 2/2
port group interface GigabitEthernet2/0/3
#
interface Reth1
member interface GigabitEthernet1/0/15 priority 255
member interface GigabitEthernet2/0/15 priority 50
#
redundancy group 1
member interface Reth1
node 1
bind slot 1
track 1 interface GigabitEthernet1/0/15
node 2
bind slot 2
track 2 interface GigabitEthernet2/0/15
#
session synchronization enable
#
server-farm sf1
predictor hash address source
probe t1
#
real-server rs1
ip address 192.168.1.1
#
real-server rs2
ip address 192.168.1.2
#
real-server rs3
ip address 192.168.1.3
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
default server-farm sf1
service enable
#
track 1 interface GigabitEthernet1/0/15
track 2 interface GigabitEthernet2/0/15
#
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!