02-应用负载均衡典型配置举例
本章节下载 (6.38 MB)
H3C 负载均衡设备
应用负载均衡典型配置举例
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地址池,实服务器到SNAT地址池路由可达。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· 入方向交换机配置二层透传,Host到LB路由可达,出方向交换机配置三层路由,LB到server路由可达,server到LB路由可达,下一跳都是在交换机上进行配置。
· 注意实服务器回LB设备上路由可达,可将SNAT地址池中的地址跟出接口地址一个网段,出接口下要配置相应的sub地址;如果不是一个网段,需要在实服务器上配置回SNAT地址池的路由。本举例中SNAT地址池地址跟出接口地址一个网段,实服务器上不用再配置到SNAT路由了。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图2 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat_1.1.1.11,起始IP地址是1.1.1.11,结束IP地址是1.1.1.11,如下图所示。
图3 创建源地址池
点击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1,如下图所示。
图4 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图5 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与创建rs1步骤相同。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,61.159.4.100/32,开启虚服务功能,如下图所示。
图6 新建虚服务器
点击<确定>,完成操作。
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
snat-pool snat_1.1.1.11
probe t1
#
real-server rs1
ip address 192.168.1.1
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
server-farm sf1
#
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服务,并通过健康检测来监控这些服务器是否可达。
图7 基于源地址应用负载均衡组网图
为实现源地址应用负载均衡,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务。
· 配置策略。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图8 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图9 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图10 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与创建rs1步骤相同,rs2引用sf2,rs3引用sf3。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面。
单击<新建>,添加流量特征名称为lc1,类型为通用,匹配方式为匹配任意一条规则,match ID为1,类型选择源IPv4,ip地址为10.0.4.0,掩码长度为26,点击<确定>按钮,如下图所示。
图11 添加流量特征信息
单击<确定>按钮,完成操作。
创建lc2与lc1步骤相同,lc2匹配规则IPv4地址是10.0.4.64,掩码长度26。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la1,类型选择通用,主用实服务组sf1,如下图所示。
图12 添加动作信息
点击<确定>,完成操作。
创建la2、la3与la1步骤相同,la2主用实服务组是sf2,la3主用实服务组是sf3。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp1,类型选择通用,规则点击<新建>,流量特征选择lc1,动作选择la1,点击<确定>;再次点击<新建>,流量特征选择lc2,动作选择la2,点击<确定>;默认动作选择la3,如下图所示。
图13 添加策略lp1信息
图14 策略lp1配置信息
点击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,61.159.4.100/32,开启虚服务功能,负载均衡策略为lp1,如下图所示。
图15 新建虚服务器
点击<确定>,完成操作。
当源地址为10.0.4.1发起FTP访问请求时,匹配策略lc1,选中rs1,查看实服务器统计,此时只有rs1有流量统计:
当源地址为10.0.4.65发起FTP访问请求时,匹配策略lc2,选中rs2,查看实服务器统计,此时只有rs2有流量统计:
当源地址为10.0.4.129发起FTP访问请求时,匹配策略lc3,选中rs3,查看实服务器统计,此时只有rs3有流量统计:
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
#
server-farm sf2
predictor hash address source
probe t1
#
server-farm sf3
predictor hash address source
probe t1
#
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
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf2
#
real-server rs3
ip address 192.168.1.3
server-farm sf3
#
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服务,并通过健康检测来监控这些服务器状态。
图16 三角传输组网图
为实现三角传输的应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务、负载均衡策略
· 由于服务器回应报文通过交换机直接转发,所以服务器回应报文的源地址要为虚服务器的地址,因此除了配置各自网卡地址外,还需要三台真实服务器侧需要单独配置loopback口,并且地址设置为虚服务器的地址61.159.4.100
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· 入方向交换机配置三层,入方向网关在交换机上,Host到交换机直连路由可达,交换机到LB直连路由可达,Host到LB路由可达,下一跳在交换机上,出方向交换机配置三层路由,LB到server路由可达,server到Host路由可达,下一跳都是在交换机上。
· 流量正向走LB,反向不走LB,服务器回Host路由可达。
· LB设备地址需要与实服务器地址处于同一网段。
· 实服务组中关闭DNAT功能。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图17 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图18 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图19 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与创建rs1步骤相同。
在导航栏中选择“策略>全局配置>持续性组”,进入持续性组页面。
单击<新建>,添加持续组名称为sg1,类型为地址端口,IPv4方法选择源地址,如下图所示。
图20 添加持续性组信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,61.159.4.100 /32,开启虚服务功能,持续性方法为sg1,如下图所示。
图21 新建虚服务器
点击<确定>,完成操作。
#
nqa template icmp t1
#
sticky-group sg1 type address-port
ip source
#
server-farm sf1
predictor hash address source
transparent enable
probe t1
#
real-server rs1
ip address 192.168.1.1
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
server-farm sf1
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
default server-farm sf1 sticky sg1
service enable
#
如图所示,内网用户经过负载均衡设备访问外网服务器。三台服务器Server A、Server B和Server C均可提供FTP服务,Host访问服务器的流量会根据三台服务器的优先级进行选择,如果实服务组中配置了限制调度的个数,实服务器优先级跟调度个数会共同对实服务器进行调度,实现负载分担。
图22 基于优先级调度应用负载均衡组网图
为实现基于优先级调度的应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务。
· 实服务组中配置可选择的实服务器的数量为1,实服务器配置不同的优先级分别为4、8、1。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
· 实服务组中配置可选择的实服务器数量,三台服务器配置不同的优先级。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图23 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,勾选“限制可被调度算法调用的实服务器数量”,最小数量与最大数量均配置成1,如下图所示。
图24 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图25 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同,rs2优先级为8,rs3优先级为1,均引用实服务组sf1。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择TCP,配置虚服务器IP为61.159.4.100,指定默认实服务组sf1,并开启虚服务,如下图所示。
图26 新建虚服务器
点击<确定>,完成操作。
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
selected-server min 1 max 1
probe t1
#
real-server rs1
ip address 192.168.1.1
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
priority 8
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
priority 1
server-farm sf1
#
virtual-server vs type tcp
virtual ip address 61.159.4.100
default server-farm sf1
service 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。
图27 基于URL的7层负载组网图
为实现基于URL的七层应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务。
· 配置策略,类和动作,类中配置匹配URL的规则,使得url中含有sports、government、news的请求分给Server A和Server D,url中含有finance、technology、shopping的请求分给Server B和Server E,其他url的请求分给ServerC和Server F。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
· 如果一个HTTP带有多个请求,请配置逐请求负载分担。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图28 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图29 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图30 添加实服务器信息
单击<确定>按钮,完成操作。
创建其余5个实服务器与rs1步骤相同,rs11引用实服务组sf1,rs2和rs12引用实服务组sf2,rs3和rs13引用实服务组sf3。
在导航栏中选择“策略>全局配置>持续性组”,进入持续性组页面。
单击<新建>,添加持续组名称为sg1,类型为http-cookie,cookie持续性方法:cookie插入,cookie名称为cookie1,如下图所示。
图31 添加持续性组信息
点击<确认>,完成操作。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面。
单击<新建>,添加流量特征名称为lc1,类型选择HTTP,匹配方式为匹配任意一条规则:
· match ID为1,类型选择URL,URL为sports,点击<确定>。
· match ID为2,类型选择URL,URL为news,点击<确定>。
· match ID为3,类型选择URL,URL为government点击<确定>。
图32 添加流量特征lc1
点击<确定>,完成操作。
创建lc2与lc1步骤相同,配置参数如下图所示。
图33 流量特征lc2参数
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la1,类型选择HTTP,主用实服务组sf1,持续性组为sg1,如下图所示。
图34 添加动作信息
单击<确定>,完成操作。
负载均衡动作la2、la3与la1创建步骤相同,la2主用实服务组sf2,la3主用实服务组sf3,la2、la3配置参数分别如图35、图36所示。
图35 la2配置参数
图36 La3配置参数
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp1,类型选择HTTP,规则点击<新建>,流量特征选择lc1,动作选择la1,点击<确定>。再次点击<新建>,流量特征选择lc2,动作选择la2,点击<确定>。默认动作选择la3,如下图所示。
图37 添加策略信息
点击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面。
单击<新建>,添加参数模板名称为pp1,类型选择HTTP,逐请求负载均衡:开启,如下图所示。
图38 添加参数模板信息
单击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务,如下图所示。
图39 新建虚服务器
点击<确定>,完成操作。
虚服务有统计信息:
当发起包含url是sports、news、government的请求时,流量特征匹配lc1,此时rs1有流量统计:
当发起包含url是finance、technology、shopping的请求时,流量特征匹配lc2,此时rs2有流量统计:
当发起包含url是aaa的请求时,流量特征匹配不上lc1和lc2,走默认的lc3,此时rs3和rs13有流量统计:
同时发起url值分别包含aaa、sports、news、government、 finance、technology、shopping的请求,统计如下:
查看实服务器统计只有rs1命中:
再次发起带有这个cookie值的报文请求:cookie: cookie1=1.0.19.e732c79,查看持续性生效,只有rs1有统计:
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
#
server-farm sf2
predictor hash address source
probe t1
#
server-farm sf3
predictor hash address source
probe t1
#
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
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf2
#
real-server rs3
ip address 192.168.1.3
server-farm sf3
#
real-server rs11
ip address 192.168.1.11
server-farm sf1
#
real-server rs12
ip address 192.168.1.12
server-farm sf2
#
real-server rs13
ip address 192.168.1.13
server-farm sf3
#
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
service enable
#
如图所示,Host访问域名,通过DNS server将域名解析出虚服务器地址,Host发起访问虚服务器的地址,通过LB设备对3台服务器进行访问,三台服务器均可提供HTTP服务,访问服务器的流量将根据负载均衡策略在三台服务器之间负载分担。
图40 基于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再次发起请求时是对虚服务的请求。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· Host与DNS server路由可达,Host可以直接将DNS服务器指向DNS server。
· 入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。
· DNS server解析域名的地址跟LB上虚服务的地址一致。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图41 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图42 添加实服务组
单击<确定>按钮,完成操作。
创建实服务组sf2、sf3与sf1步骤相同。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图43 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同:
实服务器rs2的IP地址为192.168.1.2,引用实服务组sf2;
实服务器rs3的IP地址为192.168.1.3,引用实服务组sf3。
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面,单击<新建>添加流量特征名称为lc1,类型选择HTTP,匹配方式为匹配所有规则,match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.aaa.com,如下5. 图44所示。
点击<确定>,完成操作。
按照Lc1的步骤依次分别添加lc2、lc3:
添加流量特征名称为lc2,类型选择HTTP,匹配方式为匹配所有规则,match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.bbb.com,如下图45所示。
添加流量特征名称为lc3,类型选择HTTP,匹配方式为匹配所有规则,match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.ccc.com,如下图46所示。
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la1,类型选择HTTP,主用实服务组sf1,如下图所示。
图47 添加动作信息
单击<确定>,完成操作。
创建la2、la3与la1步骤相同,la2主用实服务组sf2,la3主用实服务组sf3。
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp1,类型选择HTTP,规则点击<新建>,流量特征选择lc1,动作选择la1,点击<确定>。再次点击<新建>,流量特征选择lc2,动作选择la2,点击<确定>。再次点击<新建>,流量特征选择lc3,动作选择la3,点击<确定>,如下图所示。
图48 添加策略信息
点击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,并开启虚服务,如下图所示。
图49 添加虚服务器vs
点击<确定>,完成操作。
在导航栏中选择“网络>DNS>DNS客户端”,进入DNS客户端页面,在“域名服务器地址”,添加DNS server的地址:184.45.0.220,如图所示。
本例采用LB设备模拟DNS服务器,需要配置此步骤。在实际组网中,请根据实际情况选择此步骤是否需要配置。
图50 配置DNS
虚服务有统计信息:
当发起访问www.aaa.com请求时,流量特征匹配lc1,此时rs1有流量统计:
当发起访问www.bbb.com请求时,流量特征匹配lc2,此时rs2有流量统计:
当发起访问www.ccc.com请求时,流量特征匹配lc3,此时rs3有流量统计:
dns proxy enable
dns server 184.45.0.220
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
probe t1
#
server-farm sf2
predictor hash address source
probe t1
#
server-farm sf3
predictor hash address source
probe t1
#
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
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf2
#
real-server rs3
ip address 192.168.1.3
server-farm sf3
#
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访问服务器的流量会根据三台服务器的优先级进行选择,如果实服务组中配置了限制调度的个数,实服务器优先级跟调度个数会共同对实服务器进行调度,实现负载分担。
图51 基于优先级调度七层服务器负载组网图
为实现基于优先级调度的七层应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务,实服务组中配置可选择的实服务器的数量为1,实服务器配置不同的优先级分别为4、8、1。
· 入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。
· 入方向跟出方向交换机均配置二层透传,网关都在LB上。
· 实服务组中配置可选择的实服务器数量,三台服务器配置不同的优先级。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图52 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,勾选“限制可被调度算法调用的实服务器数量”,最小数量与最大数量均配置成1,如下图所示。
图53 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,优先级为4,如下图所示。
图54 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同,rs2优先级为8,实服务器IP地址为192.168.1.2,实服务组选择sf1;rs3优先级为1,实服务器IP地址为192.168.1.3,实服务组选择sf1。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用实服务组sf1,并开启虚服务,如下图所示。
图55 配置虚服务器
点击<确定>,完成操作。
#
nqa template icmp t1
#
server-farm sf1
predictor hash address source
selected-server min 1 max 1
probe t1
#
real-server rs1
ip address 192.168.1.1
server-farm sf
#
real-server rs2
ip address 192.168.1.2
priority 8
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
priority 1
server-farm sf1
#
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访问服务器的流量会在三台服务器之间负载分担。
图56 HTTP卸载组网图
为了实现HTTPS卸载功能,需要在LB设备上完成如下配置:
· 将CA证书和设备证书导入到LB设备,并在LB设备上创建SSL策略。
· 配置实服务组、实服务器和虚服务。
· 客户端HTTPS访问server端HTTP服务器,可成功访问。
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
· SSL加载策略无法和虚服务器进行联动,当修改SSL策略后,需对服务器重新进行使能操作才可以使配置生效。
以下验证过程均在LB设备上进行。
在导航栏中选择“网络>接口>链路聚合”,进入链路聚合页面。
单击<新建>,添加聚合类型为三层聚合,聚合组编号为1,选择成员端口,如下图所示。
图57 添加三层聚合口
在导航栏中选择“网络>接口>接口”,进入接口页面。
单击创建子接口,选择接口为RAGG1,子接口编号为10,如下图所示。
图58 创建子接口
子接口创建后,在接口列表内该子接口右侧点击编辑按钮,修改接口设置,修改IP地址/掩码为10.0.0.1掩码255.255.255.0,VLAN终结设置Dot1q终结,方式为精确终结,值为10。
图59 修改接口设置
图60 修改IP地址/掩码
图61 VLAN终结设置
重复上述步骤创建子接口,选择接口为RAGG1,子接口编号为20,子接口创建后,在接口列表内该子接口右侧点击编辑按钮,修改接口设置,修改IP地址/掩码为192.168.1.254掩码255.255.255.0,VLAN终结设置Dot1q终结,方式为精确终结,值为20。
在导航栏中选择“对象>PKI>证书”,进入证书页面。
单击<新建>PKI域,添加域名称为ca,禁止CRL检查,如下图所示。
图62 添加PKI域
点击<确定>,完成操作。
选中ca,点击<导入证书>按钮,如下图所示。
图63 导入证书
证书类型选择CA证书,点击<选择文件>按钮,选择certnew.cer文件,如下图所示。
图64 导入CA证书
点击<确定>,完成操作。
证书类型选择本地证书,点击<选择文件>按钮,选择local.pfx文件,输入证书口令(默认为1),如下图所示。
图65 导入本地证书
点击<确定>,完成操作。
在导航栏中选择“对象>SSL>服务器端策略”,进入SSL页面。
单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,RC2和RC4的算法剔除,如下图所示。
图66 添加SSL服务器端策略
点击<确定>,完成操作。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图67 添加健康检测模板
创建实服务组sf1,采用的调度算法为源IP地址的hash算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图68 添加实服务组
单击<确定>按钮,完成操作。
创建实服务器rs1,配置其IPv4地址为192.168.1.1、实服务器端口为80、权值为150,并加入实服务组sf1。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,权值设置为150,实服务组选择sf1,如下图所示。
图69 添加实服务器信息
单击<确定>按钮,完成操作。
策略>应用负载均衡>实服务器,单击<新建>按钮,参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80、权值为120,并加入实服务组sf1。
策略>应用负载均衡>实服务器,单击<新建>按钮,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80、权值为90,并加入实服务组sf1。
创建HTTP类型的虚服务器vs,配置其VSIP为61.159.4.100,指定其默认实服务组为sf,端口号为443,引用ssl策略ssl。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用ssl服务端策略ssl,并开启虚服务,如下图所示。
图70 新建虚服务器
点击<确定>,完成操作。
#
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 10.0.0.1 255.255.255.0
vlan-type dot1q vid 10
#
interface Route-Aggregation1.20
ip address 192.168.1.100 255.255.255.0
vlan-type dot1q vid 20
#
nqa template icmp t1
#
pki domain ca
undo crl check enable
ciphersuite rsa_aes_128_cbc_sha rsa_des_cbc_sha rsa_3des_ede_cbc_sha rsa_aes_256_cbc_sha exp_rsa_des_cbc_sha dhe_rsa_aes_128_cbc_sha he_rsa_aes_256_cbc_sha
#
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
#
server-farm sf1
predictor hash address source
probe t1
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
port 80
weight 150
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
port 80
weight 120
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
port 80
weight 80
server-farm sf1
#
virtual-server vs type http
virtual ip address 61.159.4.100
port 443
default server-farm sf1
ssl-server-policy ssl
service enable
LB对server端回应报文进行压缩,client端需携带Accept-Encoding。
图71 HTTP压缩组网图
为实现HTTP压缩功能,需要在LB设备上完成如下配置:
· 配置带压缩参数的参数模板
· 配置实服务组、实服务器、虚服务
· Server端回复的大文件在客户端文件被压缩
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
注意测试仪中添加Accept-Encoding: gzip,deflate
以下验证过程在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>按钮,添加健康模板名称为t1,类型为HTTP的健康检测模板,URL为http://192.168.1.1/index.html,如下图所示。
图72 添加健康检测模板
单击<确定>按钮,完成操作。
按照上图步骤创建HTTP类型健康检测t2、t3,URL分别为http://192.168.1.2/index.html、http://192.168.1.3/index.html
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1、t2、t3的实服务组,且成功条件为至少1个检测通过,如下图所示。
图73 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图74 添加实服务器信息
单击<确定>按钮,完成操作。
策略>应用负载均衡>实服务>,单击<新建>按钮,参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2,并加入实服务组sf1。
策略>应用负载均衡>实服务>,单击<新建>按钮,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3,并加入实服务组sf1。
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面。
单击<新建>,添加参数模板名称为pp1,类型选择HTTP-Compress,如下图所示。
图75 添加参数模板信息
单击<确定>,完成操作。
创建HTTP类型的虚服务器vs1,配置其VSIP为61.159.4.100,应用参数模板pp1,并开启虚服务。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>按钮,添加虚服务器名称为vs1,类型选择HTTP,应用参数模板pp1,并开启虚服务,如下图所示。
图76 新建虚服务器
点击<确定>,完成操作。
#
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
content length-threshold 200
request-version all
undo header delete request accept-encoding
#
server-farm sf1
predictor hash address source
probe t1
probe t2
probe t3
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
server-farm sf1
#
virtual-server vs1 type http
virtual ip address 61.159.4.100
parameter http-compression pp1
default server-farm sf1
service enable
实现IPv4和IPv6的网络互通,用IPv4的地址访问IPv6的服务器,或者用IPv6的地址访问IPv4的服务器
图77 NAT64配置组网图
为实现NAT64功能,需要在LB设备上完成如下配置:
· 配置接口地址、实服务组、实服务器、虚服务、源地址池
· 客户端IPv4地址访问server端IPv6地址服务器
· 客户端IPv6地址访问server端IPv4地址服务器
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· 虚服务器地址与snat-pool的匹配
· NAT 64只支持HTTP类型虚服务
在导航栏中选择“网络>接口>链路聚合”,进入链路聚合页面。
单击<新建>按钮,添加聚合类型为三层聚合,聚合组编号为1,选择成员端口,如下图所示。
图78 添加三层聚合口
在导航栏中选择“网络>接口>接口”,进入接口页面。
单击创建子接口,选择接口为RAGG1,子接口编号为10,如下图所示。
图79 创建子接口
子接口创建后,在接口列表内该子接口右侧点击<编辑>按钮,修改接口设置,修改IP地址/掩码为10.0.0.1掩码255.255.255.0,VLAN终结设置Dot1q终结,方式为精确终结,值为10。
图80 修改接口设置
图81 修改IP地址/掩码
图82 修改IPv6地址
图83 VLAN终结设置
重复上述步骤创建子接口,选择接口为RAGG1,子接口编号为20,子接口创建后,在接口列表内该子接口右侧点击编辑按钮,修改接口设置,修改IPv4地址/掩码为7.0.0.1掩码255.255.255.0,修改IPv6地址为7::1,前缀长度为64,VLAN终结设置Dot1q终结,方式为精确终结,值为20。
在导航栏中选择“对象>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat1,如下图所示。
图84 添加源IPv4地址池信息
单击<确定>,完成操作。
添加snat2步骤与snat1相同,snat2配置信息如下图所示。
图85 添加源IPv6地址池信息
(1) 创建ICMP类型的NQA模板t1。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图86 添加健康检测模板
单击<确定>按钮,完成操作。
(2) 创建实服务组sf1、sf2,并指定其健康检测方法为t1。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>按钮,添加实服务组名称为sf1、sf2分别绑定地址池snat1、snat2,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图87 添加实服务组sf1
图88 添加实服务组sf2
单击<确定>按钮,完成操作。
创建实服务器rs1,配置其IPv4地址为7.0.0.2,并加入实服务组sf1。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为7.0.0.2,实服务组选择sf1,如下图所示。
图89 添加实服务器信息
单击<确定>按钮,完成操作。
策略>应用负载均衡>实服务>,参照上图创建实服务器rs2,配置其IPv4地址为7.0.0.3,并加入实服务组sf1。
策略>应用负载均衡>实服务>,参照上图创建实服务器rs11,配置其IPv4地址为7::2,并加入实服务组sf2。
策略>应用负载均衡>实服务>,参照上图创建实服务器rs12,配置其IPv4地址为7::3,并加入实服务组sf2。
创建HTTP类型的虚服务器vs1,配置其VSIP为200::1,持续性组为sg2,并开启虚服务。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs1、vs2,分别设置虚服务器IP地址为200::1和61.159.4.100,并分别绑定实服务组sf1、sf2,类型选择HTTP,并开启虚服务,如下图所示。
图90 新建虚服务器vs1
图91 新建虚服务器vs2
点击<确定>,完成操作。
#
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 10.0.0.1 255.255.255.0
ipv6 address 300::1/64
vlan-type dot1q vid 10
#
interface Route-Aggregation1.20
ip address 7.0.0.1 255.255.255.0
ipv6 address 7::1/64
vlan-type dot1q vid 20
#
nqa template icmp t1
#
loadbalance snat-pool snat1
ipv6 range start 7::1 end 7::1
#
loadbalance snat-pool snat2
ip range start 7.0.0.1 end 7.0.0.1
#
server-farm sf1
snat-pool snat1
probe t1
success-criteria at-least 1
#
server-farm sf2
snat-pool snat2
probe t1
success-criteria at-least 1
#
real-server rs1
ip address 7.0.0.2
server-farm sf1
#
real-server rs11
ipv6 address 7::2
server-farm sf2
#
real-server rs12
ipv6 address 7::3
server-farm sf2
#
real-server rs2
ip address 7.0.0.3
server-farm sf1
#
virtual-server vs1 type http
virtual ipv6 address 200::1
default server-farm sf1
service enable
#
virtual-server vs2 type http
virtual ip address 61.159.4.100
default server-farm sf2
service enable
#
负载均衡连接复用功能,即负载均衡设备与服务器建立长连接,使多个客户端复用同一条与服务器的连接,以减少客户端与服务器之间打开的连接数,从而提高服务器的处理能力。
Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担,并减少客户端与服务器之间打开的连接数。
图92 LB设备负载均衡组网图
为了实现HTTP连接复用功能,需要在LB设备上完成如下配置:
· 建立http类型的参数模板,并使能服务器连接复用
· 在http类型的虚服务下应用该参数模板
· 大量Host多个连接访问server,TCP连接被复用
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 实服务组需要配置绑定源地址池
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
以下验证过程均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图93 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面
新建HTTP类型的参数模板名称为pp1,类型选择HTTP,并开启连接复用。
图94 新建参数模板
# 创建源地址池snat1。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat1,起始IP地址填入接口地址,结束IP地址填入接口地址,如下图所示。
图95 新建源地址池
# 创建实服务组sf,采用的调度算法为源IP地址的hash算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测选择t1,源地址池为snat1,如下图所示。
图96 新建实服务组
策略>应用负载均衡>实服务,添加实服务器rs1,IP地址为192.168.1.1,权值为150,服务组选择sf。点击<确定>
图97 新建实服务器
策略>应用负载均衡>实服务,参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2、权值为120,并加入实服务组sf。
策略>应用负载均衡>实服务>,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3、权值为90,并加入实服务组sf。
# 创建HTTP类型的虚服务器vs_test,配置其VSIP为61.159.4.100,指定其默认实服务组为sf,参数模板为pp1
策略>应用负载均衡>虚服务器,添加虚服务器名称为vs_test,http类型,配置虚服务IP为61.159.4.100,其默认实服务组为sf,开启虚服务,勾选“高级属性”并在Profile中选择刚才创建的http类型的profile:
图98 新建虚服务器
#
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 sf
predictor hash address source
snat-pool snat1
probe t1
success-criteria at-least 1
#
real-server rs1
ip address 192.168.1.1
weight 150
server-farm sf
#
real-server rs2
ip address 192.168.1.2
weight 120
server-farm sf
#
real-server rs3
ip address 192.168.1.3
weight 90
server-farm sf
#
virtual-server vs type http
virtual ip address 61.159.4.100
parameter http pp1
default server-farm sf
service enable
SLB部署SNAT业务情况下,服务器需要基于客户端的地址做数据统计,在客户端请求报文中插入值。
内网用户Host通过LB设备对3台服务器进行访问,公网内三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。要求Host访问流量进行源地址转换,且其中将访问url含关键字government的客户端地址透传给实服务器C,以便实服务器甄别客户端做进一步安全性处理;其它url流量在实服务器A和B之间负载分担。
图99 客户端源地址插入组网图
为了实现LB设备透传特定用户的客户端源地址,需要在LB设备上完成如下配置:
· 配置SNAT屏蔽客户端内网地址。
· 创建负载均衡策略,其中对于url包含government的访问请求,动作中设置插入新的header以便携带客户端源地址;其它url直接负载分担到实服务器。
本举例是在L5000-S的Version 7.1.064, Release 8120P12版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。
· 配置完虚服务后,需要开启虚服务。
· HTTP报文中的首部内容为1~255个字符的字符串,也可以使用以下特定含义的字符串,说明:%is:源IP地址或源IPv6地址。%ps:源端口号。%id:目的IP地址或目的IPv6地址。%pd:目的端口号。
以下验证过程均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图100 添加健康检测模板
单击<确定>按钮,完成操作。
# 创建源地池:在导航栏中选择“对象>全局配置>源地址池”,进入源地址池页面。
单击<新建>,源地址池名称snat1,配置起始地址和结束地址为接口同网段公网地址,点击<确定>。
图101 新建源地址池
# 创建实服务组sf,采用的调度算法为源IP地址哈希算法,选择源地址池snat1。
策略>应用负载均衡>实服务组,单击<新建>,添加实服务组名称为sf,调度算法为源IP地址哈希,健康性检测选择t1,源地址池选择snat1。
图102 新建实服务组sf
# 创建实服务组sf_gov,采用的调度算法为加权轮转,选择源地址池snat1。
策略>应用负载均衡>实服务组,添加实服务组sf_gov,调度算法选择加权轮转,点击<确定>。
图103 新建实服务组sf_gov
策略>应用负载均衡>实服务器,点击<新建>添加实服务器rs1,IP地址为192.168.1.1,权值为150,服务组选择sf。点击<确定>。
图104 新建实服务器
策略>应用负载均衡>实服务,参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2、权值为120,并加入实服务组sf。
策略>应用负载均衡>实服务,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3、权值为90,并加入实服务组sf_gov。
策略>资源管理>负载均衡>策略>流分类器,添加HTTP类型的流分类名称为lc1,识别访问请求中url含government关键字的用户。
图105 新建流量特征
# 添加HTTP类型的动作名称为la1,为转发到实服务组sf1并在客户端请求报文中插入名字为X-Forwarded-For值为客户端源地址的header。
策略>应用负载均衡>高级策略>动作,添加HTTP类型的动作名称为la1为转发到实服务组sf_gov,并在客户端请求报文中插入名字为X-Forwarded-For(此名称为举例,Header名称需要和现场服务器侧一致,)值为客户端源地址的header。
图106 新建动作
# 添加HTTP类型的动作名称为la2,为转发到实服务组sf
策略>应用负载均衡>高级策略>动作,添加HTTP类型的动作名称为la2为转发到实服务组sf:
图107 新建动作
# 创建HTTP类型的负载均衡策略lp,配置默认动作为la2,流分类为lc1的动作为为la1。
策略>应用负载均衡>高级策略>负载均衡策略,添加HTTP类型的策略名称为lp,默认动作为la2,新建规则流量特征为lc1动作为la1:
图108 新建负载均衡策略
# 创建HTTP类型的虚服务器vs_test,配置其VSIP为61.159.4.100,引用负载均衡策略lp
策略>应用负载均衡>虚服务器>添加虚服务器vs_test:http类型,配置虚服务IP为61.159.4.100,使能虚服务,勾选“高级属性”并在负载均衡策略中选择lp:
图109 新建虚服务器
#
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
#
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
weight 150
server-farm sf_gov
#
real-server rs2
ip address 192.168.1.2
weight 120
server-farm sf
#
real-server rs3
ip address 192.168.1.3
weight 80
server-farm sf
#
virtual-server vs_test type http
virtual ip address 61.159.4.100
lb-policy lp
service enable
根据请求中的url分类,将http请求重定向为https请求,或者将https请求重定向为http请求。
Host通过LB设备对3台服务器进行访问。负载均衡服务器上配置http协议和https协议。
三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。
针对如下url,要求配置http请求自动重定向到https请求。
原请求路径 |
重定向路径 |
http://*.122.gov.cn/login |
https://*.122.gov.cn/login |
针对如下url,要求配置https请求自动重定向到http请求。
原请求路径 |
重定向路径 |
https://*.122.gov.cn/map/index.html |
http://*.122.gov.cn/map/index.html |
图110 LB设备基于URL重定向组网图
为了实现基于url的策略重定向功能,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、负载均衡策略。
· 将CA证书和设备证书导入到LB设备,并在LB设备上创建SSL策略。
· 配置虚服务,并在虚服务下应用策略。
· 根据请求中的url分类,将http请求重定向为https请求,或者将https请求重定向为http请求
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 相应的实服务器使用端口号为80。
· 配置完虚服务后,需要开启虚服务。
以下验证过程均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图111 添加健康检测模板
创建实服务组sf1,采用的调度算法为源IP地址的hash算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图112 添加实服务组
单击<确定>按钮,完成操作。
创建实服务器rs1,配置其IPv4地址为192.168.1.1、实服务器端口为80、权值为150,并加入实服务组sf1。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,权值设置为150,实服务组选择sf1,如下图所示。
图113 添加实服务器信息
单击<确定>按钮,完成操作。
策略>应用负载均衡>实服务,参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80、权值为120,并加入实服务组sf1。
策略>应用负载均衡>实服务,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80、权值为90,并加入实服务组sf1。
匹配http://*.122.gov.cn/user/m/login等URL中带有/login关键字的HTTP请求流量
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为c_http,新建规格match ID为1,类型为URL,URL为/login。
图114 新建流量特征c_http
图115 流量特征c_http配置参数显示
匹配https://*.122.gov.cn/views/map.html等URL中带有/map关键字的HTTP请求流量
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为c_https,新建规格match ID为1,类型为URL,URL为/map。
图116 新建流量特征c_https
图117 流量特征c_http配置参数显示
将http请求报文重定向为https请求报文的动作la_http_to_https。
策略>应用负载均衡>高级策略>动作,新建动作名称为la_http_to_https,类型为HTTP重定向,重定向URL为https://%h%p。
图118 新建动作
将https请求报文重定向为http请求报文的动作la_https_to_http。
策略>应用负载均衡>高级策略>动作,新建动作名称为la_https_to_http,类型为HTTP重定向,重定向URL为http://%h%p。
图119 新建动作
将上述流分类和动作关联实现如下功能:
(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
图120 新建负载均衡策略
策略>应用负载均衡>高级策略>负载均衡策略,新建:名称为https_tobe_http,类型为HTTP,新建规则流量特征为c_https,动作为la_https_to_http。
在导航栏中选择“对象>PKI>证书”,进入证书页面。
单击<新建>PKI域,添加域名称为ca,禁止CRL检查,如下图所示。
图121 添加PKI域
点击<确定>,完成操作。
选中ca,点击<导入证书>按钮,如下图所示。
图122 导入证书
证书类型选择CA证书,点击<选择文件>按钮,选择certnew.cer文件,如下图所示。
图123 导入CA证书
点击<确定>,完成操作。
证书类型选择本地证书,点击<选择文件>按钮,选择local.pfx文件,输入证书口令(默认为1),如下图所示。
图124 导入本地证书
点击<确定>,完成操作。
在导航栏中选择“对象>SSL>服务器端策略”,进入SSL页面。
单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,RC2和RC4的算法剔除,如下图所示。
图125 添加SSL服务器端策略
点击<确定>,完成操作。
#配置两个虚服务,分别响应HTTP请求报文和HTTPS请求报文
策略>应用负载均衡>虚服务器,新建虚服务器:名称为https,类型为HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf,端口号为443,引用ssl服务端策略ssl,绑定负载均衡策略https_tobe_http,并开启虚服务,点击<确定>。
图126 新建虚服务器https
策略>应用负载均衡>虚服务器,新建虚服务器:名称为http,类型为HTTP,配置虚服务IP为61.159.4.100,其默认实服务组为sf,端口号为80,并开启虚服务,负载均衡策略为http_tobe_https,点击<确定>。
图127 新建虚服务器http
输入:http://61.159.4.100/login/index.html回车之后将会重定向为https://61.159.4.100/login/index.html。
输入:https://61.159.4.100/map/index.html回车之后将会重定向为http://61.159.4.100/login/index.html。
#
nqa template icmp t1
#
pki domain ca
undo crl check enable
ciphersuite rsa_aes_128_cbc_sha rsa_des_cbc_sha rsa_3des_ede_cbc_sha rsa_aes_256_cbc_sha exp_rsa_des_cbc_sha dhe_rsa_aes_128_cbc_sha he_rsa_aes_256_cbc_sha
#
pki entity ca
#
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
#
server-farm sf
predictor hash address source
probe t1
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
port 80
weight 150
server-farm sf
#
real-server rs2
ip address 192.168.1.2
port 80
weight 120
server-farm sf
#
real-server rs3
ip address 192.168.1.3
port 80
weight 90
server-farm sf
#
virtual-server http type http
virtual ip address 61.159.4.100
lb-policy http_tobe_https
default server-farm sf
service enable
#
virtual-server https type http
port 443
virtual ip address 61.159.4.100
lb-policy https_tobe_http
default server-farm sf
ssl-server-policy ssl
service enable
将实服务器返回的重定向报文中的location内容修改成指定内容。
Host通过LB设备对3台服务器进行访问。三台服务器Server A、Server B和Server C均可提供HTTP服务,服务端口为8080。Host访问服务器的流量会在三台服务器之间负载分担。LB设备向用户提供的端口为80。
实服务器上配置有重定向功能:用户url为【/test1】时重定向的地址为【服务器IP+服务器端口】、用户url为【/test2】时重定向的地址为【虚服务IP+服务器端口】、用户url为【/test3】时重定向的地址为【域名+服务器端口】。LB设备需要将这些重定向报文修改成【虚服务IP+虚服务端口】发给用户。
用户的请求和回应有如下对应关系:
用户请求 |
RealServer回应 |
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 |
对于RealServer回应的重定向报文有如下转换:
原重定向报文 |
修改后的重定向报文 |
location:http://RS_IP:8080/ |
location:http://VIP/ |
location:http://VIP:8080/ |
location:http://VIP/ |
location:http://HOST:8080/ |
location:http://VIP/ |
图128 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报文。
RS上如何配置重定向在此举例中忽略。
为了修改实服务器返回的重定向报文中的location,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器。
· 配置负载均衡策略,区分含有test1、test2或者test3的URL,与不携带这些字符串的URL;利用动作来修改RS回应的重定向报文中的location。
· 配置虚服务,并在虚服务下应用策略。
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· 确保Host到LB设备的虚服务路由可达。
· 相应的实服务器使用端口号为8080。
· 配置完虚服务后,需要开启虚服务。
以下验证过程均在LB设备上进行。
因为采用测试仪作为客户端和RS,无法设置RS区分情况来回应重定向或200 OK报文。为保证用户采用http://VIP/访问时能正常得到回应,此例中为其多设置一个RS专门用于回应200 OK报文。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加模板名称为t1,类型为ICMP的健康检测模板,如下图所示。
图129 添加健康检测模板t1
创建实服务组sf1,采用的调度算法为源IP地址的hash算法。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图130 添加实服务组
单击<确定>按钮,完成操作。
再以同样方法添加实服务组sf2,用于客户端根据重定向内容重新发起请求的分配。
图131 创建实服务组
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,权值设置为150,实服务组选择sf1,如下图所示。
图132 新建实服务器
单击<确定>按钮,完成操作。
创建rs2、rs11与rs12步骤相同。
# 创建实服务器rs1,配置其IPv4地址为192.168.1.1,并加入实服务组sf1。
# 创建实服务器rs2,配置其IPv4地址为192.168.1.2,并加入实服务组sf1。
# 创建实服务器rs11,配置其IPv4地址为192.168.1.11,并加入实服务组sf2。
# 创建实服务器rs12,配置其IPv4地址为192.168.1.12,并加入实服务组sf2。
重复上述步骤分别创建其它实服务器。
匹配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。
图133 新建流量特征
将用户URL中含test1、test2或者test3的请求报文发送给实服务组sf1。
策略>应用负载均衡>高级策略>动作,新建动作名称为la1,类型为HTTP,主用实服务组为sf1。
图134 新建动作
以及将实服务器回应的重定向报文中的location修改为http://VIP/。其中Header名称为location,Header值为“.*:8080(.*)”,替换成的资源串为http://61.159.4.100%1。
将用户重新按照重定向内容发出的请求报文发送给实服务组sf2。
策略>应用负载均衡>高级策略>动作>新建:动作名称为la2,类型为HTTP,主用实服务组为sf2。
图135 新建动作
将上述流分类和动作关联实现如下功能:
策略lp1将匹配流分类lc1(即用户请求url中带有test1、test2或者test3)的请求报文,动作为la1(即发送给实服务组sf1,并将返回的重定向报文中的location改写为http://VIP/);其它不匹配流分类lc1的请求报文,动作为la2(即发送给实服务组sf2)。
策略>应用负载均衡>高级策略>负载均衡策略>新建:应用负载均衡策略名称为lp1,类型为HTTP,默认动作为la2,新建规则流量特征为lc1、动作为la1。
图136 新建策略
在导航栏中选择“策略>应用负载均衡>参数模板”,进入参数模板页面
新建HTTP类型的参数模板名称为pp1,类型选择HTTP,并开启逐请求负载均衡。
图137 新建参数模板
# 配置HTTP类型的虚服务VS,端口为80
策略>应用负载均衡>虚服务器,新建虚服务器名称为VS,类型为HTTP,IP为61.159.4.100,端口号为80,引用lb策略lp1,绑定参数模板pp1,并开启虚服务,点击<确定>。
图138 新建虚服务器
(1) 测试仪客户端以http://61.159.4.100/test1/index.html 访问LB设备,实服务器回应重定向报文,其中location为http://192.168.1.1:8080/,经过LB后返给客户端的重定向location为http://61.159.4.100/,客户端随即用该URL访问虚服务成功。
(2) 测试仪客户端以http://61.159.4.100/test2/index.html 访问LB设备,实服务器回应重定向报文,其中location为http://61.159.4.100:8080/,经过LB后返给客户端的重定向location为http://61.159.4.100/,客户端随即用该URL访问虚服务成功。
(3) 测试仪客户端以http://61.159.4.100/test3/index.html 访问LB设备,实服务器回应重定向报文,其中location为http://www.hello.com:8080/,经过LB后返给客户端的重定向location为http://61.159.4.100/,客户端随即用该URL访问虚服务成功。
#
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
Client通过LB设备对两台服务器进行访问,两台服务器均可提供HTTP服务,可对HTTP的header进行插入、重写、删除操作。
图139 HTTP的header插入、重写、删除组网图
为实现HTTP的header插入、重写、删除功能,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务、策略。
· LB设备可以对HTTP的header进行插入、重写、删除的操作
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· Client端与LB的路由配置,使之路由可达。
· Server端和LB的路由配置,使之路由可达。
· Action中需要引用实服务组。
· 配置完虚服务后,需要开启虚服务。
以下配置均在LB设备上进行。测试仪配置不在此文档详细描述。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,URL为http://192.168.1.1/index.html,如下图所示。
图140 添加健康检测模板
单击<确定>按钮,完成操作。
按照上图步骤创建HTTP类型健康检测t2、t3,URL分别为http://192.168.1.2/index.html、http://192.168.1.3/index.html
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1、t2、t3的实服务组,且成功条件为至少1个检测通过,如下图所示。
图141 添加实服务组
单击<确定>按钮,完成操作。
创建实服务器rs1,配置其IPv4地址为192.168.1.1、权值为150,并加入实服务组sf。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,权值设置为150,实服务组选择sf1,如下图所示。
图142 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同。
# 创建实服务器rs2,配置其IPv4地址为192.168.1.2,并加入实服务组sf1。
# 创建实服务器rs3,配置其IPv4地址为192.168.1.3,并加入实服务组sf1。
重复上述步骤分别创建其它实服务器。
匹配URL中带有test关键字的HTTP请求流量
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为lc1,类型为HTTP,新建匹配规则Match ID为1、类型为URL、URL为test。
图143 新建流量特征
策略>应用负载均衡>高级策略>动作,新建动作名称为la1,类型为HTTP,主用实服务器为sf1。
图144 新建动作
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。
图145 新建负载均衡策略
# 配置HTTP类型的虚服务vs,端口为80
策略>应用负载均衡>虚服务器,新建虚服务名称为vs,类型HTTP,IP为61.159.4.100,端口号为80,引用lb策略lp1,并开启虚服务,点击<确定>。
图146 新建虚服务器
查看测试仪抓包信息
(1) inser request报文-client
(2) inser request报文-server
(3) inser response报文-server
(4) inser response报文-client
(1) rewrite request报文-client
(2) rewrite request报文-server
测试仪clinet端抓包,相对于server端,应答方向的HTTP报文中header中的内容content-type被删除。
测试仪的server端,response方向的HTTP报文抓包情况,如下:
(1) delete response报文-server
测试仪的client端,response方向的HTTP报文抓包情况,如下:
(2) delete respons报文-client
#
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
match 1 url /test
#
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
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
server-farm sf1
#
virtual-server vs1 type http
virtual ip address 61.159.4.100
lb-policy lp1
service enable
#
Client通过LB设备对两台服务器进行访问,两台服务器均可提供HTTP服务,可对HTTP的cookie进行插入、重写、截取操作。
insert表示持续性方法为Cookie插入,即在服务器发送的HTTP应答报文中插入Set-Cookie字段用于持续性处理。
rewrite表示持续性方法为Cookie重写,即改写服务器发送的HTTP应答报文所携带的Set-Cookie字段用于持续性处理。
get表示持续性方法为Cookie截取,即在服务器发送的HTTP应答报文中截取Set-Cookie字段用于持续性处理。
图147 HTTP的cookie插入、重写、截取组网图
为实现HTTP的cookie插入、重写、截取功能,需要在LB设备上完成如下配置:
· 配置实服务组、实服务器、虚服务、持续性组。
· LB设备可以对HTTP的cookie进行插入、重写、截取的操作,并可通过持续性的处理,来控制业务分配给具体的服务器。
本举例是在L5000-S的Version 7.1.064,Release 8120P12版本上进行配置和验证的。
· Client端与LB的路由配置,使之路由可达。
· Server端和LB的路由配置,使之路由可达。
· 虚服务中需要引用持续性组
· 配置完虚服务后,需要开启虚服务。
以下配置均在LB设备上进行。测试仪配置不在此文档详细描述。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,URL为http://192.168.1.1/index.html,如下图所示。
图148 添加健康检测模板
单击<确定>按钮,完成操作。
按照上图步骤创建HTTP类型健康检测t2、t3,URL分别为http://192.168.1.2/index.html、http://192.168.1.3/index.html
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1、t2、t3的实服务组,且成功条件为至少1个检测通过,如下图所示。
图149 添加实服务组
单击<确定>按钮,完成操作。
创建实服务器rs1,配置其IPv4地址为192.168.1.1、权值为150,并加入实服务组sf1。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击按钮,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,权值设置为150,实服务组选择sf1,如下图所示。
图150 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同。
# 创建实服务器rs2,配置其IPv4地址为192.168.1.2,并加入实服务组sf1。
# 创建实服务器rs3,配置其IPv4地址为192.168.1.3,并加入实服务组sf1。
策略>全局配置>持续性组>新建:持续性组名称为cookie1,类型为HTTP-Cookie,Cookie持续性方法为Cookie插入,Cookie名称为z1111111cookie-insert1111111111111111end。
图151 新建持续性组cookie1
策略>全局配置>持续性组,新建持续性组名称为cookie2,类型为HTTP-Cookie,Cookie持续性方法为Cookie重写,Cookie名称为h3c-rewrite。
图152 新建持续性组cookie2
策略>全局配置>持续性组,新建持续性组名称为cookie3,类型为HTTP-Cookie,Cookie持续性方法为Cookie截取,Cookie名称为cookie3_get。
图153 新建持续性组cookie3
匹配URL中带有test关键字的HTTP请求流量
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为lc1,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test1。
图154 新建流量特征
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为lc2,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test2。
策略>应用负载均衡>高级策略>流量特征,新建流量特征名称为lc3,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test3。
策略>应用负载均衡>高级策略>动作,新建动作名称为la1,类型为HTTP,主用实服务组为sf1,持续性组为cookie1。
图155 新建动作la1
策略>应用负载均衡>高级策略>动作,新建动作名称为la2,类型为HTTP,主用实服务组为sf1,持续性组为cookie2。
策略>应用负载均衡>高级策略>动作,新建动作名称为la3,类型为HTTP,主用实服务组为sf1,持续性组为cookie3
点击<确定>,创建动作。
将上述流分类和动作关联实现如下功能:
策略lp1将匹配流分类lc1(即用户请求url中带有test)的请求报文,动作为la1(即发送给实服务组sf1),并将处理http头部。
策略>应用负载均衡>高级策略>负载均衡策略,新建负载均衡策略名称为lp1,类型为HTTP,新建规则流量特征为lc1、动作为la1,新建规则流量特征为lc2、动作为la2,新建规则流量特征为lc3、动作为la3。
图156 新建负载均衡策略
#配置HTTP类型的虚服务,端口为80
策略>应用负载均衡>虚服务器,新建虚服务器名称为vs,类型为HTTP,IP为61.159.4.100,端口号为80,引用lb策略lp1,并开启虚服务,,点击<确定>。
图157 新建虚服务器
可在验证前先清理实服务和虚服务的统计数据,免得干扰判断,清理后,再打流量,进行验证。
监控>应用负载统计>虚服务器统计,点击<清除>。
监控>应用负载统计>实服务器统计,点击<清除>。
查看测试仪抓包信息
测试仪client端抓包,相对于server端,应答方向的HTTP报文中cookie内容被插入(被LB设备插入cookie为Set-Cookie: z1111111cookie-insert1111111111111111end=1.2.7.14b58b2)。
(1) 测试仪的server端,response方向的HTTP报文抓包情况,如下:
(2) 测试仪的client端,response方向的HTTP报文抓包情况,如下:
持续性验证:第一次打流量,LB返回client端一个cookie值,在第二次请求中携带插入的cookie值,然后打流量,验证持续性生效,所有的请求分配给了同一个实服务。
查看测试仪抓包信息
测试仪client端抓包,相对于server端,应答方向的HTTP报文中cookie内容被重写(由123456;path=/被LB设备重写为1.5.a.14b58b2)。
(1) 测试仪的server端,response方向的HTTP报文抓包情况,如下:
(2) 测试仪的client端,response方向的HTTP报文抓包情况,如下:
持续性验证:验证持续性生效,所有的请求分配给了同一个实服务。
查看测试仪抓包信息
报文中可以看出cookie没有变化,此处不详细介绍。
持续性验证:在请求中携带cookie值,验证持续性生效,所有的请求分配给了同一个实服务。
#
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
check all-packet
#
sticky-group cookie2 type http-cookie
cookie rewrite name h3c-rewrite
check all-packet
#
sticky-group cookie3 type http-cookie
cookie get name cookie1_get
check all-packet
#
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
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
server-farm sf1
#
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请求报文均匀地分布在不同的radius服务器上。同时需保证同一用户名的认证报文发送至同一台认证服务器上;
图158 LB支持Radius配置组网图
为实现radius的七层应用负载均衡,需要在LB设备上完成如下配置:
· LB设备上配置实服务组、实服务器、虚服务。
本举例是在L1000-AK320的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
配置路由,保证BRAS、Switch、LB device之间路由可达。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>源地址池”,进入源地址池页面。
单击<新建>,添加源地址池名称为snat_2.2.2.2,起始IP地址是2.2.2.2,结束IP地址是2.2.2.2,如下图所示。
图159 创建源地址池
点击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf,调度算法为加权轮转,引用源地址池snat_2.2.2.2,如下图所示。
图160 添加实服务组
点击<确定>,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务组选择sf,如下图所示。
图161 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同,rs2的IP地址为192.168.1.2,rs3的IP地址为192.168.1.3,均引用实服务组sf。
在导航栏中选择“策略>全局配置>持续性组”,进入持续性组页面。
单击<新建>,添加持续组名称为sg_rad,类型为radius,持续性方法:user-name。目前不支持在web界面创建radius类型的持续性组,命令行创建如下:
[sysname]sticky-group sg_rad type radius
[sysname-sticky-radius-sg_rad]radius-attribute user-name
[sysname-sticky-radius-sg_rad]timeout 604800
在导航栏中选择“策略>应用负载均衡>高级策略>流量特征”,进入流量特征页面。
单击<新建>,添加流量特征名称为lc_rad,类型选择radius,匹配方式为匹配所有规则,匹配用户名中含有test关键字的用户名。目前不支持在web界面创建radius类型的负载均衡类,命令行创建如下:
[sysname]loadbalance class lc_rad type radius
[sysname-lbc-radius-cl]match 1 radius-attribute code 1 value test
[sysname-lbc-radius-cl]quit
在导航栏中选择“策略>应用负载均衡>高级策略>动作”,进入动作页面。
单击<新建>,添加动作名称为la_rad,类型选择radius,主用实服务组sf,持续性组为sg_rad,如下图所示。目前不支持在web界面创建radius类型的负载均衡动作,命令行创建如下:
[sysname]loadbalance action la_rad type radius
[sysname-lba-radius-la_rad]server-farm sf sticky sg_rad
在导航栏中选择“策略>应用负载均衡>高级策略>负载均衡策略”,进入负载均衡策略页面。
单击<新建>,添加策略名称为lp_rad,类型选择radius,规则点击<新建>,流量特征选择lc_rad,动作选择la_rad,点击<确定>。再次点击<新建>,流量特征选择lc2,动作选择la2,点击<确定>。默认动作选择la3,如下图所示。(目前web不支持创建radius类型的,命令行创建如下:)
[sysname]loadbalance policy lp_rad type radius
[sysname-lbp-radius-lp_rad]class lc_rad action la_rad
[sysname-lbp-radius-lp_rad]quit
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs_rad,类型选择radius,61.159.4.100/32,开启虚服务功能,负载均衡策略为lp1。(目前web不支持创建radius类型的,命令行创建如下:)
[sysname]virtual-server vs_rad type radius
[sysname-vs-radius-vs_rad]vir ip add 61.159.4.100
[sysname-vs-radius-vs_rad]lb-policy lp_rad
[sysname-vs-radius-vs_rad]udp per-packet
[sysname-vs-radius-vs_rad]service enable
NAS Client向LB设备发送radius认证请求计费报文,报文经由LB设备做负载均衡处理分发给后端的radius服务器处理,同时生成持续性表项;
<L1000-AK320>dis 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: 604800
Sticky entry Real server Expired time Count
--------------------------------------------------------------------------------
test441 192.168.1.3/0 604799 0
8bfc4dc0a77d48610c711c49c95cd7ea
test60 192.168.1.1/0 604799 0
187cea2f627b284cd2c47288a0eaab96
test496 192.168.1.3/0 604799 0
89ee2f419c8b3b1b10dc77c66406b659
test305 192.168.1.1/0 604799 0
fc494320a93fbc305116923de80312f7
test827 192.168.1.2/0 604800 0
624a9fefde2f75d01a64a5c14fcc721b
test669 192.168.1.2/0 604800 0
61f08c826f0e8f453a5e15a38a83ee6a
test808 192.168.1.2/0 604800 0
70c59d6799c7b6d25d7711201af66f06
test589 192.168.1.1/0 604800 0
c4f01b0b44aac11d25f670ac34d92140
test376 192.168.1.2/0 604799 0
… …
#
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 604800
#
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
udp per-packet
service enable
#
虚服务器统计:
实服务器组统计信息:
实服务器统计信息:
实服务器组状态:
实服务器状态:
三台服务器Server A、Server B和Server C均可提供FTP服务,且这三台服务器的硬件配置顺次降低。通过配置应用负载均衡,在考虑硬件性能的前提下让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。
图162 四层SLB双机热备组网图
· 两台L1000-AK320堆叠配置,与交换机相连的接口进行冗余配置。
· LB设备上配置实服务组、实服务器、虚服务。
本举例是在L1000-AK310的Version 7.1.064,Release 8117P12版本上进行配置和验证的。
· 入方向交换机配置二层透传,入方向网关在LB上,Host到LB路由可达,出方向交换机配置二层透传,LB到server路由可达,server到LB路由可达,网关在LB上。
· LB设备与交换机直连的接口均配置成冗余口,LB上入方向配置冗余子接口,交换机与LB直连的接口配置成二层trunk口,放行与LB出入口相一致的vlan。
以下配置均在LB设备上进行。
在导航栏中选择“策略>全局配置>健康检测”,进入健康检测模板页面。
单击<新建>,添加名称为t1、类型为ICMP的健康检测模板,如下图所示。
图163 添加健康检测模板
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务组”,进入实服务组页面。
单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。
图164 添加实服务组
单击<确定>按钮,完成操作。
在导航栏中选择“策略>应用负载均衡>实服务器”,进入实服务器页面。
单击<新建>,添加实服务器名称为rs1,IP地址为192.168.1.1,实服务组选择sf1,如下图所示。
图165 添加实服务器信息
单击<确定>按钮,完成操作。
创建rs2、rs3与rs1步骤相同,rs2 IP地址为192.168.1.2,实服务组选择sf1;rs3 IP地址为192.168.1.3,实服务组选择sf1。
在导航栏中选择“策略>应用负载均衡>虚服务器”,进入虚服务器页面。
单击<新建>,添加虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用实服务组sf1,并开启虚服务,如下图所示。
图166 新建虚服务器
点击<确定>,完成操作。
在导航栏中选择“系统>高可靠性>双机热备”,进入双机热备页面,勾选备份会话表,如下图所示。
在导航栏中选择“系统>虚拟化>IRF”,点击<配置>,进入IRF配置界面。将用于堆叠的接口添加进去,堆叠成员ID是1的作为主设备,优先级设置为32。
点击<确定>,完成操作。
堆叠成员ID为2的设备,优先级为1,将用于堆叠的接口添加进去,同上述步骤,配置参数如下图所示。
在导航栏中选择“系统>高可靠性>双机热备”,点击“冗余组”,进入冗余配置界面。
现在web还在优化,默认主备优先级,主是1,备是2,后面“冗余口冗余组”项目正在优化,后面再修改这部分web的配置。
点击<确定>,完成操作。
当down掉冗余主接口时,再次查看冗余状态:
#
irf-port 1/1
port group interface GigabitEthernet1/0/1
#
irf-port 2/2
port group interface GigabitEthernet2/0/1
#
interface Reth1
member interface GigabitEthernet1/0/2 priority 100
member interface GigabitEthernet2/0/2 priority 50
#
redundancy group 1
member interface Reth1
node 1
bind slot 1
priority 100(web界面现在是不能进行配置的,有需求跟踪“冗余口冗余组分离”)
track 1 interface GigabitEthernet1/0/2
node 2
bind slot 2
priority 50
track 2 interface GigabitEthernet2/0/2
#
session synchronization enable
#
server-farm sf1
predictor hash address source
probe t1
#
real-server rs1
ip address 192.168.1.1
server-farm sf1
#
real-server rs2
ip address 192.168.1.2
server-farm sf1
#
real-server rs3
ip address 192.168.1.3
server-farm sf1
#
virtual-server vs type http
virtual ip address 61.159.4.100
default server-farm sf1
service enable
#
track 1 interface GigabitEthernet1/0/2
track 2 interface GigabitEthernet2/0/2
#
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!