• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

H3C SecPath [L100][L1000][L5000][ADE插卡]应用交付安全网关 典型配置案例集-6W605

02-应用负载均衡典型配置举例

本章节下载 02-应用负载均衡典型配置举例  (16.04 MB)

02-应用负载均衡典型配置举例

应用负载均衡配置举例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文档中的信息可能变动,恕不另行通知。


目  录

1 简介

2 配置前提

3 应用负载均衡功能特性

4 四层应用负载均衡配置举例

4.1 SNAT应用场景应用负载均衡

4.1.1 组网需求

4.1.2 配置思路

4.1.3 使用版本

4.1.4 配置注意事项

4.1.5 配置步骤

4.1.6 验证配置

4.1.7 配置文件

4.2 SNAT应用场景应用负载均衡(虚IP与客户端地址同网段)

4.2.1 组网需求

4.2.2 配置思路

4.2.3 使用版本

4.2.4 配置注意事项

4.2.5 配置步骤

4.2.6 验证配置

4.2.7 配置文件

4.3 基于源地址应用负载均衡

4.3.1 组网需求

4.3.2 配置思路

4.3.3 使用版本

4.3.4 配置注意事项

4.3.5 配置步骤

4.3.6 验证配置

4.3.7 配置文件

4.4 三角传输

4.4.1 组网需求

4.4.2 配置思路

4.4.3 使用版本

4.4.4 配置注意事项

4.4.5 配置步骤

4.4.6 验证配置

4.4.7 配置文件

4.5 基于优先级调度应用负载均衡

4.5.1 组网需求

4.5.2 配置思路

4.5.3 使用版本

4.5.4 配置注意事项

4.5.5 配置步骤

4.5.6 验证配置

4.5.7 配置文件

4.6 四层应用负载均衡高可靠性举例

4.6.1 组网需求

4.6.2 配置思路

4.6.3 使用版本

4.6.4 配置注意事项

4.6.5 配置步骤

4.6.6 验证配置

4.6.7 track nqa(非必配,按需配置)

4.6.8 主设备配置文件

4.6.9 备设备配置文件

5 调度算法应用场景负载均衡配置举例

5.1 基于源地址哈希调度算法与源地址持续性共用的负载分担

5.1.1 组网需求

5.1.2 配置思路

5.1.3 使用版本

5.1.4 配置注意事项

5.1.5 配置步骤

5.1.6 验证配置

5.1.7 配置文件

5.2 基于最小连接调度算法与源地址持续性共用的负载分担

5.2.1 组网需求

5.2.2 配置思路

5.2.3 使用版本

5.2.4 配置注意事项

5.2.5 配置步骤

5.2.6 验证配置

5.2.7 配置文件

6 七层应用负载均衡配置举例

6.1 基于URL的七层负载

6.1.1 组网需求

6.1.2 配置思路

6.1.3 使用版本

6.1.4 配置注意事项

6.1.5 配置步骤

6.1.6 验证配置

6.1.7 配置文件

6.2 基于host的七层负载

6.2.1 组网需求

6.2.2 配置思路

6.2.3 使用版本

6.2.4 配置注意事项

6.2.5 配置步骤

6.2.6 验证配置

6.2.7 配置文件

6.3 基于优先级调度七层应用负载

6.3.1 组网需求

6.3.2 配置思路

6.3.3 使用版本

6.3.4 配置注意事项

6.3.5 配置步骤

6.3.6 验证配置

6.3.7 配置文件

6.4 客户端源地址插入

6.4.1 组网需求

6.4.2 配置思路

6.4.3 使用版本

6.4.4 配置注意事项

6.4.5 配置步骤

6.4.6 验证配置

6.4.7 配置文件

6.5 NAT66客户端源地址插入

6.5.1 组网需求

6.5.2 配置思路

6.5.3 使用版本

6.5.4 配置注意事项

6.5.5 配置步骤

6.5.6 验证配置

6.5.7 配置文件

6.6 基于URL的策略重定向

6.6.1 组网需求

6.6.2 配置思路

6.6.3 使用版本

6.6.4 配置注意事项

6.6.5 配置步骤

6.6.6 验证配置

6.6.7 配置文件

6.7 HTTP重定向内容的改写

6.7.1 组网需求

6.7.2 配置思路

6.7.3 使用版本

6.7.4 配置注意事项

6.7.5 配置步骤

6.7.6 验证配置

6.7.7 配置文件

6.8 HTTP的Header插入、重写、删除

6.8.1 组网需求

6.8.2 配置思路

6.8.3 使用版本

6.8.4 配置注意事项

6.8.5 配置步骤

6.8.6 验证配置

6.8.7 配置文件

6.9 HTTP的Cookie插入、重写、截取

6.9.1 组网需求

6.9.2 配置思路

6.9.3 使用版本

6.9.4 配置注意事项

6.9.5 配置步骤

6.9.6 验证配置

6.9.7 配置文件

6.10 SSL卸载

6.10.1 组网需求

6.10.2 配置思路

6.10.3 使用版本

6.10.4 配置注意事项

6.10.5 配置步骤

6.10.6 验证配置

6.10.7 配置文件

6.11 SSL客户端证书透传

6.11.1 组网需求

6.11.2 配置思路

6.11.3 使用版本

6.11.4 配置注意事项

6.11.5 配置步骤

6.11.6 验证配置

6.11.7 配置文件

6.12 SSL双向代理

6.12.1 组网需求

6.12.2 配置思路

6.12.3 使用版本

6.12.4 配置注意事项

6.12.5 配置步骤

6.12.6 验证配置

6.12.7 配置文件

6.13 SSL服务器端策略加载双证书

6.13.1 组网需求

6.13.2 配置思路

6.13.3 使用版本

6.13.4 配置注意事项

6.13.5 配置步骤

6.13.6 验证配置

6.13.7 配置文件

6.14 SSL根据SNI信息选取证书

6.14.1 组网需求

6.14.2 配置思路

6.14.3 使用版本

6.14.4 配置注意事项

6.14.5 配置步骤

6.14.6 验证配置

6.14.7 配置文件

6.15 连接复用

6.15.1 组网需求

6.15.2 配置思路

6.15.3 使用版本

6.15.4 配置注意事项

6.15.5 配置步骤

6.15.6 验证配置

6.15.7 配置文件

6.16 HTTP压缩

6.16.1 组网需求

6.16.2 配置思路

6.16.3 使用版本

6.16.4 配置步骤

6.16.5 验证配置

6.16.6 配置文件

6.17 LB支持Web Cache

6.17.1 组网需求

6.17.2 配置思路

6.17.3 使用版本

6.17.4 配置注意事项

6.17.5 配置步骤

6.17.6 验证配置

6.17.7 配置文件

6.18 WebSocket配置举例

6.18.1 组网需求

6.18.2 配置思路

6.18.3 使用版本

6.18.4 配置注意事项

6.18.5 配置步骤

6.18.6 验证配置

6.18.7 配置文件

6.19 家庭宽带认证AAA的RADIUS负载分担

6.19.1 组网需求

6.19.2 配置思路

6.19.3 使用版本

6.19.4 配置注意事项

6.19.5 配置步骤

6.19.6 验证配置

6.19.7 配置文件

6.20 SIP负载分担

6.20.1 组网需求

6.20.2 配置思路

6.20.3 使用版本

6.20.4 配置注意事项

6.20.5 配置步骤

6.20.6 验证配置

6.20.7 配置文件

6.21 MySQL负载均衡

6.21.1 组网需求

6.21.2 配置思路

6.21.3 使用版本

6.21.4 配置注意事项

6.21.5 配置步骤

6.21.6 验证配置

6.21.7 配置文件

6.22 TCP SPLIT负载分担

6.22.1 组网需求

6.22.2 配置思路

6.22.3 使用版本

6.22.4 配置注意事项

6.22.5 配置步骤

6.22.6 验证配置

6.22.7 配置文件

6.23 TCP源地址插入和TCP Option清除

6.23.1 组网需求

6.23.2 配置思路

6.23.3 使用版本

6.23.4 配置注意事项

6.23.5 配置步骤

6.23.6 验证配置

6.23.7 配置文件

7 NAT64负载均衡配置举例

7.1 NAT64负载分担【七层】

7.1.1 组网需求

7.1.2 配置思路

7.1.3 使用版本

7.1.4 配置注意事项

7.1.5 配置步骤

7.1.6 验证配置

7.1.7 配置文件

7.2 NAT64负载分担【四转七】

7.2.1 组网需求

7.2.2 配置思路

7.2.3 使用版本

7.2.4 配置注意事项

7.2.5 配置步骤

7.2.6 验证配置

7.2.7 配置文件

7.3 NAT64负载分担【四层AFT IPv4--IPv6】

7.3.1 组网需求

7.3.2 配置思路

7.3.3 使用版本

7.3.4 配置注意事项

7.3.5 配置步骤

7.3.6 验证配置

7.3.7 配置文件

7.4 NAT64负载分担【四层AFT ipv6--ipv4】

7.4.1 组网需求

7.4.2 配置思路

7.4.3 使用版本

7.4.4 配置注意事项

7.4.5 配置步骤

7.4.6 验证配置

7.4.7 配置文件

8 连接数限制典型配置举例

8.1 组网需求

8.2 配置思路

8.3 使用版本

8.4 配置注意事项

8.5 配置步骤

8.6 验证配置

8.7 配置文件

9 LB支持IPS/AV/WAF深度报文检测典型配置案例

9.1 组网需求

9.2 配置思路

9.3 使用版本

9.4 配置注意事项

9.5 配置步骤

9.6 验证配置

9.7 配置文件

 


1 简介

本文档介绍4-7层应用负载均衡的配置案例。

2 配置前提

本文档不严格与具体软、硬件版本对应,如果使用过程中与产品实际情况有差异,请参考相关产品手册,或以设备实际情况为准。

本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。

本文档假设您已了解LB(Load Balance,负载均衡)特性。

3 应用负载均衡功能特性

应用负载均衡支持的虚服务器类型包括:IP、TCP、UDP、RADIUS、HTTP、MySQL、SIP-TCP、SIP-UDP,其中IP、TCP和UDP类型统称为四层应用负载均衡,HTTP、RADIUS等类型称为七层应用负载均衡:

·     四层应用负载均衡:是基于流的负载均衡,通过对报文进行逐流分发,将同一条流的报文分发给同一台服务器。四层应用负载均衡对基于HTTP的七层业务无法做到按内容分发,从而限制了负载均衡的业务适用范围。

·     七层应用负载均衡:是基于内容的负载均衡,通过对报文承载的内容进行深度解析,根据其中的内容进行逐包分发,按既定策略将连接导向指定的服务器,从而实现了业务范围更广泛的应用负载均衡。

4 四层应用负载均衡配置举例

4.1  SNAT应用场景应用负载均衡

4.1.1  组网需求

如图所示,外网用户经过负载均衡设备访问内网服务器。三台服务器Server A、Server B和Server C均可提供FTP服务。通过配置应用负载均衡,让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。

图4-1 SNAT应用场景应用负载均衡组网图

 

4.1.2  配置思路

为实现SNAT应用负载均衡,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器、虚服务。

·     配置SNAT地址池,实服务器到SNAT地址池路由可达。

4.1.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

4.1.4  配置注意事项

·     入方向交换机配置二层透传,Host到LB路由可达,出方向交换机配置三层路由,LB到server路由可达,server到LB路由可达,下一跳都是在交换机上进行配置。

·     注意本举例中SNAT地址池地址跟出接口地址一个网段,需要在SNAT地址池中开启ARP功能。

4.1.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为21,如下图所示。

图4-2 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建snat地址池

在导航栏中选择“负载均衡>全局配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,起始IP地址是192.168.1.11,结束IP地址是192.168.1.14,配置发送免费ARP或ND报文的接口,如下图所示。

图4-3 新建源地址池

 

单击<确定>,完成操作。

图4-4 源地址池信息

 

单击<确定>,完成操作。

4.创建实服务组sf1,均采用源IP地址哈希算法,并指定其健康检测方法为t1,并引用源地址池snat1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,并引用源地址池是snat1,如下图所示。

图4-5 新建实服务组

 

单击<确定>按钮,完成操作。

5.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图4-6 添加实服务组成员

 

图4-7 新建实服务器

  

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图4-8 实服务组信息

 

6.配置虚服务器

创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,引用实服务组sf1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,配置虚服务器IP为61.159.4.100,指定默认实服务组sf1,并开启虚服务,如下图所示。

图4-9 新建虚服务器

 

单击<确定>按钮,完成操作。

4.1.6  验证配置

1.Host向地址61.159.4.100的FTP服务器发起FTP请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息

图4-10 虚服务器统计信息

 

图4-11 实服务器统计信息

 

4.1.7  配置文件

#

nqa template tcp t1

destination port 21

#

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

#

loadbalance snat-pool snat1

ip range start 192.168.1.11 end 192.168.1.14

arp-nd interface Route-Aggregation1.20

#

virtual-server vs type tcp

virtual ip address 61.159.4.100

 default server-farm sf1

connection-sync enable

sticky-sync enable global

 service enable

#

4.2  SNAT应用场景应用负载均衡(虚IP与客户端地址同网段)

4.2.1  组网需求

如图所示,外网用户经过负载均衡设备访问内网服务器。三台服务器Server A、Server B和Server C均可提供FTP服务。通过配置应用负载均衡,让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。

图4-12 SNAT应用场景应用负载均衡组网图

 

4.2.2  配置思路

为实现SNAT应用负载均衡,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器、虚服务。

·     配置SNAT地址池,实服务器到SNAT地址池路由可达。

4.2.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

4.2.4  配置注意事项

·     入方向交换机配置二层透传,Host到LB路由可达,出方向交换机配置三层路由,LB到server路由可达,server到LB路由可达,下一跳都是在交换机上进行配置。

·     注意本举例中SNAT地址池地址跟出接口地址一个网段,需要在SNAT地址池中开启ARP功能。

·     本举例中虚服务IP与客户端出接口地址同网段,需要在虚服务上开启响应ARP功能。

4.2.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为21,如下图所示。

图4-13 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建snat地址池

在导航栏中选择“负载均衡>全局配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,起始IP地址是192.168.1.11,结束IP地址是192.168.1.14,配置发送免费ARP或ND报文的接口,如下图所示。

图4-14 新建源地址池

 

单击<确定>,完成操作。

图4-15 源地址池信息

 

单击<确定>,完成操作。

4.创建实服务组sf1,均采用源IP地址哈希算法,并指定其健康检测方法为t1,并引用源地址池snat1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,并引用源地址池是snat1,如下图所示。

图4-16 新建实服务组

 

单击<确定>按钮,完成操作。

5.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图4-17 添加实服务组成员

 

图4-18 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图4-19 实服务组信息

 

6.配置虚服务器

创建TCP类型的虚服务器vs,配置其VSIP为10.0.0.8,应用实服务组sf1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,配置虚服务器IP为10.0.0.8,指定默认实服务组sf1,开启响应ARP功能,并开启虚服务,如下图所示。

图4-20 新建虚服务器

 

单击<确定>按钮,完成操作。

4.2.6  验证配置

 

1.Host向地址10.0.0.8的FTP服务器发起FTP请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息

图4-21 虚服务器统计信息

 

图4-22 实服务器统计信息

 

4.2.7  配置文件

#

nqa template tcp t1

destination port 21

#

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

#

loadbalance snat-pool snat1

ip range start 192.168.1.11 end 192.168.1.14

arp-nd interface Route-Aggregation1.20

#

virtual-server vs type tcp

virtual ip address 10.0.0.8

default server-farm sf1

route-advertisement enable

connection-sync enable

sticky-sync enable global

arp-nd interface Route-Aggregation1.10

 service enable

#

4.3  基于源地址应用负载均衡

4.3.1  组网需求

如图所示,用户经过负载均衡设备访问服务器。三台服务器Server A、Server B和Server C均可提供FTP服务。通过配置应用负载均衡,让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器是否可达。

图4-23 基于源地址应用负载均衡组网图

 

4.3.2  配置思路

为实现源地址应用负载均衡,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器、虚服务。

·     配置策略。

4.3.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

4.3.4  配置注意事项

·     Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。

·     入方向跟出方向交换机均配置二层透传,网关都在LB上。

4.3.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为21,如下图所示。

图4-24 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1、sf2、sf3,均采用源IP地址哈希算法,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,如下图所示。

图4-25 新建实服务组

 

单击<确定>按钮,完成操作。

创建实服务组sf2、sf3与sf1步骤相同。

图4-26 实服务组信息

 

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图4-27 添加实服务组成员

 

图4-28 新建实服务器

 

单击<确定>按钮,完成操作。

图4-29 实服务器信息

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf2,添加成员列表,参照上图步骤创建实服务器rs2,配置其IPv4地址为192.168.1.2。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf3,添加成员列表,参照上图步骤创建实服务器rs3,配置其IPv4地址为192.168.1.3。

5.配置流量特征lc1、lc2,匹配Host的不同源地址

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面。

单击<新建>,新建流量特征名称为lc1,类型为通用,匹配方式为匹配任意一条规则,Match ID为1,类型选择源IPv4,IPv4地址为10.0.4.0,掩码长度为26,单击<确定>按钮,如下图所示。

图4-30 新建流量特征信息

 

单击<确定>按钮,完成操作。

图4-31 流量特征信息

 

单击<确定>按钮,完成操作。

创建lc2与lc1步骤相同,lc2匹配规则IPv4地址是10.0.4.64,掩码长度26。

6.配置负载均衡动作la1、la2、la3

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>,新建动作名称为la1,类型选择通用,主用实服务组sf1,如下图所示。

图4-32 新建动作信息

 

单击<确定>,完成操作。

创建la2、la3与la1步骤相同,la2主用实服务组是sf2,la3主用实服务组是sf3。

7.配置负载均衡策略lp1

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面。

单击<新建>,新建策略名称为lp1,类型选择通用,规则单击<新建>,流量特征选择lc1,动作选择la1,单击<确定>;再次单击<新建>,流量特征选择lc2,动作选择la2,单击<确定>;默认动作选择la3,如下图所示。

图4-33 新建策略lp1信息

 

单击<确定>,完成操作。

图4-34 策略lp1配置信息

 

单击<确定>,完成操作。

8.创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,指定应用负载均衡策略为lp1,并开启虚服务

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,61.159.4.100/32,开启虚服务功能,负载均衡策略为lp1,如下图所示。

图4-35 新建虚服务器

 

单击<确定>,完成操作。

4.3.6  验证配置

1.Host发起源地址分别为10.0.4.1、10.0.4.65、10.0.4.129的FTP请求共3个,通过虚服务   61.159.4.100地址访问FTP服务器,访问成功,可以在web上查看到虚服务器和实服务器的统计信息。源10.0.4.0/26的FTP请求分给rs1,源10.0.4.64/26的FTP请求分给rs2,其他源地址的FTP请求分给rs3

图4-36 查看虚服务器统计信息

 

当源地址为10.0.4.1发起FTP访问请求时,匹配策略lc1,选中rs1,查看实服务器统计,此时只有rs1有流量统计:

图4-37 查看实服务器统计信息

 

当源地址为10.0.4.65发起FTP访问请求时,匹配策略lc2,选中rs2,查看实服务器统计,此时只有rs2有流量统计:

图4-38 查看实服务器统计信息

 

当源地址为10.0.4.129发起FTP访问请求时,匹配策略lc3,选中rs3,查看实服务器统计,此时只有rs3有流量统计:

图4-39 查看实服务器统计信息

 

4.3.7  配置文件

#

nqa template tcp t1

destination port 21

#

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

#

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

#

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

#

virtual-server vs type tcp

 virtual ip address 61.159.4.100

 lb-policy lp1

connection-sync enable

sticky-sync enable global

 service enable

#

4.4  三角传输

4.4.1  组网需求

如图所示,三台服务器Server A、Server B和Server C均可提供FTP服务,用户通过访问虚服务地址经过负载均衡设备访问真实服务器,由于服务器回应反向流量比较大,为了减轻负载均衡设备的压力,服务器回程的流量不再经过负载均衡设备,直接通过交换机转发,此时要求服务器回应报文的源地址为虚服务器的地址,在考虑硬件性能的前提下让这三台服务器联合提供FTP服务,并通过健康检测来监控这些服务器状态。

图4-40 三角传输组网图

 

4.4.2  配置思路

为实现三角传输的应用负载均衡,需要在LB设备上完成如下配置:

·     LB设备上配置实服务组、实服务器、虚服务

·     由于服务器回应报文通过交换机直接转发,所以服务器回应报文的源地址要为虚服务器的地址,因此除了配置各自网卡地址外,还需要三台真实服务器侧需要单独配置loopback口,并且地址设置为虚服务器的地址61.159.4.100

4.4.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

4.4.4  配置注意事项

·     入方向交换机配置三层,入方向网关在交换机上,Host到交换机直连路由可达,交换机到LB直连路由可达,Host到LB路由可达,下一跳在交换机上,出方向交换机配置三层路由,LB到server路由可达,server到Host路由可达,下一跳都是在交换机上。

·     流量正向走LB,反向不走LB,服务器回Host路由可达。

·     实服务组中关闭DNAT功能。

4.4.5  配置步骤

说明: 说明: 说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为21,如下图所示。

图4-41 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1,均采用源IP地址哈希算法,并指定其健康检测方法为t1,并关闭DNAT功能

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,关闭目的地址转换功能,如下图所示。

图4-42 新建实服务组

 

单击<确定>按钮,完成操作。

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图4-43 添加实服务组成员

 

图4-44 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图4-45 实服务组信息

 

5.创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,指定默认实服务组sf1,并开启虚服务

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。单击<新建>,新建虚服务器名称为vs,类型选择TCP,61.159.4.100 /32,指定默认实服务组sf1,开启虚服务功能,如下图所示。

图4-46 新建虚服务器

 

单击<确定>,完成操作。

4.4.6  验证配置

1.Host向地址61.159.4.100的FTP服务器发起FTP请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息

图4-47 虚服务器统计信息

 

图4-48 实服务器统计信息

 

4.4.7  配置文件

#

nqa template tcp t1

destination port 21

#

server-farm sf1

 predictor hash address source

transparent enable

 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 vs type tcp

 virtual ip address 61.159.4.100

 default server-farm sf1

connection-sync enable

sticky-sync enable global

 service enable

#

4.5  基于优先级调度应用负载均衡

4.5.1  组网需求

如图所示,外网用户经过负载均衡设备访问内网服务器。三台服务器Server A、Server B和Server C均可提供FTP服务,Host访问服务器的流量会根据三台服务器的优先级进行选择,如果实服务组中配置了限制调度的个数,实服务器优先级和调度个数会共同对实服务器进行调度,实现负载分担。

图4-49 基于优先级调度应用负载均衡组网图

 

4.5.2  配置思路

为实现基于优先级调度的应用负载均衡,需要在LB设备上完成如下配置:

·     LB设备上配置实服务组、实服务器、虚服务。

·     若需要将流量只分配给优先级最高的服务器时,实服务组中配置可选择的实服务器的数量为1,实服务器配置不同的优先级分别为4、8、1。

·     若需要将流量分配给其中两台服务器时,实服务组中配置可选择的实服务器的数量为2,实服务器配置不同的优先级分别为4、8、1。

4.5.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

4.5.4  配置注意事项

·     Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。

·     入方向跟出方向交换机均配置二层透传,网关都在LB上。

·     实服务组中配置可选择的实服务器数量,三台服务器配置不同的优先级。

4.5.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为21,如下图所示。

图4-50 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1,采用源IP地址哈希算法,并指定其健康检测方法为t1,勾选“限制可被算法调用的实服务器数量”,并进行数量配置

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,勾选“限制可被调度算法调用的实服务器数量”,最小数量与最大数量均配置成1,如下图所示。

图4-51 新建实服务组

 

单击<确定>按钮,完成操作。

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,优先级为4,实服务组选择sf1,如下图所示。

图4-52 添加实服务组成员

 

图4-53 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3。rs2优先级为8,IPv4地址为192.168.1.2;rs3优先级为1,IPv4地址为192.168.1.3。

图4-54 实服务组信息

 

5.配置虚服务器

创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,应用实服务组sf1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,配置虚服务器IP为61.159.4.100,指定默认实服务组sf1,并开启虚服务,如下图所示。

图4-55 新建虚服务器

 

单击<确定>按钮,完成操作。

4.5.6  验证配置

1. 实服务组中配置了限制服务器数量为1,Host向地址61.159.4.100的FTP服务器发起ftp请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息,实服务器优先级最高的rs2被选中,只有一个实服务器rs2有流量统计

图4-56 虚服务器统计信息

 

图4-57 实服务器统计信息

 

2. 当修改实服务组中配置限制服务器数量为2时,Host向地址61.159.4.100的FTP服务器发起ftp请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息,流量分配给优先级较高的rs1和rs2

图4-58 虚服务器统计信息

 

图4-59 实服务器统计信息

 

4.5.7  配置文件

#

nqa template tcp t1

destination port 21

#

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 tcp

 virtual ip address 61.159.4.100

 default server-farm sf1

connection-sync enable

sticky-sync enable global

 service enable

#

4.6  四层应用负载均衡高可靠性举例

4.6.1  组网需求

随着互联网以及各行各业数字化转型的蓬勃发展,网络承载的业务越来越多,越来越重要。如何保证网络的可靠性、业务的不间断传输成为网络建设中必须要解决的问题。

在网络关键位置上如果只使用一台设备的情况下,无论其可靠性多高,都会存在因设备单点故障而导致网络中断的风险。因此,通常会在网络的关键位置部署两台设备,以提升网络的可靠性和业务运行稳定性,使用两台负载均衡设备进行高可靠性主备组网,Device A作为主设备,Device B作为备设备。当Device A设备或其他链路出现故障时,业务能够被Device B设备接替继续运行业务,保证业务不中断(业务流量默认不主动回切)。

图4-60 高可靠性组网图

 

4.6.2  配置思路

为实现两台负载均衡设备其中一台故障时,另外一台能够接替运行业务,需要完成如下配置:

·     接口下的地址、VRRP相关配置需要在两台设备上分别进行配置下发,接口下配置VRRP备份组,配置VRRP虚IP地址。

·     高可靠性相关配置也需要在两台设备上分别进行配置下发,将两台设备之间直连的接口聚合作为高可靠性控制通道接口和数据通接口。配置高可靠性,指定主从管理设备角色,指定控制通道和数据通道,开启配置自动备份和热备功能。

·     路由等不备份的基础配置需要在两台设备上分别进行配置下发。

4.6.3  使用版本

本举例是在L5060的Release 8560P38上进行配置和验证的。

4.6.4  配置注意事项

·     对负载均衡业务相关可备份的配置进行删除、修改操作时,需要在高可靠性主管理设备上进行操作,同步给高可靠性的备设备,切勿在高可靠性备管理设备上进行修改删除操作,防止两个设备上的配置不一致。主管理设备上已有的负载均衡配置,会在开启自动同步配置信息功能后进行一次批量备份,或通过手动同步配置信息到高可靠性的备设备上。对于路由等不备份但需要保持一致的配置,需要在两个设备上分别进行操作配置下发。

·     接口IP地址,路由等相关配置,需要在主管理设备和从管理设备上同时手动配置并各自保存为基本配置。负载均衡相关的ISP文件,SSL卸载相关的证书文件,自定义监控所需的脚本文件等文件类操作需要在两台设备上分别进行导入下发,并进行各自保存。

·     目前支持配置信息同步的业务模块如下:

¡     资源类:VPN实例、ACL(acl copy命令不支持同步)、对象组、时间段、安全域、会话管理、APR、AAA。

¡     DPI相关模块:应用层检测引擎、IPS、URL过滤、数据过滤、文件过滤、防病毒、数据分析中心、WAF。

¡     策略类:安全策略、ASPF、攻击检测与防范(blacklist ip命令不支持同步)、连接数限制、NAT、AFT、负载均衡、带宽管理、应用审计与管理、共享上网管理、代理策略。

¡     日志类:快速日志输出(customlog host source命令不支持同步)、Flow日志(userlog flow export source-ip命令不支持同步)。

¡     VPN类:SSL VPN。

¡     其他类:VLAN、信息中心(info-center loghost source命令不支持同步)

·     高可靠性数据通道和控制通道推荐使用静态聚合。

·     基础配置和业务配置配置完成后分别save保存配置。

·     高可靠性组网中主备组网中,主设备故障时,流量自动切换到对端设备进行处理。缺省情况下,当原主设备恢复正常时,流量不回切。这时如果需要流量再次回到原主设备进行处理,可以开启主动抢占功能,并设置延迟切换时间保证业务能够平滑切回,延迟回切时间为0表示不回切。

·     负载均衡配置snat地址池时,基于地址拆分。SNAT地址池中的地址与设备连接服务器端接口的IP地址在同一网段时,必须在该SNAT地址池下配置指定免费发送ARP或ND报文接口,指定的接口是设备连接服务器的接口。不在同一网段时,则SNAT地址池下无需指定免费发送ARP或ND报文接口。

·     负载均衡配置虚服务器时,虚服务器IP地址与设备连接客户端接口的IP地址在同一网段,必须在该虚服务器下指定免费发送ARP或ND报文接口,指定的接口是设备连接客户端的接口。不在同一网段时,虚服务器下无需指定发送免费ARP或ND报文接口。

·     负载均衡配置虚服务器绑定VRRP备份组,同时存在IPv4和IPv6地址时,需要各自绑定VRRP备份组。

4.6.5  配置步骤

说明

以下验证过程在LB设备上进行。

 

1. 创建IP地址及接口步骤省略

2. 主设备上配置双机热备

在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

单击<配置>按钮,进入双机热备配置页面,选择开启双机热备,运行模式选择主备模式,管理角色选择主管理设备,本端地址为1.1.1.1,对端IP地址为1.1.1.2,数据通道选择三层聚合口1,配置信息一致性检查开启,时间间隔为12小时。如下图所示。

图4-61 配置双机热备

 

单击<确定>按钮,完成操作。

3. 主设备上配置VRRP

在导航栏中选择“系统 > 高可靠性 > VRRP”,进入VRRP列表页面。

单击<新建>按钮,选择备份组所在的接口为三层聚合子接口10.1,备份组号为1,联动双机热备VRRP active组,虚拟IP地址为10.0.0.1/32。如下图所示。

图4-62 配置VRRP备份组

 

单击<确定>按钮,完成操作。

创建VRRP备份组所在三层聚合子接口10.2与创建VRRP备份组所在三层聚合子接口10.1步骤相同。

在导航栏中选择“系统 > 高可靠性 > VRRP”,单击添加VRRP备份组,参照上图创建VRRP备份组所在接口为三层聚合子接口10.2,备份组号为1,联动双机热备为VRRP active组,虚拟IP地址为192.168.1.254/32。

4. 备设备上配置双机热备

在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

单击<配置>按钮,进入双机热备配置页面,选择开启双机热备,运行模式选择主备模式,管理角色选择从管理设备,本端地址为1.1.1.2,对端IP地址为1.1.1.1,数据通道选择三层聚合口1,配置信息一致性检查开启,时间间隔为12小时。如下图所示。

图4-63 配置高可靠性

 

单击<确定>按钮,完成操作。

5. 备设备上配置VRRP

在导航栏中选择“系统 > 高可靠性 > VRRP”,进入VRRP列表页面。

单击<新建>按钮,选择备份组所在的接口为三层聚合子接口10.1,备份组号为1,联动双机热备VRRP standby组,虚拟IP地址为10.0.0.1/32。如下图所示。

图4-64 配置VRRP备份组

 

单击<确定>按钮,完成操作。

创建VRRP备份组所在三层聚合子接口10.2与创建VRRP备份组所在三层聚合子接口10.1步骤相同。

在导航栏中选择“系统 > 高可靠性 > VRRP”,单击添加VRRP备份组,参照上图创建VRRP备份组所在接口为三层聚合子接口10.2,备份组号为1,联动双机热备为VRRP standby组,虚拟IP地址为192.168.1.254/32。

6. 配置NQA健康检查模板

在导航栏中选择“负载均衡 > 全局配置 > 健康检测”,进入健康检测模板页面。

单击<新建>按钮,添加健康模板名称为icmp,类型为ICMP的健康检测模板,配置两次探测开始时间的时间间隔3000ms,配置连续探测成功的次数为1。

图4-65 添加健康检测模板

 

单击<确定>按钮,完成操作。

7. 配置源地址池

在导航栏中选择“负载均衡 > 全局配置 > 源地址池”,进入源地址池列表页面。

单击<新建>按钮,新建源地址池snat,配置地址范围为192.168.1.101~192.168.1.112,配置发送免费ARP或ND报文的接口。如下图所示。

图4-66 添加源地址池

 

8. 配置实服务组

在导航栏中选择“负载均衡 > 应用负载 > 实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择icmp,源地址转换方式选择源地址池,源地址池名称选择snat,如下图所示。

图4-67 添加实服务组

 

单击<确定>按钮,完成操作。

9. 配置实服务器

在导航栏中选择“负载均衡 > 应用负载 > 实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.3,如下图所示。

图4-68 添加实服务组成员

 

图4-69 添加实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡 > 应用负载 > 实服务组”,编辑实服务组sf1,单击添加成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.4和192.168.1.5。如图所示。

图4-70 实服务组成员列表

 

10. 配置虚服务器

创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,并开启虚服务。

在导航栏中选择“负载均衡 > 应用负载 > 虚服务器”,进入虚服务器页面。

单击<新建>按钮,添加虚服务器名称为vs,类型选择TCP,引用实服务组sf1,配置虚服务器绑定VRRP备份组1关联接口三层聚合子接口10.1,并开启虚服务。如下图所示。

图4-71 新建虚服务器

 

 

单击<确定>,完成操作。

4.6.6  验证配置

1. 查看双机热备状态

在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Master。

如图所示。

图4-72 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Backup。如图所示。

图4-73 备设备上高可靠性

 

2. 发起访问请求

Host向地址61.159.4.100发起FTP的请求,访问成功后,在设备上在导航栏“监控 > 应用负载 >虚服务器 > 实时统计”,进入虚服务器统计页面。

主设备正常工作情况下,主设备上的虚服务器统计有并发数和带宽统计,备设备上只有并发数统计。

如图所示。

图4-74 主设备上的虚服务器统计

 

图4-75 备设上的虚服务器统计

 

3. 模拟主设备故障

(1)     使用icmp ping业务测试双机热备

主设备状态正常时,Host向地址61.159.4.100发起icmp ping请求,没有丢包,如下图所示。

图4-76 icmp ping业务状态

 

a.     手动切换主备状态

在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。点击<状态切换>即可手动切换主备状态。如下图所示。

图4-77 手动切换主备状态

 

手动切换完成后,在主设备上运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Backup。如下图所示。

图4-78 主设备上双机热备状态

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-79 备设备上双机热备状态

 

业务切换到备设备上,Host继续向地址61.159.4.100发起icmp ping请求,没有丢包,如下图所示。

图4-80 icmp ping业务状态

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生icmp会话,如下图所示。

图4-81 备设备上会话列表

 

在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的icmp会话,如下图所示。

图4-82 主设备上会话列表

 

再次手动切换主备状态,使主设备的运行状态为主用状态,业务切回主设备上,没有丢包,如下图所示。

图4-83 icmp ping业务状态

 

b.     业务口故障

当主设备业务口故障时,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Initialize。如下图所示。

图4-84 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-85 备设备上双机热备

 

业务切换到备机上,Host继续向地址61.159.4.100发起icmp ping请求,没有丢包,如下图所示。

图4-86 icmp ping业务状态

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生icmp会话,如下图所示。

图4-87 备设备上会话列表

 

在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的icmp会话,如下图所示。

图4-88 主设备上会话列表

 

主设备业务口恢复正常后,备设备业务口发生故障时,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Master。如下图所示。

图4-89 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Initialize。如下图所示。

图4-90 备设备上双机热备

 

业务切回主设备上,没有丢包,如下图所示。

图4-91 icmp ping业务状态

 

c.     设备重启

当主设备重启时,在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为非正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-92 备设备上双机热备

业务切换到备机上,Host继续向地址61.159.4.100发起icmp ping请求,没有丢包,如下图所示。

图4-93 icmp ping业务状态

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生icmp会话,如下图所示。

图4-94 备设备上会话列表

 

主设备启动成功后,在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的icmp会话,如下图所示。

图4-95 主设备上会话列表

 

主设备启动成功后,当备设备重启时,在主设备上,在导航栏中选择“系统 > 高可靠性 >双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为非正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-96 主设备上双机热备

 

业务切回主设备上,没有丢包,如下图所示。

图4-97 icmp ping业务状态

 

(2)     使用tcp ping业务测试双机热备

主设备状态正常时,Host向地址61.159.4.100发起tcp ping请求,没有丢包,如下图所示。

图4-98 tcp ping业务状态

 

a.     手动切换主备模式

在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。点击<状态切换>即可手动切换主备状态。如下图所示。

图4-99 手动切换主备状态

 

手动切换完成后,在主设备上运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Backup。如下图所示。

图4-100 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-101 备设备上双机热备

 

业务切换到备设备上,Host继续向地址61.159.4.100发起tcp ping请求,没有丢包,如下图所示。

图4-102 tcp ping业务状态

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生tcp会话,如下图所示。

图4-103 备设备上会话列表

 

在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的tcp会话,如下图所示。

图4-104 主设备上会话列表

 

再次手动切换主备状态,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Master。如下图所示。

图4-105 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Backup。如下图所示。

图4-106 备设备上双机热备

 

业务切回主设备上,没有丢包,如下图所示。

图4-107 tcp ping业务状态

 

b.     业务口故障

当主设备业务口故障时,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Initialize。如图所示。

图4-108 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master。如图所示。

图4-109 备设备上双机热备

 

业务切换到备机上,Host继续向地址61.159.4.100发起tcp ping请求,没有丢包,如下图所示。

图4-110 tcp ping业务状态

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生tcp会话,如下图所示。

图4-111 备设备上会话列表

 

在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的tcp会话,如下图所示。

图4-112 主设备上会话列表

 

主设备业务口恢复正常后,备设备业务口发生故障时,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Master。如图所示。

图4-113 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Initialize。如图所示。

图4-114 备设备上双机热备

 

业务切回主设备上,没有丢包,如下图所示。

图4-115 tcp ping业务状态

 

c.     设备重启

当主设备重启时,在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为非正常,VRRP虚拟地址状态非正常,为Master。如图所示。

图4-116 备设备上双机热备

 

业务切换到备机上,Host继续向地址61.159.4.100发起icmp ping请求,没有丢包如图所示。

图4-117 tcp ping业务状态

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生tcp会话,如下图所示。

图4-118 备设备上会话列表

 

主设备启动成功后,在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的tcp会话,如下图所示。

图4-119 主设备上会话列表

主设备启动成功后,当备设备重启时,在主设备上,在导航栏中选择“系统 > 高可靠性 >双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为非正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-120 主设备上双机热备

 

业务切回主设备上,没有丢包,如下图所示。

图4-121 tcp ping业务状态

 

(3)     使用ftp业务测试双机热备

Host向地址61.159.4.100发起FTP的请求,访问成功后,下载test file.ipe文件到Host上,下载过程没有异常。

图4-122 Host向地址61.159.4.100发起FTP的请求成功

 

图4-123 test file.ipe文件下载过程

 

在设备上在导航栏“监控 > 应用负载 > 虚服务器 > 实时统计”,进入虚服务器统计页面。

主设备正常工作情况下,主设备上的虚服务器统计有新建数和带宽统计,备设备上只有并发数统计。如下图所示。

图4-124 主设备上的虚服务器统计

 

图4-125 备设备上的虚服务器统计

 

a.     手动切换主备

在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。点击<状态切换>即可手动切换主备状态,如下图所示。

图4-126 手动切换主备状态

 

手动切换完成后,在主设备上运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Backup。如下图所示。

图4-127 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-128 备设备上双机热备

 

业务切换到备设备上,文件下载成功,没有异常,如下图所示。

图4-129 test file.ipe文件下载成功

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生ftp会话,如下图所示。

图4-130 备设备上会话列表

 

在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的ftp会话,如下图所示。

图4-131 主设备上会话列表

 

再次手动切换主备状态,使主设备的运行状态为主用状态,业务切回主设备上,文件下载成功,没有异常,如下图所示。

图4-132 test file.ipe文件下载成功

 

b.     业务口故障

当主设备业务口故障时,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Initialize。如下图所示。

图4-133 主设备上双机热备

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-134 备设备上双机热备

 

主设备业务口故障情况下,主设备上的虚服务器统计只有并发数,备设备上有并发数和带宽统计。如下图所示。

图4-135 主设备上虚服务器统计

 

图4-136 备设备上虚服务器统计

 

业务切到备设备上,文件下载成功,没有异常,如下图所示。

图4-137 test file.ipe文件下载成功

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生ftp会话,如下图所示。

图4-138 备设备上会话列表

 

在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的ftp会话,如下图所示。

图4-139 主设备上会话列表

 

主设备业务口恢复正常后,备设备业务口发生故障时,在主设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Master。如下图所示。

图4-140 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Initialize。如下图所示。

图4-141 备设备上双机热备

 

业务切回主设备上,文件下载成功,没有异常,如下图所示。

图4-142 test file.ipe文件下载成功

 

c.     设备重启

当主设备重启时,在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为非正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-143 备设备上双机热备

 

业务切换到备机上,文件下载成功,没有异常,如下图所示。

图4-144 test file.ipe文件下载成功

 

在备设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

业务切换到备设备上时,备设备上产生ftp会话,如下图所示。

图4-145 备设备上会话列表

 

主设备启动成功后,在主设备上,在导航栏中选择“监控 > 会话监控 > 会话列表”,进入会话列表页面。

主设备上备份备设备上的ftp会话,如下图所示。

图4-146 主设备上会话列表

 

主设备启动成功后,当备设备重启时,在主设备上,在导航栏中选择“系统 > 高可靠性 >双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为非正常,VRRP虚拟地址状态非正常,为Master。如下图所示。

图4-147 主设备上双机热备

 

业务切回主设备上,文件下载成功,没有异常,如下图所示。

图4-148 test file.ipe文件下载成功

 

4.6.7  track nqa(非必配,按需配置)

1. 应用场景

业务接口正常,设配状态正常、负载均衡设备到网关或中间网络三层设配ping不通,可能用到此方式

2. 配置步骤

双机热备环境搭建和负载均衡业务配置请参见4.6.5  配置步骤

(1)     主设备上配置NQA

在导航栏中选择“系统 > 高可靠性 > NQA”,进入NQA页面。

单击<新建>按钮,进入NQA配置页面, 添加测试组管理员名称为admin,操作标签为ping,测试类型为ICMP-echo,目的地址为10.0.0.100 测试时间间隔为3000毫秒,勾选开启历史记录保存功能,保存历史记录的个数为10,启动测试选择立即启动,测试持续时间选择永久。如下图所示。

图4-149 创建NQA

为NQA添加告警监控组

单击<新建>按钮,添加告警组编号为1,监控对象选择probe-fail,阈值类型选择连续次数,失败次数为3,触发的动作选择触发其他模块联动。如下图所示。

图4-150 添加NQA告警监控组

 

点击<确定>按钮后,再次点击<确定>按钮完成操作。

(2)     主设备上配置Track

在导航栏中选择“系统 > 高可靠性 > Track”,进入Track页面。

单击<新建>按钮,进入Track配置页面,添加Track项为1,检测模块选择NQA,测试组管理员名称为admin,操作标签为ping,联动xiang序号为1。如下图所示。

图4-151 创建Track项

 

点击<确定>按钮,完成操作。

(3)     主设备上配置双机热备监控项

在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

单击<配置>按钮,进入双机热备配置页面,在监控项处选择联动Track项,点击<新建>选择Track项为1。

图4-152 主设备上配置双机热备监控项

 

点击<确定>按钮后,再次点击<确定>按钮完成操作。

(4)     备设备上配置NQA

在导航栏中选择“系统 > 高可靠性 > NQA”,进入NQA页面。

单击<新建>按钮,进入NQA配置页面, 添加测试组管理员名称为admin,操作标签为ping,测试类型为ICMP-echo,目的地址为10.0.0.100 测试时间间隔为3000毫秒,勾选开启历史记录保存功能,保存历史记录的个数为10,启动测试选择立即启动,测试持续时间选择永久。如下图所示。

图4-153 创建NQA

 

为NQA添加告警监控组

单击<新建>按钮,添加告警组编号为1,监控对象选择probe-fail,阈值类型选择连续次数,失败次数为3,触发的动作选择触发其他模块联动。如下图所示。

图4-154 添加NQA告警监控组

 

点击<确定>后,再次点击<确定>完成配置。

(5)     备设备上配置Track

在导航栏中选择“系统 > 高可靠性 > Track”,进入Track页面。

单击<新建>按钮,进入Track配置页面,添加Track项为1,检测模块选择NQA,测试组管理员名称为admin,操作标签为ping,联动xiang序号为1。如下图所示。

图4-155 创建Track项

 

点击<确定>完成配置。

(6)     备设备上配置双机热备监控项

在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

单击<配置>按钮,进入双机热备配置页面,在监控项处选择联动Track项,点击<新建>选择Track项为1。如下图所示。

图4-156 主设备上配置双机热备监控项

 

点击<确定>后,再次点击<确定>完成配置。

3. 验证配置

当主设备到NQA目的地址10.0.0.100链路出现故障时,在主设备上在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上运行模式是主备模式,管理角色是主管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Backup,监控项TRACK1状态非正常,为Negative。如下图所示。

图4-157 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态非正常,为Master,监控项TRACK1状态正常,为Positive。如下图所示。

图4-158 备设备上双机热备

 

主设备到NQA目的地址10.0.0.100链路恢复正常后,当备设备到NQA目的地址10.0.0.100链路出现故障时,在主设备上在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在主设备上,运行模式是主备模式,管理角色是主管理设备,运行状态为主用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Master,监控项TRACK1状态正常,为Positive。如图所示。

图4-159 主设备上双机热备

 

在备设备上,在导航栏中选择“系统 > 高可靠性 > 双机热备”,进入双机热备页面。

双机热备建立成功后,在备设备上,运行模式是主备模式,管理角色是从管理设备,运行状态为备用状态,心跳状态为正常,VRRP虚拟地址状态正常,为Backup,监控项TRACK1状态非正常,为Negative。如下图所示。

图4-160 备设备上双机热备

 

4.6.8  主设备配置文件

#

nqa template icmp icmp

 frequency 3000

 reaction trigger probe-pass 1

#

interface Route-Aggregation10.1

 ip address 10.1.1.253 255.255.255.0

 vrrp vrid 1 virtual-ip 10.1.1.1 active

 vlan-type dot1q vid 3001

#

interface Route-Aggregation10.2

 ip address 192.168.1.1 255.255.255.0

 vrrp vrid 1 virtual-ip 192.168.1.254 active

 vlan-type dot1q vid 3002

#

remote-backup group

 data-channel interface Route-Aggregation1

 configuration sync-check interval 12

 local-ip 1.1.1.1

 remote-ip 1.1.1.2

 device-role primary

#

loadbalance snat-pool snat

 ip range start 192.168.1.101 end 192.168.1.112

 arp-nd interface Route-Aggregation10.2

#

server-farm sf1

 predictor hash address source

 probe icmp

 snat-pool snat

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.3

#

real-server rs2

 ip address 192.168.1.4

#

real-server rs3

 ip address 192.168.1.5

#

virtual-server vs type tcp

 virtual ip address 61.159.4.100

 default server-farm sf1

 connection-sync enable

 sticky-sync enable global

 vrrp vrid 1 interface Route-Aggregation10.1

 service enable

#

4.6.9  备设备配置文件

#

nqa template icmp icmp

 frequency 3000

 reaction trigger probe-pass 1

#

interface Route-Aggregation10.1

 ip address 10.1.1.254 255.255.255.0

 vrrp vrid 1 virtual-ip 10.1.1.1 standby

 vlan-type dot1q vid 3001

#

interface Route-Aggregation10.2

 ip address 192.168.1.2 255.255.255.0

 vrrp vrid 1 virtual-ip 192.168.1.254 standby

 vlan-type dot1q vid 3002

#

remote-backup group

 data-channel interface Route-Aggregation1

 configuration sync-check interval 12

 local-ip 1.1.1.2

 remote-ip 1.1.1.1

 device-role secondary

#

loadbalance snat-pool snat

 ip range start 192.168.1.101 end 192.168.1.112

 arp-nd interface Route-Aggregation10.2

#

server-farm sf1

 predictor hash address source

 probe icmp

 snat-pool snat

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.3

#

real-server rs2

 ip address 192.168.1.4

#

real-server rs3

 ip address 192.168.1.5

#

virtual-server vs type tcp

 virtual ip address 61.159.4.100

 default server-farm sf1

 connection-sync enable

 sticky-sync enable global

 vrrp vrid 1 interface Route-Aggregation10.1

 service enable

#

5 调度算法应用场景负载均衡配置举例

5.1  基于源地址哈希调度算法与源地址持续性共用的负载分担

5.1.1  组网需求

如图所示,Host发起访问虚服务器的地址,通过LB设备对3台服务器进行访问,三台服务器均可提供HTTP服务,访问服务器的流量将在三台服务器之间负载分担,LB设备上配置源地址哈希算法,每一个用户的请求必须分配到同一个服务器上。当其中一个实服务器出现健康检测震荡,建立在其他服务器上的相同源地址的用户依然要分配到同一个服务器上面去。此时源地址哈希算法必须和源地址持续性一起使用,以防止已有的用户业务出现闪断。

图5-1 基于源地址哈希与源地址持续性的七层负载组网图

 

5.1.2  配置思路

为实现基于源地址哈希与源地址持续性的七层应用负载均衡,需要在LB设备上完成如下配置:

·     LB设备上配置实服务组、实服务器、虚服务。

·     配置地址端口类型的持续性组,持续性方法为源地址。。

·     入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。

5.1.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

5.1.4  配置注意事项

·     Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。

·     入方向跟出方向交换机均配置二层透传,网关都在LB上。

·     配置持续性方法为源地址持续性。

5.1.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为80,如下图所示。

图5-2 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1,均采用源IP地址哈希算法,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,如下图所示。

图5-3 新建实服务组

 

单击<确定>按钮,完成操作。

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图5-4 添加实服务组成员

 

图5-5 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图5-6 实服务组信息

 

5.配置地址端口类型的持续性组

在导航栏中选择“负载均衡>全局配置>持续性组”,单击<新建>按钮,创建地址端口类型的持续性sg-add,源地址持续性方法。

图5-7 新建地址端口类型的持续性组,源地址持续性方法

 

单击<确定>,完成操作。6.配置虚服务器

创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,应用实服务组sf1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,配置虚服务IP为61.159.4.100,实服务组为sf1,引用地址端口类型的持续性sg-add,开启虚服务,如下图所示。

图5-8 新建虚服务器

 

单击<确定>按钮,完成操作。

5.1.6  验证配置

1.虚服务配置实服务组的持续性组为源地址持续性sg-add,首先关闭实服务器rs2、rs3

图5-9 查看实服务组sf1状态

 

客户端向服务器发起一个源地址多个端口的HTTP请求,查看实服务器统计信息,只有rs1有流量:

图5-10 查看实服务器统计信息

 

2.开启实服务器rs2、rs3,查看实服务器的流量分担情况

图5-11 查看实服务组sf1状态

 

查看实服务器统计信息:由于虚服务配置了源地址持续性方法,当实服务器出现健康检测失败后又成功时,同一源地址,不同端口的请求仍然分配到同一台实服务器上。查看实服务器统计信息,仍然只有rs1有流量。

图5-12 查看实服务器统计信息

 

5.1.7  配置文件

#

nqa template tcp t1

destination port 80

#

sticky-group sg-add type address-port

ip source

#

server-farm sf1

predictor hash address source

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 vs type tcp

virtual ip address 61.159.4.100

default server-farm sf1 sticky sg-add

connection-sync enable

sticky-sync enable global

service enable

#

5.2  基于最小连接调度算法与源地址持续性共用的负载分担

5.2.1  组网需求

如图所示,Host发起访问虚服务器的地址,通过LB设备对3台服务器进行访问,三台服务器均可提供HTTP服务,访问服务器的流量将在三台服务器之间负载分担。LB设备上配置最小连接算法和源地址持续性,在服务器负载分担不均匀的场景下,要求每一个用户发送的请求必须分配到同一个服务器上。配置温暖上线功能,当其中一个实服务器出现健康检测失败后又成功的情况下,所有的新建流量不会全部突发到这个服务器上,避免服务器出现反复up、down的问题。

图5-13 基于最小连接算法+源地址持续性+温暖上线的七层负载组网图

 

5.2.2  配置思路

为实现基于最小连接算法+源地址持续性+温暖上线的七层应用负载均衡,需要在LB设备上完成如下配置:

·     实服务组上配置温暖上线功能。最小连接算法必须要和温暖上线一起使用的原因:如果出现服务器健康检测失败后又UP起来,所有的新建都会突发到这个服务器上面去,又导致这个服务器down掉,这样就会导致服务器反复UP,down。

·     配置地址端口类型的持续性组,持续性方法为源地址。

·     入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。

5.2.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

5.2.4  配置注意事项

·     Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。

·     入方向跟出方向交换机均配置二层透传,网关都在LB上。

·     实服务组需要开启温暖上线功能。

·     持续性方法为源地址。

5.2.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为80,如下图所示。

图5-14 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1,采用加权最小连接算法,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为基于成员的加权最小连接算法,开启温暖上线功能,健康检测方法选择t1,如下图所示。

图5-15 新建实服务组

 

 

单击<确定>按钮,完成操作。

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图5-16 添加实服务组成员

 

图5-17 新建实服务器

  

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图5-18 实服务组信息

 

5.配置地址端口类型的持续性组

在导航栏中选择“负载均衡>全局配置>持续性组”,单击<新建>按钮,创建地址端口类型的持续性sg-add,源地址持续性方法。

图5-19 新建地址端口类型的持续性组,源地址持续性方法

 

单击<确定>,完成操作。

6.配置虚服务器

创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,应用实服务组sf1,并开启虚服务。

在导航栏中选择“负载均衡> 应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,配置虚服务IP为61.159.4.100,实服务组为sf1,引用地址端口类型的持续性sg-add,开启虚服务,如下图所示。

图5-20 新建虚服务器

 

单击<确定>按钮,完成操作。

5.2.6  验证配置

1.验证查看实服务组信息,在服务器端配置三台实服务器rs1、rs2和rs3的延迟时间分别为100ms、200ms和300ms,由于实服务组配置了加权最小连接算法,查看实服务器流量统计信息的流量分配情况rs1>rs2>rs3.

图5-21 实服务器统计信息

 

2.客户端发起一个源地址的访问,查看实服务器流量统计,流量分配到rs3上

图5-22 实服务器统计信息

 

客户端再次发起这个源地址的访问,查看实服务器流量统计,流量仍然分配到rs3上

图5-23 实服务器统计信息

 

3.实服务组配置温暖上线功能,实服务器rs1和rs2健康检测成功,关闭实服务器rs3,流量均匀分布到实服务器rs1和rs2上

图5-24 实服务组sf1状态

 

客户端向服务器发起HTTP请求,查看实服务器统计信息,rs1和rs2均匀分担流量:

图5-25 实服务器统计信息

 

4.开启实服务器rs3,查看实服务器的流量分担情况,

图5-26 实服务组sf1状态

 

查看实服务器统计信息:由于实服务组配置温暖上线,当rs3健康检测成功后,所有的新建流量不会全部分配到rs3上面,查看三台实服务器,都有新建流量分配。查看rs3流量统计,rs3健康检测成功后,流量计数缓慢增加。

图5-27 实服务器统计信息

 

单击<刷新>按钮。

图5-28 实服务器统计信息

 

5.实服务组关闭温暖上线功能,实服务器rs1和rs2健康检测成功,关闭实服务器rs3,流量均匀分布到实服务器rs1和rs2上

图5-29 实服务组sf1状态

 

客户端向服务器发起HTTP请求,查看实服务器统计信息,rs1和rs2均匀分担流量。

图5-30 实服务器统计信息

 

6.开启实服务器rs3,查看实服务器的流量分担情况

图5-31 实服务组sf1状态

 

查看实服务器统计信息:由于实服务组配置了最小连接算法,实服务组密钥配置温暖上线功能,当rs3健康检测成功后,所有的新建流量都会分配到rs3上面,查看rs3流量统计,rs3健康检测成功后,流量计数迅速增加。

图5-32 查看实服务器统计信息

 

单击<刷新>按钮。

图5-33 实服务器统计信息

 

5.2.7  配置文件

#

nqa template tcp t1

destination port 80

#

server-farm sf1

predictor least-connection member

probe t1

success-criteria at-least 1

slow-online standby-time 15 ramp-up-time 30

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

 #

sticky-group sg-add type address-port

 ip source

#

virtual-server vs type tcp

 virtual ip address 61.159.4.100

 default server-farm sf1 sticky sg-add

connection-sync enable

sticky-sync enable global

 service enable

#

6 七层应用负载均衡配置举例

6.1  基于URL的七层负载

6.1.1  组网需求

所示,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和ServerE,其他URL的请求分给ServerC和Server F。

图6-1 基于URL的七层负载组网图

 

6.1.2  配置思路

为实现基于URL的七层应用负载均衡,需要在LB设备上完成如下配置:

·     LB设备上配置实服务组、实服务器、虚服务。

·     配置策略,类和动作,类中配置匹配URL的规则,使得URL中含有sports、government、news的请求分给Server A和Server D,URL中含有finance、technology、shopping的请求分给Server B和Server E,其他URL的请求分给Server C和Server F。

6.1.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

6.1.4  配置注意事项

·     Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。

·     入方向跟出方向交换机均配置二层透传,网关都在LB上。

·     如果一个HTTP带有多个请求,请配置逐请求负载均衡。

6.1.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-2 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1、sf2、sf3,均采用源IP地址哈希算法,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,如下图所示。

图6-3 新建实服务组

 

单击<确定>按钮,完成操作。

创建实服务组sf2、sf3与sf1步骤相同。

图6-4 实服务组信息

 

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-5 添加实服务组成员

 

图6-6 新建实服务器

 

单击<确定>按钮,完成操作。

图6-7 实服务器信息

 

单击<确定>按钮,完成操作。

创建其余5个实服务器与配置rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs11,配置其IPv4地址为192.168.1.11。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf2,添加成员列表,参照上图步骤创建实服务器rs2和rs12,分别配置其IPv4地址为192.168.1.2和192.168.1.12。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf3,添加成员列表,参照上图步骤创建实服务器rs3和rs13,分别配置其IPv4地址为192.168.1.3和192.168.1.13。

5.配置HTTP Cookie类型的持续性组

创建HTTP Cookie类型的持续性组。配置持续性方法为Cookie插入,名字为cookie1。(Cookie插入,即在服务器发送的HTTP应答报文中插入Set-cookie字段用于持续性处理)。

在导航栏中选择“负载均衡>全局配置>持续性组”,进入持续性组页面。

单击<新建>,新建持续组名称为sg1,类型为http-cookie,Cookie持续性方法:Cookie插入,Cookie名称为cookie1,如下图所示。

图6-8 新建持续性组

 

单击<确定>按钮,完成操作。

6.配置流量特征lc1、lc2

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面。

单击<新建>,新建流量特征名称为lc1,类型选择HTTP,匹配方式为匹配任意一条规则:

·     match ID为1,类型选择URL,URL为sports,单击<确定>。

·     match ID为2,类型选择URL,URL为news,单击<确定>。

·     match ID为3,类型选择URL,URL为government,单击<确定>。

图6-9 新建流量特征lc1

 

单击<确定>按钮,完成操作。

 

单击<确定>按钮,完成操作。

 

单击<确定>,完成操作。

图6-10 流量特征信息

 

创建lc2与lc1步骤相同,配置参数如下图所示。

图6-11 流量特征lc2信息

 

7.配置负载均衡动作la1、la2、la3,引用持续性方法sg1

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>,新建动作名称为la1,类型选择HTTP,主用实服务组sf1,持续性组为sg1,如下图所示。

图6-12 新建动作信息

 

单击<确定>,完成操作。

负载均衡动作la2、la3与la1创建步骤相同,la2主用实服务组sf2,la3主用实服务组sf3,la2、la3配置参数分别如图6-13、6-14所示。

图6-13 la2配置参数

 

图6-14 la3配置参数

 

8.配置负载均衡策略lp1

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面。

单击<新建>,新建策略名称为lp1,类型选择HTTP,规则单击<新建>,流量特征选择lc1,动作选择la1,单击<确定>;再次单击<新建>,流量特征选择lc2,动作选择la2,单击<确定>;默认动作选择la3,如下图所示。

图6-15 新建策略信息

 

单击<确定>,完成操作。

图6-16 策略lp1配置信息

 

单击<确定>,完成操作。

9.配置参数模板,对每个HTTP请求报文都进行负载均衡

在导航栏中选择“负载均衡>应用负载>参数模板”,进入参数模板页面。

单击<新建>,新建参数模板名称为pp1,类型选择HTTP,开启逐请求负载均衡,如下图所示。

图6-17 新建参数模板信息

 

单击<确定>,完成操作。

10.配置虚服务器

创建HTTP类型的虚服务vs,配置其VSIP为61.159.4.100,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务,如下图所示。

图6-18 新建虚服务器

 

单击<确定>,完成操作。

6.1.6  验证配置

1.Host通过发起URL中分别包含aaa、sports、news、government、finance、technology、shopping的七个请求报文访问HTTP服务器,访问成功,可以在LB设备上查看到虚服务器和实服务器的统计信息,且在Host端抓包可以看到,服务器端发回的响应报文中头部有set-cookie字段

虚服务有统计信息:

图6-19 虚服务统计信息

 

当发起URL中包含sports、news、government的请求时,流量特征匹配lc1,此时rs1有流量统计:

图6-20 实服务统计信息

 

 

当发起URL中包含finance、technology、shopping的请求时,流量特征匹配lc2,此时rs12有流量统计:

图6-21 实服务统计信息

 

 

当发起URL中包含aaa的请求时,流量特征匹配不上lc1和lc2,走默认的lc3,此时rs13有流量统计:

图6-22 实服务统计信息

 

 

同时发起URL中包含aaa、sports、news、government、 finance、technology、shopping的请求,统计如下:

图6-23 虚服务统计信息

 

图6-24 实服务组统计信息

 

图6-25 实服务统计信息

 

2.发起URL中包含sports、news、government的请求,验证Cookie插入的持续性是否生效,抓包看服务器端返回的响应报文中头部set-cookie字段:cookie1=2.5.b092d037.0.

图6-26 客户端抓包报文

 

查看实服务器统计只有rs1命中:

图6-27 实服务统计信息

 

再次发起带有这个Cookie值的报文请求:Cookie: cookie1=2.5.b092d037.0,查看持续性生效,只有rs1有统计:

图6-28 实服务统计信息

 

6.1.7  配置文件

#

nqa template http t1

 expect status 200

#

server-farm sf1

predictor hash address source

probe t1

success-criteria at-least 1

real-server rs1 port 0

success-criteria at-least 1

real-server rs11 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

real-server rs12 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

real-server rs13 port 0

success-criteria at-least 1

#

real-server rs1

ip address 192.168.1.1

#

real-server rs11

ip address 192.168.1.11

#

real-server rs2

ip address 192.168.1.2

#

real-server rs12

ip address 192.168.1.12

#

real-server rs3

ip address 192.168.1.3

 #

real-server rs13

ip address 192.168.1.13

#

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

#

sticky-group sg1 type http-cookie

 cookie insert name cookie1

 check all-packet

#

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

sticky-sync enable global

service enable

#

6.2  基于host的七层负载

6.2.1  组网需求

如图所示,Host访问域名,通过DNS server将域名解析出虚服务器地址,Host发起访问虚服务器的地址,通过LB设备对3台服务器进行访问,三台服务器均可提供HTTP服务,访问服务器的流量将根据负载均衡策略在三台服务器之间负载分担。

图6-29 基于host的七层负载组网图

 

6.2.2  配置思路

为实现基于host的七层应用负载均衡,需要在LB设备上完成如下配置:

·     LB设备上配置实服务组、实服务器、虚服务。

·     配置策略,类和动作,类中配置匹配host的规则,使得host是www.example1.com的请求分给Server A,host是www.example2.com的请求分给Server B,host是www.example3.com的请求分给Server C。

·     DNS server提供解析DNS域名的服务,解析域名后的地址返回给Host。

·     LB虚服务地址是DNS域名解析后的地址,使得Host再次发起请求时是对虚服务的请求。

6.2.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

6.2.4  配置注意事项

·     Host与DNS server路由可达,Host可以直接将DNS服务器指向DNS server。

·     入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。

·     DNS server解析域名的地址跟LB上虚服务的地址一致。

6.2.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-30 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1、sf2、sf3,均采用源IP地址哈希算法,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,如下图所示。

图6-31 新建实服务组

 

单击<确定>按钮,完成操作。

创建实服务组sf2、sf3与sf1步骤相同。

图6-32 实服务组信息

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-33 添加实服务组成员

 

图6-34 新建实服务器

  

 

单击<确定>按钮,完成操作。

图6-35 实服务器信息

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf2,添加成员列表,参照上图步骤创建实服务器rs2,配置其IPv4地址为192.168.1.2。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf3,添加成员列表,参照上图步骤创建实服务器rs3,配置其IPv4地址为192.168.1.3。

5.配置流量特征lc1、lc2、lc3

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面,单击<新建>新建

流量特征名称为lc1,类型选择HTTP,匹配方式为匹配所有规则,Match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.example1.com,如下图所示。

图6-36 新建流量特征

 

单击<确定>按钮,完成操作。

图6-37 流量特征信息

 

按照lc1的步骤依次分别新建lc2、lc3:

新建流量特征名称为lc2,类型选择HTTP,匹配方式为匹配所有规则,match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.example2.com。

新建流量特征名称为lc3,类型选择HTTP,匹配方式为匹配所有规则,match ID为1,类型选择HTTP Header,Header名称为host,Header值为www.example3.com。

6.配置负载均衡动作la1、la2、la3

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>,新建动作名称为la1,类型选择HTTP,主用实服务组sf1,如下图所示。

图6-38 新建动作信息

 

单击<确定>,完成操作。

创建la2、la3与la1步骤相同,la2主用实服务组是sf2,la3主用实服务组是sf3。

7.配置负载均衡策略lp1

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面。

单击<新建>,新建策略名称为lp1,类型选择HTTP,规则单击<新建>,流量特征选择lc1,动作选择la1,单击<确定>。再次单击<新建>,流量特征选择lc2,动作选择la2,单击<确定>。再次单击<新建>,流量特征选择lc3,动作选择la3,单击<确定>,如下图所示。

图6-39 新建策略

 

图6-40 新建策略信息

 

单击<确定>,完成操作。

8.配置虚服务器

创建HTTP类型的虚服务vs,配置其VSIP为61.159.4.100,应用负载均衡策略lp1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,并开启虚服务,如下图所示。

图6-41 新建虚服务器

 

单击<确定>,完成操作。

6.2.6  验证配置

1.Host发起访问www.example1.com请求时,rs1有统计,发起访问www.example2.com的请求时,rs2有统计,发起访问www.example3.com请求时,rs3有统计。查看虚服务器和实服务器统计信息:

图6-42 虚服务器统计信息

当发起访问www.example1.com请求时,流量特征匹配lc1,此时rs1有流量统计:

图6-43 实服务器统计信息

 

当发起访问www.example2.com请求时,流量特征匹配lc2,此时rs2有流量统计:

图6-44 查看实服务器统计信息

 

当发起访问www.example3.com请求时,流量特征匹配lc3,此时rs3有流量统计:

图6-45 查看实服务器统计信息

 

6.2.7  配置文件

#

nqa template http t1

 expect status 200

#

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.example1.com

#

loadbalance class lc2 type http

 match 1 header host value www.example2.com

#

loadbalance class lc3 type http

 match 1 header host value www.example3.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 vs type http

virtual ip address 61.159.4.100

lb-policy lp1

sticky-sync enable global

service enable

#

6.3  基于优先级调度七层应用负载

6.3.1  组网需求

所示,Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务;Host访问服务器的流量会根据三台服务器的优先级进行选择,如果实服务组中配置了限制调度的个数,实服务器优先级跟调度个数会共同对实服务器进行调度,实现负载分担。

图6-46 基于优先级调度七层服务器负载组网图

 

6.3.2  配置思路

为实现基于优先级调度的七层应用负载均衡,需要在LB设备上完成如下配置:

·     LB设备上配置实服务组、实服务器、虚服务。

·     若需要将流量只分配给优先级最高的服务器时,实服务组中配置可选择的实服务器的数量为1,实服务器配置不同的优先级分别为4、8、1。

·     若需要将流量分配给其中两台服务器时,实服务组中配置可选择的实服务器的数量为2,实服务器配置不同的优先级分别为4、8、1。

·     入方向交换机二层透传,网关在LB上,Host到LB路由可达,出方向交换机二层透传,网关在LB上,LB到服务器路由可达、服务器到LB路由可达。

6.3.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

6.3.4  配置注意事项

·     Host到LB路由可达,LB到server路由可达,server到LB路由可达,服务器网关在LB上。

·     入方向跟出方向交换机均配置二层透传,网关都在LB上。

·     实服务组中配置可选择的实服务器数量,三台服务器配置不同的优先级。

6.3.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-47 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建实服务组sf1,采用源IP地址哈希算法,并指定其健康检测方法为t1,勾选“限制可被算法调用的实服务器数量”,并进行数量配置

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,勾选“限制可被调度算法调用的实服务器数量”,最小数量与最大数量均配置成1,如下图所示。

图6-48 新建实服务组

 

单击<确定>按钮,完成操作。

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,优先级为4,实服务组选择sf1,如下图所示。

图6-49 添加实服务组成员

 

图6-50 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3。rs2优先级为8,IPv4地址为192.168.1.2;rs3优先级为1,IPv4地址为192.168.1.3。

图6-51 实服务组信息

 

5.配置虚服务器

创建HTTP类型的虚服务器vs,配置其VSIP为61.159.4.100,应用实服务组sf1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择HTTP,配置虚服务器IP为61.159.4.100,指定默认实服务组sf1,并开启虚服务,如下图所示。

图6-52 新建虚服务器

 

单击<确定>按钮,完成操作。

 

6.3.6  验证配置

1. 实服务组中配置了限制服务器数量为1,Host向地址61.159.4.100的FTP服务器发起ftp请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息,实服务器优先级最高的rs2被选中,只有一个实服务器rs2有流量统计

图6-53 虚服务统计信息

 

图6-54 实服务器统计信息

 

2. 当修改实服务组中配置限制服务器数量为2时,Host向地址61.159.4.100的FTP服务器发起ftp请求,访问成功后可以在LB设备上查看到虚服务器和实服务器的统计信息,流量分配给优先级较高的rs1和rs2

图6-55 虚服务器统计信息

 

图6-56 实服务器统计信息

 

6.3.7  配置文件

#

nqa template http t1

 expect status 200

#

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

sticky-sync enable global

 service enable

#

6.4  客户端源地址插入

6.4.1  组网需求

SLB部署SNAT业务情况下,服务器需要基于客户端的地址做数据统计,在客户端请求报文中插入值。

如图所示,内网用户Host通过LB设备对3台服务器进行访问,公网内三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。要求Host访问流量进行源地址转换,且其中将访问URL含关键字government的客户端地址透传给实服务器C,以便实服务器甄别客户端做进一步安全性处理;其它URL流量在实服务器A和B之间负载分担。

图6-57 客户端源地址插入组网图

 

6.4.2  配置思路

为了实现LB设备透传特定用户的客户端源地址,需要在LB设备上完成如下配置:

·     配置SNAT屏蔽客户端内网地址。

·     创建负载均衡策略,其中对于URL包含government的访问请求,动作中启用插入X-Forwarded-For字段以便携带客户端源地址;其它URL直接负载分担到实服务器。

·     创建HTTP类型的参数模板,开启每请求执行动作,对客户端的每个请求都插入源地址

6.4.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

6.4.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。

·     SNAT地址池的地址与出接口同网段时,需要在地址池上配置免费发送ARP。

·     HTTP报文中的首部内容为1~255个字符的字符串,也可以使用以下特定含义的字符串,说明:%is:源IP地址或源IPv6地址。%ps:源端口号。%id:目的IP地址或目的IPv6地址。%pd:目的端口号。

6.4.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-58 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建snat地址池

在导航栏中选择“负载均衡>全局配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,配置起始地址和结束地址为接口同网段公网地址192.168.1.254,配置发送免费ARP或ND报文的接口,如下图所示。

图6-59 新建源地址池

 

单击<确定>,完成操作。

图6-60 源地址池信息

 

单击<确定>,完成操作。

4.配置实服务组

# 创建实服务组sf1,采用的调度算法为源IP地址哈希算法,选择源地址池snat1。

负载均衡>应用负载>实服务组,单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,源地址池选择snat1。

图6-61 新建实服务组sf1

 

 

单击<确定>按钮,完成操作。

# 创建实服务组sf2,采用的调度算法为加权轮转,选择源地址池snat1。

负载均衡>应用负载>实服务组,新建实服务组sf2,调度算法选择加权轮转,健康检测方法选择t1,源地址池选择snat1,单击<确定>。

图6-62 新建实服务组sf2

 

 

5.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器rs1,IP地址为192.168.1.1,。单击<确定>。

图6-63 添加实服务组成员

 

图6-64 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2和rs3与创建rs1步骤相同

负载均衡>应用负载>实服务组,编辑实服务组sf1,添加成员列表,参照上图创建实服务器rs2,配置其IPv4地址为192.168.1.2。

负载均衡>应用负载>实服务组,编辑实服务组sf2,添加成员列表,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3。

图6-65 实服务组信息

 

6.创建负载均衡流量特征

负载均衡>应用负载>高级策略>流量特征,新建HTTP类型的流量特征名称为lc1,识别访问请求中URL含government关键字的用户。

图6-66 新建流量特征

 

单击<确定>按钮,完成操作。

图6-67 流量特征信息

 

7.创建负载均衡动作

# 新建HTTP类型的动作名称为la1,为转发到实服务组sf2,并启用插入X-Forwarded-For字段。

负载均衡>应用负载>高级策略>动作,新建HTTP类型的动作名称为la1为转发到实服务组sf2,并启用插入X-Forwarded-For字段。

图6-68 新建动作

 

# 新建HTTP类型的动作名称为la2,为转发到实服务组sf1

负载均衡>应用负载>高级策略>动作,新建HTTP类型的动作名称为la2为转发到实服务组sf1。

图6-69 新建动作

 

8.创建负载均衡策略

# 创建HTTP类型的负载均衡策略lp1,配置默认动作为la2,流量特征为lc1的动作为为la1。

负载均衡>应用负载>高级策略>负载均衡策略,新建HTTP类型的策略名称为lp1,默认动作为la2,新建规则流量特征为lc1动作为la1。

图6-70 新建策略

 

单击<确定>,完成操作。

图6-71 新建策略信息

 

9.配置参数模板

创建HTTP类型的参数模板,开启每请求执行动作。

在导航栏中选择“负载均衡>应用负载>参数模板”,单击<新建>,创建HTTP类型参数模板pp1,开启每请求执行动作。

图6-72 新建参数模板

 

10.配置虚服务器

创建HTTP类型的虚服务vs,配置其VSIP为61.159.4.100,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择HTTP,配置虚服务IP为61.159.4.100,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务,如下图所示。

图6-73 新建虚服务器

 

6.4.6  验证配置

1.Host发起URL中不含government的请求,通过http:// 61.159.4.100访问HTTP服务器,访问成功,查看请求被分配到实服务组sf1的实服务器rs1和rs2上。查看虚服务器和实服务器统计信息:

图6-74 虚服务统计信息

 

图6-75 实服务统计信息

 

2.Host发起URL中包含government的请求,通过http:// 61.159.4.100访问HTTP服务器,访问成功,在实服务器上抓包可以看到URL中含government的请求被分配到rs3,且请求报文中含有名字为x-forwarded-for、值为客户源地址的Header,查看虚服务器、实服务器的统计信息以及抓包信息:

图6-76 虚服务统计信息

 

图6-77 实服务统计信息

3.大量Host通过http:// 61.159.4.100访问HTTP服务器,访问成功,在服务器端抓包可以看到URL中含government的请求,且请求报文中含有名字为x-forwarded-for、值为客户源地址的Header

 

6.4.7  配置文件

#

nqa template http t1

 expect status 200

#

loadbalance snat-pool snat1

 ip range start 192.168.1.254 end 192.168.1.254

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

 snat-pool snat1

 probe t1

 success-criteria at-least 1

 real-server rs3 port 0

  success-criteria at-least 1

#

loadbalance class lc1 type http

 match 1 url government

#

loadbalance action la1 type http

 server-farm sf2

 header insert request name X-Forwarded-For value %is

#

loadbalance action la2 type http

 server-farm sf1

#

loadbalance policy lp1 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

#

parameter-profile pp1 type http

 header modify per-request

#

virtual-server vs type http

 virtual ip address 61.159.4.100

parameter http pp1

 lb-policy lp1

sticky-sync enable global

 service enable

#

6.5  NAT66客户端源地址插入

6.5.1  组网需求

SLB部署SNAT业务情况下,服务器需要基于客户端的地址做数据统计,在客户端请求报文中插入值。

如图所示,内网用户Host通过LB设备对3台服务器进行访问,公网内三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。要求Host访问流量进行源地址转换,且其中将访问URL含关键字government的客户端地址透传给实服务器C,以便实服务器甄别客户端做进一步安全性处理;其它URL流量在实服务器A和B之间负载分担。

图6-78 客户端源地址插入组网图

 

6.5.2  配置思路

为了实现LB设备透传特定用户的客户端源地址,需要在LB设备上完成如下配置:

·     配置SNAT屏蔽客户端内网地址。

·     创建负载均衡策略,其中对于URL包含government的访问请求,动作中启用插入X-Forwarded-For字段以便携带客户端源地址;其它URL直接负载分担到实服务器。

·     创建HTTP类型的参数模板,开启每请求执行动作,对客户端的每个请求都插入源地址。

6.5.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

6.5.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。

·     HTTP报文中的首部内容为1~255个字符的字符串,也可以使用以下特定含义的字符串,说明:%is:源IP地址或源IPv6地址。%ps:源端口号。%id:目的IP地址或目的IPv6地址。%pd:目的端口号。%sps:服务器侧的源端口号。%spd:服务器侧的目的端口号。%sis:服务器侧的源IP地址。%sid:服务器侧的目的IP地址。

6.5.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-79 新建健康检测模板

 

单击<确定>按钮,完成操作。

3.创建snat地址池

在导航栏中选择“负载均衡>全局配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,配置起始地址和结束地址为接口同网段公网地址7::6,配置发送免费ARP或ND报文的接口,如下图所示。

图6-80 新建源地址池

 

单击<确定>,完成操作。

图6-81 源地址池信息

 

单击<确定>,完成操作。

4.配置实服务组

# 创建实服务组sf1,采用的调度算法为源IP地址哈希算法,选择源地址池snat1。

负载均衡>应用负载>实服务组,单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1,源地址池选择snat1。

图6-82 新建实服务组sf1

 

 

单击<确定>按钮,完成操作。

# 创建实服务组sf2,采用的调度算法为加权轮转,选择源地址池snat1。

负载均衡>应用负载>实服务组,新建实服务组sf2,调度算法选择加权轮转,健康检测方法选择t1,源地址池选择snat1,单击<确定>。

图6-83 新建实服务组sf2

 

5.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf1,添加成员列表,新建实服务器rs1,IP地址为7::2。单击<确定>。

图6-84 添加实服务组成员

 

图6-85 新建实服务器

 

单击<确定>按钮,完成操作。

参照上图在实服务组sf1下创建实服务器rs2,配置其IPv6地址为7::3。

参照上图在实服务组sf2下创建实服务器rs3, 配置其IPv6地址为7::4。

 

图6-86 实服务组信息

 

6.创建负载均衡流量特征

负载均衡>应用负载>高级策略>流量特征,新建HTTP类型的流量特征名称为lc1,识别访问请求中URL含government关键字的用户。

图6-87 新建流量特征

 

单击<确定>按钮,完成操作。

图6-88 流量特征信息

 

7.创建负载均衡动作

新建HTTP类型的动作名称为la1,为转发到实服务组sf2,并启用插入X-Forwarded-For字段。

负载均衡>应用负载>高级策略>动作,新建HTTP类型的动作名称为la1为转发到实服务组sf2,并启用插入X-Forwarded-For字段。

图6-89 新建动作

 

# 新建HTTP类型的动作名称为la2,为转发到实服务组sf1

负载均衡>应用负载>高级策略>动作,新建HTTP类型的动作名称为la2为转发到实服务组sf1。

图6-90 新建动作

 

8.创建负载均衡策略

创建HTTP类型的负载均衡策略lp1,配置默认动作为la2,流量特征为lc1的动作为为la1。

负载均衡>应用负载>高级策略>负载均衡策略,新建HTTP类型的策略名称为lp1,默认动作为la2,新建规则流量特征为lc1动作为la1。

图6-91 新建策略

 

单击<确定>,完成操作。

图6-92 新建策略信息

 

9.配置参数模板

创建HTTP类型的参数模板,开启每请求执行动作。

在导航栏中选择“负载均衡>应用负载>参数模板”,单击<新建>,创建HTTP类型参数模板pp1,开启每请求执行动作。

图6-93 新建参数模板

 

10.配置虚服务器

创建HTTP类型的虚服务vs,配置其VSIP为200::1,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择HTTP,配置虚服务IP为200::1,应用负载均衡策略lp1,以及参数模板pp1,并开启虚服务,如下图所示。

图6-94 新建虚服务器

 

 

6.5.6  验证配置

1.大量Host通过http:// 200::1访问HTTP服务器,访问成功,在服务器端抓包可以看到URL中含government的请求,且请求报文中含有名字为x-forwarded-for、值为客户源地址的Header

 

6.5.7  配置文件

#

nqa template http t1

 expect status 200

#

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 sf2

 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 sf2

 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

#

parameter-profile pp1 type http

 header modify per-request

#

virtual-server vs type http

 virtual ipv6 address 200::1

parameter http pp1

 lb-policy lp1

sticky-sync enable global

 service enable

#

 

6.6  基于URL的策略重定向

6.6.1  组网需求

根据请求中的URL分类,将HTTP请求重定向为HTTPS请求,或者将HTTPS请求重定向为HTTP请求。

Host通过LB设备对3台服务器进行访问。服务器上配置HTTP协议和HTTPS协议。

三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。

针对如下URL,要求配置HTTP请求自动重定向到HTTPS请求。

原请求路径

重定向路径

http://61.159.4.100/login/index.html

https://61.159.4.100/login/index.html

 

针对如下URL,要求配置HTTPS请求自动重定向到HTTP请求。

原请求路径

重定向路径

https://61.159.4.100/map/index.html

http://61.159.4.100/map/index.html

 

图6-95 LB设备基于URL重定向组网图

 

6.6.2  配置思路

为了实现基于URL的策略重定向功能,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器、负载均衡策略。

·     将CA证书和本地证书导入到LB设备,并在LB设备上创建SSL策略。

·     配置虚服务,并在虚服务下应用策略。

·     根据请求中的URL分类,将HTTP请求重定向为HTTPS请求,或者将HTTPS请求重定向为HTTP请求

6.6.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.6.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     HTTPS类型虚服务器对应的实服务器使用端口号为80。

·     配置完虚服务后,需要开启虚服务。

·     创建SSL服务器端策略后,需要手工在命令行下配置SSL协商时SSL服务器端发送完整的证书链功能。

6.6.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>按钮,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-96 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 新建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>按钮,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

 

图6-97 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,端口为80,如下图所示。

图6-98 添加实服务组成员

 

图6-99 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3,端口均为80。

图6-100 实服务组信息

 

5. 配置负载均衡策略——流量特征

匹配http://61.159.4.100/login/index.html等URL中带有/login关键字的HTTP请求流量

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面,新建流量特征名称为lc-http,新建规格match ID为1,类型为URL,URL为/login。

图6-101 新建流量特征lc-http

 

匹配https://61.159.4.100/map/index.html等URL中带有/map关键字的HTTPS请求流量。新建HTTP类型的流量特征lc-https,新建匹配规则match ID为1,类型为URL,URL为/map。

图6-102 新建流量特征lc-https

 

6. 配置负载均衡策略——动作

将HTTP请求报文重定向为HTTPS请求报文的动作http-https。

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面,新建动作名称为http-https,类型为HTTP重定向,重定向URL为https://%h%p。

图6-103 新建动作

 

将HTTPS请求报文重定向为HTTP请求报文的动作https-http。

负载均衡>应用负载>高级策略>动作,新建动作名称为https-http,类型为HTTP重定向,重定向URL为http://%h%p。

图6-104 新建动作

 

7. 配置负载均衡策略——策略

将上述流量特征和动作关联实现如下功能:

(1)     策略lp1将URL中带有/login的HTTP报文重定向为HTTPS报文

(2)     策略lp2将URL中带有/map的HTTPS报文重定向为HTTP报文

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面,新建负载均衡策略lp1,类型为HTTP,新建规则流量特征为lc-http,动作为http-https

图6-105 新建负载均衡策略lp1

 

负载均衡>应用负载>高级策略>负载均衡策略,新建负载均衡策略lp2,类型为HTTP,新建规则流量特征为lc-https,动作为https-http

图6-106 新建负载均衡策略lp2

 

8. 新建PKI域,并禁止CRL检查

在导航栏中选择“对象>PKI>证书”,进入证书页面。

单击<新建>PKI域,添加域名称为ca,不使能检查证书是否已经被CA吊销功能,如下图所示。

图6-107 新建PKI域

 

单击<确定>按钮,完成操作。

9. 导入CA证书和本地证书到新建的PKI域ca中

选中新建的PKI域ca,单击<导入证书>按钮,如下图所示。

图6-108 导入证书

 

证书类型选择CA证书,单击<选择文件>按钮,选择CA证书文件,如下图所示。

图6-109 导入CA证书

 

点击<确定>后点击<是>确认指纹信息。

图6-110 证书指纹信息

 

证书类型选择本地证书,单击<选择文件>按钮,选择本地证书文件,输入证书口令,如下图所示。

图6-111 导入本地证书

 

单击<确定>,完成操作。

10. 新建SSL服务器端策略,并且引用PKI域ca

在导航栏中选择“对象>SSL>服务器端策略”,进入服务器端策略页面。

单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,如下图所示。

图6-112 新建SSL服务器端策略

 

单击<确定>按钮,完成操作。

由于在Web上不支持配置SSL协商时SSL服务器端发送完整的证书链的功能,需要手工在命令行下配置开启该功能。

[Sysname] ssl server-policy ssl

[Sysname-ssl-server-policy-ssl] certificate-chain-sending enable

11. 配置虚服务器。

#配置两个虚服务,分别响应HTTP请求报文和HTTPS请求报文

负载均衡>应用负载>虚服务器,新建虚服务器vs1,类型为HTTP,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为80,绑定负载均衡策略lp1,并开启虚服务单击<确定>。

 

图6-113 新建虚服务器vs1

 

单击<确定>按钮,完成操作。

负载均衡>应用负载>虚服务器,新建虚服务器vs2,类型为HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用SSL服务端策略ssl,绑定负载均衡策略lp2,并开启虚服务。

图6-114 新建虚服务器vs2

 

单击<确定>按钮,完成操作。

6.6.6  验证配置

1. 将http://x.x.x.x/login请求重定向为:https://x.x.x.x/login

输入:http://61.159.4.100/login/index.html回车之后将会重定向为https://61.159.4.100/login/index.html。

图6-115 HOST端抓包如下:

 

2. 将https://x.x.x.x/map/index.html请求重定向为:http://x.x.x.x/map.html

输入:https://61.159.4.100/map/index.html回车之后将会重定向为http://61.159.4.100/login/index.html。

图6-116 HOST端抓包如下:

 

6.6.7  配置文件

#

#

nqa template http t1

 expect status 200

#

pki domain ca

 public-key rsa general name ca

 undo crl check enable

#

ssl server-policy ssl

 pki-domain ca

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha

 rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_256_cbc_sha256 dhe_rsa_aes_1

28_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_

aes_256_cbc_sha384 ecdhe_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_e

cdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha256 ecdhe_ecdsa_aes_256_gcm_s

ha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256

 tls_aes_128_ccm_sha256 tls_aes_128_ccm_8_sha256

certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

#

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

#

loadbalance class lc-http type http match-any

 match 1 url /login

#

loadbalance class lc-https type http match-any

 match 1 url /map

#

loadbalance action http-https type http

 redirect relocation https://%h%p

#

loadbalance action https-http type http

 redirect relocation http://%h%p

#

loadbalance policy lp1 type http

 class lc-http action http-https

#

loadbalance policy lp2 type http

 class lc-https action https-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 vs1 type http

 virtual ip address 61.159.4.100

 lb-policy lp1

 default server-farm sf1

 sticky-sync enable global

 service enable

#

virtual-server vs2 type http

 port 443

 virtual ip address 61.159.4.100

 lb-policy lp2

 default server-farm sf1

 ssl-server-policy ssl

 sticky-sync enable global

 service enable

#

 

6.7  HTTP重定向内容的改写

6.7.1  组网需求

将实服务器返回的重定向报文中的location内容修改成指定内容。

Host通过LB设备对四台服务器进行访问。四台服务器均可提供HTTP服务,其中一组服务器提供8080端口的HTTP服务,另外一组服务器提供80端口的HTTP服务,根据不同的用户请求,将实服务器返回的重定向报文中的location内容修改成指定内容。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/

      

图6-117 LB设备HTTP重定向内容改写组网图

 

6.7.2  配置思路

用户访问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。

·     配置虚服务,并在虚服务下应用策略。

6.7.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.7.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     相应的实服务器使用端口号为8080。

·     配置完虚服务后,需要开启虚服务。

6.7.5  配置步骤

说明

以下验证过程均在LB设备上进行。

本例中采用两个RS分别回应重定向或200 OK报文,用户也可以根据实际情况在一台RS上进行设置

 

1. 配置接口IP地址步骤省略

2. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-118 新建健康检测模板t1

 

单击<确定>按钮,完成操作。

3. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测选择t1的实服务组,如下图所示。

图6-119 新建实服务组

 

单击<确定>按钮,完成操作。

再以同样方法添加实服务组sf2,用于客户端根据重定向内容重新发起请求的分配。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,端口号为8080,如下图所示。

图6-120 添加实服务组成员

 

图6-121 新建实服务器

 

单击<确定>按钮,完成操作。

负载均衡>应用负载>实服务组,编辑实服务组sf1,单击添加实服务组成员,参照上图新建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为8080。

负载均衡>应用负载>实服务组,编辑实服务组sf2,单击添加实服务组成员,参照上图新建实服务器rs11、rs12,分别配置其IPv4地址为192.168.1.11和192.168.1.12、实服务器端口为80。

图6-122 实服务组信息

 

5. 配置负载均衡策略——流量特征

匹配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。

图6-123 新建流量特征

 

图6-124 流量特征lc1参数

 

6. 配置负载均衡策略——动作

将用户URL中含test1、test2或者test3的请求报文发送给实服务组sf1。

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面,新建动作名称为la1,类型为HTTP,主用实服务组为sf1。在Header重写处,新建Header重写,将实服务器回应的重定向报文中的location修改为http://VIP/。其中Header名称为location,Header值为“.*:8080(.*)”,替换成的资源串为http://61.159.4.100%1。注:【%1代表的是将(.*)内容照抄,即不改变url】

 

图6-125 新建动作

 

将用户重新按照重定向内容发出的请求报文发送给实服务组sf2。

负载均衡>应用负载>高级策略>动作>新建:动作名称为la2,类型为HTTP,主用实服务组为sf2。

图6-126 新建动作

 

7. 配置负载均衡策略——策略

将上述流量特征和动作关联实现如下功能:

策略lp1将匹配流量特征lc1(即用户请求URL中带有test1、test2或者test3)的请求报文,动作为la1(即发送给实服务组sf1,并将返回的重定向报文中的location改写为http://VIP/);其它不匹配流量特征lc1的请求报文,动作为la2(即发送给实服务组sf2)。

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面,新建应用负载均衡策略名称为lp1,类型为HTTP,默认动作为la2,新建规则流量特征为lc1、动作为la1。

图6-127 新建策略

 

8. 新建HTTP类型的负载均衡参数模板

在导航栏中选择“负载均衡>应用负载>参数模板”,进入参数模板页面

新建HTTP类型的参数模板名称为pp1,类型选择HTTP,并开启逐请求负载均衡。

图6-128 新建参数模板

 

9. 配置虚服务器

配置HTTP类型的虚服务VS,端口为80

负载均衡>应用负载>虚服务器,新建HTTP类型的虚服务器vs,IP为61.159.4.100,端口号为80,引用lb策略lp1,绑定参数模板pp1,并开启虚服务,单击<确定>。

图6-129 新建虚服务器

 

6.7.6  验证配置

1. 客户端以http://61.159.4.100/test1.html 访问LB设备,实服务器回应重定向报文,其中location为http://192.168.1.1:8080/,经过LB后返给客户端的重定向location为http://60.159.4.100/,客户端随即用该URL访问虚服务成功。

 

2. 客户端以http://61.159.4.100/test2.html 访问LB设备,实服务器回应重定向报文,其中location为http://61.159.4.100:8080/,经过LB后返给客户端的重定向location为http://61.159.4.100/,客户端随即用该URL访问虚服务成功。

 

3. 客户端以http://61.159.4.100/test3.html 访问LB设备,实服务器回应重定向报文,其中location为http://www.hello.com:8080/,经过LB后返给客户端的重定向location为http://61.159.4.100/,客户端随即用该URL访问虚服务成功。

 

6.7.7  配置文件

#

nqa template http t1

 expect status 200

#

parameter-profile pp1 type http

 rebalance per-request

#

server-farm sf1

 predictor hash address source

 probe t1

 success-criteria at-least 1

 real-server rs1 port 8080

  success-criteria at-least 1

 real-server rs2 port 8080

  success-criteria at-least 1

#

server-farm sf2

 predictor hash address source

 probe t1

 success-criteria at-least 1

 real-server rs11 port 80

  success-criteria at-least 1

 real-server rs12 port 80

  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

#

real-server rs11

 ip address 192.168.1.11

#

real-server rs12

 ip address 192.168.1.12

#

real-server rs2

 ip address 192.168.1.2

#

virtual-server vs type http

 virtual ip address 61.159.4.100

 parameter http pp1

 lb-policy lp1

 sticky-sync enable global

 service enable

#

6.8  HTTP的Header插入、重写、删除

6.8.1  组网需求

如图所示,Host通过LB设备对3台服务器进行访问。三台服务器Server A、Server B和Server C均可提供HTTP服务,通过在LB设备上配置HTTP类型的负载均衡动作,实现对HTTP的Header进行插入、重写、删除操作。

图6-130 HTTP的Header插入、重写、删除组网图

 

6.8.2  配置思路

为实现HTTP的Header插入、重写、删除功能,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器、虚服务、负载均衡策略。

·     LB设备可以对HTTP的Header进行插入、重写、删除的操作

6.8.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.8.4  配置注意事项

·     Host端与LB的路由配置,使之路由可达。

·     Server端和LB的路由配置,使之路由可达。

·     Action中需要引用实服务组。

·     配置完虚服务后,需要开启虚服务。

6.8.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-131 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置实服务组

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-132 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-133 添加实服务组成员

 

图6-134 新建实服务器

 

单击<确定>按钮,完成操作。

负载均衡>应用负载>实服务组,编辑实服务组sf1,单击添加实服务组成员,参照上图步骤新建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-135 实服务组信息

 

5. 配置负载均衡策略——流量特征

匹配URL中带有test关键字的HTTP请求流量

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面,新建流量特征名称为lc1,类型为HTTP,选择匹配任意一条规则,新建匹配规则Match ID为1、类型为URL、URL为test。

图6-136 新建流量特征

 

6. 配置负载均衡策略——动作

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面,新建动作名称为la1,类型为HTTP,主用实服务器为sf1。

Header删除,新建方向为应答,Header名称为content-type。

Header插入,新建方向为双向,Header名称为header-insert-name,Header值为21

Header重写,新建方向为请求,Header名称为host,Header值为61.159.4.100,替换成的资源串为host.com。

图6-137 新建动作

 

单击<确定>,新建动作

7. 配置负载均衡策略——策略。

将上述流量特征和动作关联实现如下功能:

策略lp1将匹配流量特征lc1(即用户请求URL中带有test)的请求报文,动作为la1(即发送给实服务组sf1,并将处理http头部)。

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面,新建负载均衡策略为lp1,类型为HTTP,新建规则流量特征为lc1、动作为la1。

图6-138 新建负载均衡策略

 

8. 配置虚服务器

配置HTTP类型的虚服务vs,端口为80

负载均衡>应用负载>虚服务器,新建虚服务名称为vs,类型HTTP,IP为61.159.4.100,端口号为80,其默认实服务组为sf1,引用lb策略lp1,并开启虚服务,单击<确定>。

图6-139 新建虚服务器

 

6.8.6  验证配置

查看客户端及服务器端的抓包

1. Header插入

(1)     客户端request报文

图6-140 Header 插入的客户端request报文

 

(2)     服务器端request报文

图6-141 Header 插入的服务器端request报文

 

(3)     服务器端response报文

图6-142 Header 插入的服务器端response报文

 

(4)     客户端response报文

图6-143 Header 插入的客户端response报文

 

2. Header重写

(1)     客户端request报文

图6-144 Header 重写的客户端request报文

 

(2)     服务器端request报文

图6-145 Header 重写的服务器端request报文

 

3. Header删除

客户端抓包,相对于服务器端抓包,应答方向的HTTP报文中的Header内容content-type被删除。

(1)     服务器端response报文

图6-146 Header 删除的服务器端response报文

 

(2)     客户端response报文

图6-147 Header 删除的客户端response报文

 

6.8.7  配置文件

#

nqa template http t1

 expect status 200

#

server-farm sf1

 predictor hash address source

 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 class lc1 type http match-any

 match 1 url test

#

loadbalance action la1 type http

 server-farm sf1

 header delete response name Content-Type

 header insert both name header-insert-name value 21

 header rewrite request name Host value 61.159.4.100 replace host.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 vs type http

 virtual ip address 61.159.4.100

 lb-policy lp1

default server-farm sf1

 sticky-sync enable global

 service enable

#

6.9  HTTP的Cookie插入、重写、截取

6.9.1  组网需求

HOST通过LB设备对三台服务器进行访问,两台服务器均可提供HTTP服务,可对HTTP的Cookie进行插入、重写、截取操作。

insert表示持续性方法为Cookie插入,即在服务器发送的HTTP应答报文中插入Set-Cookie字段用于持续性处理。

rewrite表示持续性方法为Cookie重写,即改写服务器发送的HTTP应答报文所携带的Set-Cookie字段用于持续性处理。

get表示持续性方法为Cookie截取,即在服务器发送的HTTP应答报文中截取Set-Cookie字段用于持续性处理。

图6-148 HTTP的Cookie插入、重写、截取组网图

 

6.9.2  配置思路

为实现HTTP的Cookie插入、重写、截取功能,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器、虚服务、持续性组。

·     LB设备可以对HTTP的Cookie进行插入、重写、截取的操作,并可通过持续性的处理,来控制业务分配给具体的服务器。

6.9.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.9.4  配置注意事项

·     HOST端与LB的路由配置,使之路由可达。

·     Server端和LB的路由配置,使之路由可达。

·     虚服务中需要引用持续性组

·     配置完虚服务后,需要开启虚服务。

6.9.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>按钮,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-149 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 创建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

图6-150 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-151 添加实服务组成员

 

图6-152 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-153 实服务组信息

 

5. 配置持续性组。

在导航栏中选择“负载均衡>全局配置>持续性组”,进入持续性组页面。

单击<新建>按钮,新建持续性组名称为cookie_insert,类型为HTTP-Cookie,Cookie持续性方法为Cookie插入,Cookie名称为X-LB。

图6-154 新建持续性组cookie_insert

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>全局配置>持续性组”,进入持续性组页面。

单击<新建>按钮,新建持续性组名称为cookie_rewrite,类型为HTTP-Cookie,Cookie持续性方法为Cookie重写,Cookie名称为cookie_rewrite

图6-155 新建持续性组cookie_rewrite

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>全局配置>持续性组”,进入持续性组页面。

单击<新建>按钮,新建持续性组cookie_get,类型为HTTP-Cookie,Cookie持续性方法为Cookie截取,Cookie名称为cookie_get。

图6-156 新建持续性组cookie_get

 

单击<确定>按钮,完成操作。

6. 配置负载均衡策略——流量特征。

匹配URL中带有test1或test2关键字的HTTP请求流量

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面。

单击<新建>按钮,新建流量特征名称为lc1,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test1。

图6-157 新建流量特征lc1

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>应用负载>高级策略>流量特征”,进入流量特征页面。

单击<新建>按钮,新建流量特征名称为lc2,类型为HTTP,新建匹配规则Match ID为1,类型为URL,URL为test2。

图6-158 新建流量特征lc2

 

单击<确定>按钮,完成操作。

7. 配置负载均衡策略——动作。

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>按钮,新建动作名称为la1,类型为HTTP,主用实服务组为sf1,持续性组为cookie_insert。

图6-159 新建动作la1

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>按钮,新建动作名称为la2,类型为HTTP,主用实服务组为sf1,持续性组为cookie_rewrite。

图6-160 新建动作la2

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>按钮,新建动作名称为la3,类型为HTTP,主用实服务组为sf1,持续性组为cookie_get。

图6-161 新建动作la2

 

单击<确定>按钮,完成操作。

8. 配置负载均衡策略——策略。

将上述流量特征和动作关联实现如下功能:

策略lp1将匹配流量特征lc1(即用户请求URL中带有test1)的请求报文,动作为la1(即发送给实服务组sf1),并将处理HTTP头部。

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面,新建负载均衡策略名称为lp1,类型为HTTP,新建规则流量特征为lc1、动作为la1,新建规则流量特征为lc2、动作为la2,默认动作为la3。

图6-162 新建负载均衡策略

 

单击<确定>按钮,完成操作。

图6-163 负载均衡策略信息

9. 配置虚服务器。

#配置两个虚服务,分别响应HTTP请求报文和HTTPS请求报文

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面,新建虚服务器vs1,类型为HTTP,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为80,并开启虚服务单击<确定>。

图6-164 新建虚服务器vs1

 

单击<确定>按钮,完成操作。

6.9.6  验证配置

1. 查看持续性表项

<Sysname>display sticky virtual-server

Slot 1:

  Virtual server name: vs1

  Server-farm name: sf1

  Class: lc1

  Sticky group name: cookie_insert

  Sticky type: HTTP cookie

  Sticky method: Cookie Insert

  Sticky Key: 2.8.b092d037.0

  Real server addr: 192.168.1.1:0

  Cookie name: X-LB

  Cookie domain:

  Cookie path: /

  HttpOnly: Disabled

  Secure: Disabled

  Timeout: 86400

 

------------------------------------------

  Virtual server name: vs1

  Server-farm name: sf1

  Class: lc1

  Sticky group name: cookie_insert

  Sticky type: HTTP cookie

  Sticky method: Cookie Insert

  Sticky Key: 2.e.c55bd498.0

  Real server addr: 192.168.1.2:0

  Cookie name: X-LB

  Cookie domain:

  Cookie path: /

  HttpOnly: Disabled

  Secure: Disabled

  Timeout: 86400

 

------------------------------------------

  Virtual server name: vs1

  Server-farm name: sf1

  Class: lc1

  Sticky group name: cookie_insert

  Sticky type: HTTP cookie

  Sticky method: Cookie Insert

  Sticky Key: 2.11.7707dba7.0

  Real server addr: 192.168.1.3:0

  Cookie name: X-LB

  Cookie domain:

  Cookie path: /

  HttpOnly: Disabled

  Secure: Disabled

  Timeout: 86400

 

------------------------------------------

  Virtual server name: vs1

  Server-farm name: sf1

  Class: lc2

  Sticky group name: cookie_rewrite

  Sticky type: HTTP cookie

  Sticky method: Cookie Rewrite

  Sticky Key: 2.7.19ba92e3.0

  Real server addr: 192.168.1.1:0

  Cookie name: X-LB

  HttpOnly: Disabled

  Secure: Disabled

  Timeout: 86400

 

------------------------------------------

  Virtual server name: vs1

  Server-farm name: sf1

  Class: lc2

  Sticky group name: cookie_rewrite

  Sticky type: HTTP cookie

  Sticky method: Cookie Rewrite

  Sticky Key: 2.d.8013df67.0

  Real server addr: 192.168.1.2:0

  Cookie name: X-LB

  HttpOnly: Disabled

  Secure: Disabled

  Timeout: 86400

 

------------------------------------------

  Virtual server name: vs1

  Server-farm name: sf1

  Class: lc2

  Sticky group name: cookie_rewrite

  Sticky type: HTTP cookie

  Sticky method: Cookie Rewrite

  Sticky Key: 2.10.8af0cfe3.0

  Real server addr: 192.168.1.3:0

  Cookie name: X-LB

  HttpOnly: Disabled

  Secure: Disabled

  Timeout: 86400

 

可在验证前先清理实服务和虚服务的统计数据,免得干扰判断,清理后,再打流量,进行验证。

在导航栏中选择“监控>应用负载>虚服务器>实时统计”,进入虚服务器统计页面,单击<清除>。

图6-165 清除虚服务器统计

 

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面,单击<清除>。

图6-166 清除实服务器统计

 

2. 插入

HOST发起请求,http://61.149.4.100/test1,在HOST端抓包,相对于server端,应答方向的HTTP报文中Cookie内容被插入(被LB设备插入Cookie为Set-Cookie: X-LB=2.8.b092d037.0)。

(1)     server端,response方向的HTTP报文抓包情况,如下:

图6-167 server端response方向的HTTP报文

 

(2)     HOST端抓包,response方向的HTTP报文如下:

图6-168 HOST端response方向的HTTP报文

 

持续性验证:第一次打流量,LB返回HOST端一个Cookie值(Set-Cookie: X-LB=2.8.b092d037.0)-rs1对应的cookie,查看实服务器流量负载分担情况,只有rs1有统计数据。

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看,此处不再赘述。

在第二次请求中携带插入的Cookie值(2.8.b092d037.0),打流验证持续性生效,所有的请求分配给了同一个实服务rs1。

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看,此处不再赘述。

3. 重写

HOST发起请求http://61.149.4.100/test2, HOST端抓包,相对于server端,应答方向的HTTP报文中Cookie内容被重写(由2.8.b092d037.0,被LB设备重写为2.7.19ba92e3.0)。

(1)     server端,response方向的HTTP报文抓包情况,如下:

图6-169 server端response方向的HTTP报文

 

(2)     HOST端,response方向的HTTP报文抓包情况,如下:

图6-170 HOST端response方向的HTTP报文

 

持续性验证:第一次打流量,server端携带Cookie值(Set-Cookie: X-LB=2.8.b092d037.0)被设备改写cookie值为2.7.19ba92e3.0-即rs1对应 的,查看实服务器流量负载分担情况,只有rs1有统计数据。

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看,此处不再赘述。

在第二次请求中携带改写后的Cookie值(2.7.19ba92e3.0),打流验证持续性生效,所有的请求分配给了同一个实服务rs1。

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看,此处不再赘述。

 

4. 截取

HOST发起请求http://61.149.4.100/test3, HOST端和server端抓包,携带cookie字段(cookie-get=6.6.b092d037.0)

报文中可以看出Cookie没有变化,此处不详细介绍。

持续性验证:第一次打流量,请求分配到实服务器rs1

图6-171 server端应答方向的HTTP报文

 

图6-172 HOST端应答方向的HTTP报文

 

在请求中携带Cookie值,验证持续性生效,所有的请求分配给了同一个实服务器。

 

持续性验证:第一次打流量,请求分给了rs1,只有rs1有统计数据。

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看,此处不再赘述。

在第二次请求中携带插入的Cookie值(2.8.b092d037.0),打流验证持续性生效,所有的请求分配给了同一个实服务rs1。

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看,此处不再赘述。

 

6.9.7  配置文件

#

nqa template http t1

 expect status 200

#

sticky-group cookie_get type http-cookie

 cookie get name cookie-get

 check all-packet

#

sticky-group cookie_insert type http-cookie

 cookie insert

 check all-packet

#

sticky-group cookie_rewrite type http-cookie

 cookie rewrite

 check all-packet

#

server-farm sf1

 predictor hash address source

 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 class lc1 type http match-any

 match 1 url test1

#

loadbalance class lc2 type http match-any

 match 1 url test2

#

loadbalance action la1 type http

 server-farm sf1 sticky cookie_insert

#

loadbalance action la2 type http

 server-farm sf1 sticky cookie_rewrite

#

loadbalance action la3 type http

 server-farm sf1 sticky cookie_get

#

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

#

virtual-server vs1 type http

 virtual ip address 61.159.4.100

 lb-policy lp1

 sticky-sync enable global

 service enable

#

6.10  SSL卸载

6.10.1  组网需求

SSL卸载是指LB设备为内网的Web服务器提供SSL加解密服务,对外提供安全(SSL加密)访问Web服务器的功能。内网Web服务器只需处理业务,无须耗费CPU进行SSL加解密运算,从而提高服务器的处理能力。

Host发起HTTPS访问,通过LB设备加解密,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。

图6-173 SSL卸载组网图

 

6.10.2  配置思路

为了实现SSL卸载功能,需要在LB设备上完成如下配置:

·     将CA证书和本地证书导入到LB设备,并在LB设备上新建SSL服务器端策略。

·     配置实服务组、实服务器和虚服务。

·     客户端HTTPS访问server端HTTP服务器,可成功访问。

6.10.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.10.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。

·     在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。

·     配置完虚服务后,需要开启虚服务。

·     虚服务器端口号需要配置为443,实服务器端口号配置为80。

·     SSL服务器端策略无法和虚服务器进行联动,当修改SSL服务器端策略后,需对虚服务器重新进行去使能和使能操作才可以使配置生效。

·     新建SSL服务器端策略后,需要手工在命令行下配置SSL协商时SSL服务器端发送完整的证书链功能。

6.10.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建PKI域,并禁止CRL检查

在导航栏中选择“对象>PKI>证书”,进入证书页面。

单击<新建>PKI域,添加域名称为ca,不使能检查证书是否已经被CA吊销功能,如下图所示。

图6-174 新建PKI域

 

单击<确定>,完成操作。

3. 导入CA证书和本地证书到新建的PKI域ca中

选中新建的PKI域ca,单击<导入证书>按钮,如下图所示。

图6-175 导入证书

 

证书类型选择CA证书,单击<选择文件>按钮,选择CA证书文件,如下图所示。

图6-176 导入CA证书

 

点击<确定>后点击<是>确认指纹信息。

图6-177 证书指纹信息

 

证书类型选择本地证书,单击<选择文件>按钮,选择本地证书文件,输入证书口令,如下图所示。

图6-178 导入本地证书

 

单击<确定>,完成操作。

4. 新建SSL服务器端策略,并且引用PKI域ca

在导航栏中选择“对象>SSL>服务器端策略”,进入服务器端策略页面。

单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,如下图所示。

图6-179 新建SSL服务器端策略

 

单击<确定>,完成操作。

由于在WEB上不支持配置SSL协商时SSL服务器端发送完整的证书链的功能,需要手工在命令行下配置开启该功能。

 [Sysname]ssl server-policy ssl

 [Sysname-ssl-server-policy-ssl]certificate-chain-sending enable

5. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-180 新建健康检测模板

 

单击<确定>按钮,完成操作。

6. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-181 新建实服务组

 

单击<确定>按钮,完成操作。

7. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,,如下图所示。

图6-182 添加实服务组成员

 

图6-183 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2、rs3与新建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80。

图6-184 实服务组信息

 

8. 配置虚服务器

新建HTTPS类型的虚服务器vs,配置其VSIP为61.159.4.100,指定其默认实服务组为sf1,端口号为443,引用ssl策略ssl。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,添加虚服务器名称为vs,类型选择HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用ssl服务端策略ssl,并开启虚服务,如下图所示。

图6-185 新建虚服务器

 

单击<确定>,完成操作。

6.10.6  验证配置

1. Host通过https://61.159.4.100访问HTTP服务器,访问成功, 客户端与设备之间是加密报文,客户端抓包如下:

 

2. 设备与服务端是明文报文,服务端抓包如下:

 

6.10.7  配置文件

#

nqa template http t1

 expect status 200

#

pki domain ca

 public-key rsa general name ca length 2048

 undo crl check enable

#

ssl server-policy ssl

 pki-domain ca

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha

 rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_256_cbc_sha256 dhe_rsa_aes_1

28_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_

aes_256_cbc_sha384 ecdhe_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_e

cdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha256 ecdhe_ecdsa_aes_256_gcm_s

ha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256

 tls_aes_128_ccm_sha256 tls_aes_128_ccm_8_sha256

 certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

 undo version gm-tls1.1 disable

#

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

#

real-server rs2

 ip address 192.168.1.2

#

real-server rs3

 ip address 192.168.1.3

#

virtual-server vs type http

 port 443

 virtual ip address 61.159.4.100

 default server-farm sf1

 ssl-server-policy ssl

 sticky-sync enable global

 service enable

#

6.11  SSL客户端证书透传

6.11.1  组网需求

当前网络安全越来越受到重视,现在网络也普遍采用了HTTPS协议。SSL客户端证书认证是SSL服务器对客户端的证书进行校验,通过SSL客户端证书认证,服务器确定所接收到的访问是否来自可信的客户端。

Host发起HTTPS访问,通过LB设备解密,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。负载均衡设备开启验证SSL客户端功能,并在客户端请求报文中插入证书的常用字段。

图6-186 SSL客户端证书透传组网图

 

6.11.2  配置思路

为了实现SSL客户端证书透传功能,需要在LB设备上完成如下配置:

·     将CA证书和本地证书导入到LB设备,并在LB设备上新建SSL服务器端策略。

·     配置实服务组、实服务器和虚服务。

·     客户端HTTPS访问Server端HTTP服务器,可成功访问。

·     配置负载均衡动作,插入证书的常用字段。

·     插入证书的常用字段内容为1~255个字符的字符串,也可以使用以下特定含义的字符串:%{x509v}:证书的版本;%{x509snum}:证书的序列号;%{x509sigalgo}:证书的签名算法;%{x509issuer}:证书的签发者。

6.11.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.11.4  配置注意事项

·     要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。

·     SSL服务器端策略开启验证客户端功能,客户端需要导入正确的CA证书与本地证书。

·     虚服务器端口号需要配置为443,实服务器端口号配置为80。

·     SSL服务器端策略无法和虚服务器进行联动,当修改SSL服务器端策略后,需对虚服务器重新进行去使能和使能操作才可以使配置生效。

·     新建SSL服务器端策略后,需要手工在命令行下配置SSL协商时SSL服务器端发送完整的证书链功能。

6.11.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建PKI域,并禁止CRL检查

在导航栏中选择“对象>PKI>证书”,进入证书页面。

单击<新建>PKI域,添加域名称为ca,不使能检查证书是否已经被CA吊销功能,如下图所示。

图6-187 新建PKI域

 

单击<确定>,完成操作。

3. 导入CA证书和本地证书到新建的PKI域ca中

选中新建的PKI域ca,单击<导入证书>按钮,如下图所示。

图6-188 导入证书

 

证书类型选择CA证书,单击<选择文件>按钮,选择CA证书文件,如下图所示。

图6-189 导入CA证书

 

点击<确定>后点击<是>确认指纹信息。

图6-190 证书指纹信息

 

证书类型选择本地证书,单击<选择文件>按钮,选择本地证书文件,输入证书口令,如下图所示。

图6-191 导入本地证书

 

单击<确定>,完成操作。

4. 新建SSL服务器端策略,并且引用PKI域ca

在导航栏中选择“对象>SSL>服务器端策略”,进入服务器端策略页面。

单击<新建>按钮,添加策略名称为SSL,PKI域选择ca的SSL服务器端策略,开启验证客户端功能,如下图所示。

图6-192 新建SSL服务器端策略

 

单击<确定>,完成操作。

由于在WEB上不支持配置SSL协商时SSL服务器端发送完整的证书链的功能,需要手工在命令行下配置开启该功能。

[Sysname] ssl server-policy ssl

[Sysname-ssl-server-policy-ssl] certificate-chain-sending enable

5. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-193 新建健康检测模板

 

单击<确定>按钮,完成操作。

6. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-194 新建实服务组

 

单击<确定>按钮,完成操作。

7. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,,如下图所示。

图6-195 添加实服务组成员

 

图6-196 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2、rs3与新建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80。

图6-197 实服务组信息

 

8. 配置负载均衡动作

在导航栏中选择“负载均衡>应用负载>高级策略>动作”,进入动作页面。

单击<新建>,添加HTTP类型的负载均衡动作,主用实服务组为sf1,新建Header插入,插入方向为请求,插入字段http-certification-insert,值为%{x509v},表示插入证书的版本,如下图所示。

图6-198 新建负载均衡动作la1

 

单击<确定>,完成操作。

9. 配置负载均衡策略

在导航栏中选择“负载均衡>应用负载>高级策略>负载均衡策略”,进入负载均衡策略页面。

单击<新建>,添加HTTP类型的负载均衡策略名称为lp,默认动作la1,如下图所示。

图6-199 新建负载均衡策略

 

单击<确定>,完成操作。

10. 配置虚服务器

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,添加虚服务器名称为vs,类型选择HTTPS,配置虚服务IP为61.159.4.100,端口号为443,引用SSL服务端策略ssl和负载均衡策略lp,并开启虚服务,如下图所示。

图6-200 新建虚服务器

 

单击<确定>,完成操作。

6.11.6  验证配置

1. Host端未导入正确的证书,Host通过https://61.159.4.100访问HTTP服务器,访问失败,从Host端抓包可以看出,设备向Host端请求证书(Certificate Request),由于Host端未导入正确的证书,导致Host无法发送证书,从而导致SSL握手失败(Handshake Failure),流量失败。

图6-201 Host端抓包信息

 

2. Host端导入正确的证书,Host通过https://61.159.4.100访问HTTP服务器,访问成功,从Host端抓包可以看出,设备向Host端请求证书(Certificate Request),Host回复了正确的证书(Certificate),SSL握手成功,流量成功。

图6-202 Host端抓包信息

 

3. 在服务器端抓包,HTTP请求报文插入字段http-certification-insert,并显示为证书的版本,证书常用字段插入成功。

图6-203 服务器端抓包信息

 

6.11.7  配置文件

#

nqa template http t1

 expect status 200

#

pki domain ca

 public-key rsa general name ca length 2048

 undo crl check enable

#

ssl server-policy ssl

 pki-domain ca

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_

256_cbc_sha256 dhe_rsa_aes_128_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_aes_256_cbc_sha384 ecdhe

_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_ecdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha2

56 ecdhe_ecdsa_aes_256_gcm_sha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256 tls_aes_128_ccm_sha256

tls_aes_128_ccm_8_sha256

 client-verify enable

certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

#

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

#

loadbalance action la1 type http

 server-farm sf1

 header insert request name http-certification-insert value %{x509v}

#

loadbalance policy lp type http

 default-class 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 vs type http

 port 443

 virtual ip address 61.159.4.100

 lb-policy lp

 ssl-server-policy ssl

 sticky-sync enable global

 service enable

#

6.12  SSL双向代理

6.12.1  组网需求

SSL双向代理是指LB设备为用户和内网的HTTPS服务器提供SSL双向认证服务,需要服务端与Host端提供身份认证,只能是服务端允许的客户去访问。

Host发起HTTPS访问,通过LB设备加解密,三台服务器Server AServer BServer C均可提供HTTPS服务,Host访问服务器的流量会在三台服务器之间负载分担。

图6-204 SSL双向代理组网图

 

6.12.2  配置思路

为了实现SSL双向代理功能,需要在LB设备上完成如下配置:

·     将CA证书和本地证书导入到LB设备。

·     在LB设备上新建SSL服务端策略和SSL客户端策略。

6.12.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.12.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。

·     配置完虚服务后,需要开启虚服务。

·     虚服务器端口号需要配置为443,实服务器端口号配置为443。

·     服务器上导入与设备相同的本地证书。

·     SSL服务器端策略和SSL客户端策略无法和虚服务器进行联动,当修改SSL服务器端策略或SSL客户端策略后,需对虚服务器重新进行去使能和使能操作才可以使配置生效。

·     新建SSL服务器端策略后,需要手工在命令行下配置SSL协商时SSL服务器端发送完整的证书链功能。

6.12.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建PKI域,并禁止CRL检查

在导航栏中选择“对象>PKI>证书”,进入证书页面。

单击<新建>PKI域,添加域名称为ca,不使能检查证书是否已经被CA吊销功能,如下图所示。

图6-205 新建PKI域

 

单击<确定>,完成操作。

3. 导入CA证书和本地证书到新建的PKI域ca中

选中新建的PKI域ca,单击<导入证书>按钮,如下图所示。

图6-206 导入证书

 

证书类型选择CA证书,单击<选择文件>按钮,选择CA证书文件,如下图所示。

图6-207 导入CA证书

 

点击<确定>后点击<是>确认指纹信息。

图6-208 证书指纹信息

 

证书类型选择本地证书,单击<选择文件>按钮,选择本地证书文件,输入证书口令,如下图所示。

图6-209 导入本地证书

 

单击<确定>,完成操作。

4. 新建SSL服务器端策略,并且引用PKI域ca

在导航栏中选择“对象>SSL>服务器端策略”,进入服务器端策略页面。

单击<新建>按钮,添加策略名称为ssl_server,PKI域选择ca的SSL服务器端策略,如下图所示。

图6-210 新建SSL服务器端策略

 

单击<确定>,完成操作。

由于在WEB上不支持配置SSL协商时SSL服务器端发送完整的证书链的功能,需要手工在命令行下配置开启该功能。

 [Sysname]ssl server-policy ssl_server

 [Sysname-ssl-server-policy-ssl]certificate-chain-sending enable

5. 新建SSL客户端器端策略,并且引用PKI域ca

在导航栏中选择“对象>SSL>客户端策略”,进入SSL客户端策略页面。

单击<新建>按钮,添加策略名称为ssl_client, PKI域选择ca的SSL客户端策略,如下图所示。

图6-211 新建SSL客户端策略

 

6. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTPS的健康检测模板,SSL客户端策略选择ssl_client,预期接收状态码为200,如下图所示。

图6-212 新建健康检测模板

 

单击<确定>按钮,完成操作。

7. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-213 新建实服务组

 

单击<确定>按钮,完成操作。

8. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为443,,如下图所示。

图6-214 添加实服务组成员

 

图6-215 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2、rs3与新建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为443。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为443。

图6-216 实服务组信息

 

9. 配置虚服务器

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,添加虚服务器名称为vs,类型选择HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用SSL服务端策略ssl_server,SSL客户端策略ssl_client,并开启虚服务,如下图所示。

图6-217 新建虚服务器

 

单击<确定>,完成操作。

6.12.6  验证配置

1. Host通过https://61.159.4.100访问HTTP服务器,访问成功,Host端与设备之间是加密报文,Host端抓包如下:

图6-218 Host端抓包信息

 

2. 设备与服务器端是加密报文,服务端抓包如下:

图6-219 服务器端抓包信息

 

6.12.7  配置文件

#

nqa template https t1

 expect status 200

 ssl-client-policy ssl_client

#

pki domain ca

 public-key rsa general name ca length 2048

 undo crl check enable

#

ssl server-policy ssl_server

 pki-domain ca

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_

256_cbc_sha256 dhe_rsa_aes_128_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_aes_256_cbc_sha384 ecdhe

_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_ecdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha2

56 ecdhe_ecdsa_aes_256_gcm_sha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256 tls_aes_128_ccm_sha256

tls_aes_128_ccm_8_sha256

 certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

#

ssl client-policy ssl_client

 pki-domain ca

#

server-farm sf1

 predictor hash address source

 probe t1

 success-criteria at-least 1

 real-server rs1 port 443

  success-criteria at-least 1

 real-server rs2 port 443

  success-criteria at-least 1

 real-server rs3 port 443

  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

 port 443

 virtual ip address 61.159.4.100

 default server-farm sf1

 ssl-server-policy ssl_server

 ssl-client-policy ssl_client

 sticky-sync enable global

 service enable

#

6.13  SSL服务器端策略加载双证书

6.13.1  组网需求

在SSL卸载的使用场景下,SSL证书之前普遍使用的是RSA加密算法的证书,目前ECC 证书具有卓越的加密性能正在替代RSA,客户需要陆续将ECC证书替换为RSA,但是客户的实际网络部署中,会存在有的C/S模式下的Host 端不支持ECC,或者是Host 端存在RSA证书双向认证的需求,要求过渡时期内已有业务不能间断,因此需要设备支持同时部署 RSA 和 ECC 证书,Host 端使用 RSA 或者 ECC 加密算法都可以与设备同一个虚服务器建立 SSL 连接传输加密数据,通过设备后解密为明文HTTP报文发送到后端真实服务器进行处理。

Host发起HTTPS访问,通过LB设备加解密,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。

图6-220 SSL服务器端策略加载双证书组网图

 

6.13.2  配置思路

为了实现SSL服务器端策略加载双证书功能,需要在LB设备上完成如下配置:

·     将CA证书和本地证书(RSA证书及ECC证书)导入到LB设备,LB设备上创建SSL服务器端策略,引用两个证书对应的PKI域。

·     配置实服务组、实服务器和虚服务。

·     客户端HTTPS分别以RSA加密算法和ECC加密算法访问虚服务,均可成功访问。

6.13.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.13.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。

·     SSL服务器端策略无法和虚服务器进行联动,当修改SSL服务器端策略后,需对虚服务器重新进行去使能和使能操作才可以使配置生效。

·     新建SSL服务器端策略后,需要手工在命令行下配置SSL协商时SSL服务器端发送完整的证书链功能。

6.13.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建PKI域,并禁止CRL检查

在导航栏中选择“对象>PKI>证书”,进入证书页面。

单击<新建>PKI域,添加域名称为ca_rsa,不使能检查证书是否已经被CA吊销功能,如下图所示。

图6-221 新建PKI域

 

单击<确定>,完成操作。

同理再添加一个PKI域,其名称为ca_ecc,步骤同上所示。

3. 导入CA证书和本地证书到新建的PKI域中

选中新建的PKI域ca_rsa,单击<导入证书>按钮,如下图所示。

图6-222 导入证书

 

证书类型选择CA证书,单击<选择文件>按钮,选择CA证书文件,如下图所示。

图6-223 导入CA证书

 

点击<确定>后点击<是>确认指纹信息。

图6-224 证书指纹信息

 

证书类型选择本地证书,单击<选择文件>按钮,选择本地证书文件,导入RSA证书,输入证书口令,如下图所示。

图6-225 导入本地证书

 

单击<确定>,完成操作。

同理选中新建的PKI域ca_ecc,分别导入CA证书和本地证书(ECC证书),步骤如上所示。

4. 新建SSL服务器端策略,并且分别引用PKI域ca_rsa和ca_ecc

在导航栏中选择“对象>SSL>服务器端策略”,进入服务器端策略页面。

单击<新建>按钮,添加策略名称为SSL,PKI域选择ca_rsa的SSL服务器端策略,再点击PKI域一栏末尾的加号键,出现第二行PKI域后选择ca_ecc如下图所示。

图6-226 新建SSL服务器端策略

 

图6-227 选择第二个PKI域

 

单击<确定>,完成操作。

由于在WEB上不支持配置SSL协商时SSL服务器端发送完整的证书链的功能,需要手工在命令行下配置开启该功能。

 [Sysname]ssl server-policy ssl

 [Sysname-ssl-server-policy-ssl]certificate-chain-sending enable

5. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-228 新建健康检测模板

 

单击<确定>按钮,完成操作。

6. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-229 新建实服务组

 

单击<确定>按钮,完成操作。

7. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,如下图所示。

图6-230 添加实服务组成员

 

图6-231 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2、rs3与新建rs1步骤相同:

在导航栏中选择“策略>负载均衡>服务器负载均衡>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80。

在导航栏中选择“策略>负载均衡>服务器负载均衡>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80。

图6-232 实服务组信息

 

8. 配置虚服务器

在导航栏中选择“策略>负载均衡>服务器负载均衡>虚服务器”,进入虚服务器页面。

单击<新建>,添加虚服务器名称为vs,类型选择HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用ssl服务端策略ssl,并开启虚服务,如下图所示。

图6-233 新建虚服务器

 

单击<确定>,完成操作。

6.13.6  验证配置

1. Host通过https://61.159.4.100访问虚服务,使用RSA加密算法访问成功,查看Host端抓包,Server Hello报文中显示协商使用的算法是RSA加密算法。

图6-234 Host端抓包信息

 

2. Host通过https://61.159.4.100访问虚服务,使用ECC加密算法访问成功,查看Host端抓包,Server Hello报文中显示协商使用的算法是ECC加密算法。

图6-235 Host端抓包信息

 

6.13.7  配置文件

#

nqa template http t1

 expect status 200

#

pki domain ca_ecc

 public-key ecdsa name ca-ecc secp256r1

 undo crl check enable

#

pki domain ca_rsa

 public-key rsa general name ca-rsa length 2048

 undo crl check enable

#

ssl server-policy ssl

 pki-domain ca_rsa ca_ecc

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_

256_cbc_sha256 dhe_rsa_aes_128_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_aes_256_cbc_sha384 ecdhe

_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_ecdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha2

56 ecdhe_ecdsa_aes_256_gcm_sha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256 tls_aes_128_ccm_sha256

tls_aes_128_ccm_8_sha256

 certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

 undo version gm-tls1.1 disable

#

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

#

real-server rs2

 ip address 192.168.1.2

#

real-server rs3

 ip address 192.168.1.3

#

virtual-server vs type http

 port 443

 virtual ip address 61.159.4.100

 default server-farm sf1

 ssl-server-policy ssl

 sticky-sync enable global

 service enable

#

6.14  SSL根据SNI信息选取证书

6.14.1  组网需求

SSL卸载是指LB设备为内网的Web服务器提供SSL加解密服务,对外提供安全(SSL加密)访问Web服务器的功能。内网Web服务器只需处理业务,无须耗费CPU进行SSL加解密运算,从而提高服务器的处理能力。通过支持SSL的SNI扩展字段,为用户在一个服务器使用不同域名时提供返回不同证书的功能。将域名插入到SSL握手报文中,使服务器能够切换到正确的域名并给客户端返回相应的证书。

Host发起HTTPS访问,通过LB设备加解密,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。

图6-236 SSL根据SNI信息选取证书组网图

 

6.14.2  配置思路

为了实现根据SNI信息选取证书功能,需要在LB设备上完成如下配置:

·     将CA证书和本地证书导入到LB设备,LB设备上创建默认SSL服务器端策略,并配置匹配SNI信息的SSL服务器端策略。

·     配置实服务组、实服务器和虚服务。

·     Host端使用携带不同SNI信息的HTTPS流量访问虚服务,可成功访问,并返回对应证书。

6.14.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.14.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     要先申请正确的证书,再将申请的证书通过FTP或TFTP上传到LB设备上。分别为每个SNI对应的SSL服务器端策略导入相应的证书。

·     在相同视图下,不允许配置多个相同的SSL服务器端策略。

·     在相同视图下,不允许配置SNI相同的多个SSL服务器端策略。

·     当配置了默认的SSL服务器端策略,当访问的域名没有匹配上SNI信息后,会使用该默认的SSL服务器端策略。

·     SSL服务器端策略无法和虚服务器进行联动,当修改SSL服务器端策略后,需对虚服务器重新进行去使能和使能操作才可以使配置生效。

·     新建SSL服务器端策略后,需要手工在命令行下配置SSL协商时SSL服务器端发送完整的证书链功能。

·     新建SSL服务器端策略后,需要手工在命令行下配置SNI及其对应的SSL服务器端策略。

6.14.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建PKI域,并禁止CRL检查

在导航栏中选择“对象>PKI>证书”,进入证书页面。

单击<新建>PKI域,添加域名称为ca_default,不使能检查证书是否已经被CA吊销功能,如下图所示。

图6-237 新建PKI域

 

单击<确定>,完成操作。

同理再添加两个个PKI域,其名称为ca_aaa和ca_bbb,步骤同上所示。

3. 导入CA证书和本地证书到新建的PKI域中

选中新建的PKI域ca_default,单击<导入证书>按钮,如下图所示。

图6-238 导入证书

 

证书类型选择CA证书,单击<选择文件>按钮,选择CA证书文件,如下图所示。

图6-239 导入CA证书

 

点击<确定>后点击<是>确认指纹信息。

图6-240 证书指纹信息

 

证书类型选择本地证书,单击<选择文件>按钮,选择本地证书文件,输入证书口令,如下图所示。

图6-241 导入本地证书

 

单击<确定>,完成操作。

同理选中新建的PKI域ca_aaa和ca_bbb,分别导入CA证书和本地证书,步骤如上所示。

4. 新建SSL服务器端策略,并且引用PKI域ca_default

在导航栏中选择“对象>SSL>服务器端策略”,进入服务器端策略页面。

单击<新建>按钮,添加策略名称为ssl_default,PKI域选择ca_default的SSL服务器端策略,如下图所示。

图6-242 新建SSL服务器端策略

 

单击<确定>,完成操作。

同理新建SSL服务器策略ssl_aaa、ssl_bbb,分别引用PKI域ca_aaa和ca_bbb,步骤如上所示。

由于在Web上不支持配置SSL协商时SSL服务器端发送完整的证书链的功能,需要手工在命令行下配置开启该功能。

[Sysname] ssl server-policy ssl_default

[Sysname-ssl-server-policy-ssl_default] certificate-chain-sending enable

[Sysname-ssl-server-policy-ssl_default] quit

[Sysname] ssl server-policy ssl_aaa

[Sysname-ssl-server-policy-ssl_aaa] certificate-chain-sending enable

[Sysname-ssl-server-policy-ssl_aaa] quit

[Sysname] ssl server-policy ssl_bbb

[Sysname-ssl-server-policy-ssl_bbb] certificate-chain-sending enable

[Sysname-ssl-server-policy-ssl_bbb] quit

5. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-243 新建健康检测模板

 

单击<确定>按钮,完成操作。

6. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-244 新建实服务组

 

单击<确定>按钮,完成操作。

7. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,实服务器端口为80,,如下图所示。

图6-245 添加实服务组成员

 

图6-246 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2、rs3与新建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs2,配置其IPv4地址为192.168.1.2、实服务器端口为80。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1添加成员,参照上图新建实服务器rs3,配置其IPv4地址为192.168.1.3、实服务器端口为80。

图6-247 实服务组信息

 

8. 配置虚服务器

新建HTTPS类型的虚服务器vs,配置其VSIP为61.159.4.100,指定其默认实服务组为sf1,端口号为443,引用ssl策略ssl。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,添加虚服务器名称为vs,类型选择HTTPS,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,端口号为443,引用ssl服务端策略ssl,并开启虚服务,如下图所示。

图6-248 新建虚服务器

 

单击<确定>,完成操作。

9. 配置SNI信息

Web界面暂不支持配置SNI,仅支持命令行配置。SSL服务器端策略无法和虚服务器进行联动,当修改SSL服务器端策略后,需对虚服务器重新进行去使能和使能操作才可以使配置生效

[Sysname]virtual-server vs

[Sysname-vs-http-vs]ssl-server-policy ssl_aaa sni www.aaa.com

[Sysname-vs-http-vs]ssl-server-policy ssl_bbb sni www.bbb.com

6.14.6  验证配置

1. Host通过https://61.159.4.100访问虚服务,不携带SNI信息,访问成功,查看Host端抓包,Client Hello报文中没有SNI信息,Server Hello报文中显示使用的是默认SSL服务器端策略ssl_default的证书;查看Server Hello报文的subjectPublicKey与对象>公钥管理>本地密钥对ca_default的公钥一致,表示使用的是ssl服务器端策略ssl_default对应的证书。

图6-249 Host端抓包信息(Client Hello)

 

图6-250 Host端抓包信息(Server Hello)

 

图6-251 Host端抓包信息(subjectPublicKey)

 

图6-252 设备公钥

 

2. Host通过https://www.aaa.com访问虚服务,携带SNI信息www.aaa.com,访问成功,查看Host端抓包,Client Hello报文中有SNI信息www.aaa.com,Server Hello报文中显示使用的是匹配SNI www.aaa.com的SSL服务器端策略ssl_aaa的证书;查看Server Hello报文的subjectPublicKey与对象>公钥管理>本地密钥对ca_aaa的公钥一致,表示使用的是ssl服务器端策略ssl_aaa对应的证书。

图6-253 Host端抓包信息(Client Hello)

 

图6-254 Host端抓包信息(Server Hello)

 

图6-255 Host端抓包信息(subjectPublicKey)

 

图6-256 设备公钥

 

3. Host通过https://www.bbb.com访问虚服务,携带SNI信息www.bbb.com,访问成功,查看Host端抓包,Client Hello报文中有SNI信息www.bbb.com,Server Hello报文中显示使用的是匹配SNI www.bbb.com的SSL服务器端策略ssl_bbb的证书;查看Server Hello报文的subjectPublicKey与对象>公钥管理>本地密钥对ca_bbb的公钥一致,表示使用的是ssl服务器端策略ssl_bbb对应的证书。

图6-257 Host端抓包信息(Client Hello)

 

图6-258 Host端抓包信息(Server Hello)

 

图6-259 Host端抓包信息(subjectPublicKey)

 

图6-260 设备公钥

 

6.14.7  配置文件

#

nqa template http t1

 expect status 200

#

pki domain ca_aaa

 public-key rsa general name ca-aaa

 undo crl check enable

#

pki domain ca_bbb

 public-key rsa general name ca-bbb length 2048

 undo crl check enable

#

pki domain ca_default

 public-key ecdsa name ca-default secp256r1

 undo crl check enable

#

ssl server-policy ssl_aaa

 pki-domain ca_aaa

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_

256_cbc_sha256 dhe_rsa_aes_128_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_aes_256_cbc_sha384 ecdhe

_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_ecdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha2

56 ecdhe_ecdsa_aes_256_gcm_sha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256 tls_aes_128_ccm_sha256

tls_aes_128_ccm_8_sha256

 certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

#

ssl server-policy ssl_bbb

 pki-domain ca_bbb

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_

256_cbc_sha256 dhe_rsa_aes_128_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_aes_256_cbc_sha384 ecdhe

_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_ecdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha2

56 ecdhe_ecdsa_aes_256_gcm_sha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256 tls_aes_128_ccm_sha256

tls_aes_128_ccm_8_sha256

 certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

#

ssl server-policy ssl_default

 pki-domain ca_default

 ciphersuite dhe_rsa_aes_256_cbc_sha rsa_aes_256_cbc_sha dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha256 rsa_aes_

256_cbc_sha256 dhe_rsa_aes_128_cbc_sha256 dhe_rsa_aes_256_cbc_sha256 ecdhe_rsa_aes_128_cbc_sha256 ecdhe_rsa_aes_256_cbc_sha384 ecdhe

_rsa_aes_128_gcm_sha256

 ciphersuite ecdhe_rsa_aes_256_gcm_sha384 ecdhe_ecdsa_aes_128_cbc_sha256 ecdhe_ecdsa_aes_256_cbc_sha384 ecdhe_ecdsa_aes_128_gcm_sha2

56 ecdhe_ecdsa_aes_256_gcm_sha384 tls_aes_128_gcm_sha256 tls_aes_256_gcm_sha384 tls_chacha20_poly1305_sha256 tls_aes_128_ccm_sha256

tls_aes_128_ccm_8_sha256

 certificate-chain-sending enable

 version ssl3.0 disable

 version tls1.0 disable

 undo version gm-tls1.1 disable

#

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

#

real-server rs2

 ip address 192.168.1.2

#

real-server rs3

 ip address 192.168.1.3

#

virtual-server vs type http

 port 443

 virtual ip address 61.159.4.100

 default server-farm sf1

 ssl-server-policy ssl_default

 ssl-server-policy ssl_aaa sni www.aaa.com

 ssl-server-policy ssl_bbb sni www.bbb.com

 sticky-sync enable global

 service enable

#

6.15  连接复用

6.15.1  组网需求

连接复用的功能通过使用连接池缓存技术,对于暂时没有数据传输的服务器一侧连接放入缓存池中,允许公用。这样可以将前端大量的客户HTTP请求复用到后端与服务器建立的少量的TCP长连接上,大大减小服务器的性能负载,减小与服务器之间新建TCP连接所带来的延时,并最大限度减少后端服务器的并发连接数,降低服务器资源的占用。

Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担,开启连接复用功能,在负载均衡设备与服务器之间建立一条长时间不会老化的连接,使多个客户端复用同一条与服务器的TCP连接。

图6-261 负载均衡连接复用配置组网图

 

6.15.2  配置思路

为了实现HTTP连接复用功能,需要在LB设备上完成如下配置:

·     建立HTTP类型的参数模板,并使能服务器连接复用

·     在HTTP类型的虚服务下应用该参数模板

·     大量Host多个连接访问server,TCP连接被复用

6.15.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.15.4  配置注意事项

·     确保Host到LB设备的虚服务路由可达。

·     实服务组需要配置绑定源地址池

·     在LB设备上配置的实服务器地址要与相应的实服务器地址保持一致。

6.15.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 创建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>按钮,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-262 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 创建HTTP类型和oneconnect类型的负载均衡参数模板。

在导航栏中选择“负载均衡>应用负载>参数模板”,进入参数模板页面

新建HTTP类型的参数模板名称为pp1,类型选择HTTP,并开启连接复用。

图6-263 新建HTTP类型参数模板pp1

 

单击<确定>按钮,完成操作。

新建OneConnect类型的参数模板名称为pp2,类型选择OneConnect,空闲超时时间为3秒。

图6-264 新建OneConnect类型参数模板pp2

 

单击<确定>按钮,完成操作。

4. 配置源地址池。

在导航栏中选择“负载均衡>公共配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,起始IP地址填入192.168.1.210,结束IP地址填入192.168.1.220,发送免费ARP或ND报文的接口选RAGG1.20,如下图所示。

图6-265 新建源地址池

 

 

图6-266 源地址池信息

 

单击<确定>按钮,完成操作。

5. 创建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

新建实服务组名称为sf1,调度算法为加权轮转,健康检测选择t1,源地址池为snat1,如下图所示。

图6-267 新建实服务组

 

单击<确定>按钮,完成操作。

6. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-268 添加实服务组成员

 

图6-269 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-270 实服务组信息

 

7. 配置虚服务器,应用参数模板。

# 创建HTTP类型的虚服务器vs,配置其VSIP为61.159.4.100,指定其默认实服务组为sf1,参数模板为pp1

负载均衡>应用负载>虚服务器,新建虚服务器名称为vs,HTTP类型,配置虚服务IP为61.159.4.100,其默认实服务组为sf1,开启虚服务,引用HTTP类型的参数模板pp1oneconnect类型的参数模板pp2.

图6-271 新建虚服务器

 

单击<确定>,完成操作。

6.15.6  验证配置

1. 取消连接复用时,大量Host通过http:// 61.159.4.100访问HTTP服务器,访问成功,可以在LB设备上查看到虚服务统计信息中连接数新建速率等于实服务统计信息中的连接数新建速率。

在导航栏中选择“监控>应用负载>虚服务器>实时统计”,进入虚服务器统计页面进行查看。

图6-272 虚服务器统计

 

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看。

图6-273 实服务器统计

 

点开<详细>,查看虚服务器和实服务器的统计详细,能看到虚服务统计信息中总连接数远等于实服务统计信息中的总连接数,此处不再赘述。

查看服务端抓包,一个tcp连接中有1个请求。

图6-274 服务端抓包

 

2. 配置连接复用时,大量Host通过http:// 61.159.4.100访问HTTP服务器,访问成功,可以在LB设备上查看到虚服务统计信息中连接数新建速率远大于实服务统计信息中的连接数新建速率。

在导航栏中选择“监控>应用负载>虚服务器>实时统计”,进入虚服务器统计页面进行查看。

图6-275 虚服务器统计

 

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面进行查看。

 

图6-276 实服务器统计

 

点开<详细>,查看虚服务器和实服务器的统计详细,能看到虚服务统计信息中总连接数远大于实服务统计信息中的总连接数,此处不再赘述。

查看服务端抓包,一个tcp连接中有11个请求。

图6-277 服务端抓包

 

6.15.7  配置文件

#

nqa template http t1

 expect status 200

#

parameter-profile pp1 type http

 server-connection reuse

#

parameter-profile pp2 type oneconnect

 max-reuse 10

 idle-time 3

#

loadbalance snat-pool snat1

 ip range start 192.168.1.210 end 192.168.1.220

 arp-nd interface Route-Aggregation1.20

#

server-farm sf1

 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 vs type http

 virtual ip address 61.159.4.100

 parameter http pp1

 parameter oneconnect pp2

 default server-farm sf1

 sticky-sync enable global

 service enable

#

 

6.16  HTTP压缩

6.16.1  组网需求

LB对server端回应报文进行压缩,HOST端需携带Accept-Encoding。如图所示,Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务。服务器端设置回复大报文,LB设备上配置带压缩参数的参数模板,服务器端报文经过LB设备返回给HOST,大报文被压缩。

图6-278 HTTP压缩组网图

 

6.16.2  配置思路

为实现HTTP压缩功能,需要在LB设备上完成如下配置:

·     配置带压缩参数的参数模板

·     配置实服务组、实服务器、虚服务

·     Server端回复的大文件在客户端文件被压缩

6.16.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.16.4  配置步骤

说明

以下验证过程在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>按钮,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-279 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 创建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

图6-280 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-281 添加实服务组成员

 

图6-282 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-283 实服务组信息

 

5. 配置参数模板,HTTP压缩。

在导航栏中选择“负载均衡>应用负载>参数模板”,进入参数模板页面。

单击<新建>,新建参数模板名称为pp1,类型选择HTTP-Compression,压缩级别为9,首选方法为deflate,如下图所示。

图6-284 新建参数模板信息

 

单击<确定>,完成操作。

6. 配置虚服务器。

创建HTTP类型的虚服务器vs1,配置其VSIP为61.159.4.100,应用参数模板pp1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>按钮,新建虚服务器名称为vs1,类型选择HTTP,应用参数模板pp1,引用实服务组sf1并开启虚服务,如下图所示。

图6-285 新建虚服务器

 

单击<确定>,完成操作。

6.16.5  验证配置

1. HOST端浏览器访问Server端,浏览器默认带Accept-Encoding:gzip,deflate,服务器端设置回复一个大文件,大小为2512000bytes,抓取客户端的报文,查看LB设备返回给客户端的200 OK报文的长度标红处为压缩后报文长度。

图6-286 HOST端抓包

 

图6-287 服务端侧抓包

 

6.16.6  配置文件

#

nqa template http t1

 expect status 200

#

parameter-profile pp1 type http-compression

 compression level 9

 prefer-method deflate

#

server-farm sf1

predictor hash address source

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-compression pp1

 default server-farm sf1

 sticky-sync enable global

 service enable

#

 

6.17  LB支持Web Cache

6.17.1  组网需求

随着计算机普及和互联网的快速发展,越来越多的人开始使用网络,信息量呈几何爆发式增长,信息的丰富性也带来了信息的冗余,网路间的损耗越发的突出,用户对于网络服务有了的更高要求,面对服务质量良莠不齐的网络服务端和用户对高速稳定网络的需求,可以使用网络缓存解决服务器与客户端间的这种访问方式。

在服务器与客户端间搭建缓存设备,将用户访问或下载的热点内容中大于1K的,在存储设备中保存一个副本,当内容再次被用户访问或下载时,不必连接到驻留(源)网站,而是由Cache中保留的副本直接提供,以达到极速访问或下载,降低网间带宽的依赖目的。

图6-288 web缓存应用负载均衡组网图

 

6.17.2  配置思路

为实现对经过LB的业务流量做缓存,需要在LB设备上完成如下配置:

·     配置缓存策略。

·     虚服务器引用缓存策略。

6.17.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.17.4  配置注意事项

·     配置缓存策略。

·     请求文件大于1K才能缓存。

6.17.5  配置步骤

1. 配置接口IP地址步骤省略

2. 新建缓存策略

在导航栏中选择“负载均衡>应用负载>高级策略>缓存策略”,单击<新建>,新建HTTP类型的缓存策略名称为cache,进行如下配置:

图6-289 新建缓存策略

 

单击<确定>按钮,完成操作。

3. 新建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>按钮,新建健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图6-290 新建健康检测模板

 

单击<确定>按钮,完成操作。

4. 创建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

图6-291 新建实服务组

 

单击<确定>按钮,完成操作。

5. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-292 添加实服务组成员

 

图6-293 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-294 实服务组信息

 

6. 创建HTTP类型的虚服务器cache,配置其VSIP为61.159.4.100,指定默认实服务组sf1,并开启虚服务

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为cache,类型选择HTTP,61.159.4.100,指定实服务组sf1,开启虚服务功能,缓存策略为cache,如下图所示。

图6-295 新建虚服务器

 

 

单击<确定>按钮,完成操作。

6.17.6  验证配置

1. 客户端首次请求,查看虚服务器和实服务器的统计数据

客户端发起请求http://61.159.4.100/download,访问成功

在导航栏中选择“监控>应用负载>虚服务器>实时统计”,进入虚服务器统计页面。

图6-296 查看虚服务器的统计数据

 

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面。

图6-297 查看实服务器的统计数据

 

在导航栏中选择“负载均衡>应用负载>高级策略>缓存策略”,查看缓存策略匹配请求次数。

图6-298 查看缓存策略的统计数据

 

2. 客户端再次发起请求,查看虚服务器和实服务器的统计数据

客户端发起请求http://61.159.4.100/download,访问成功。

在导航栏中选择“监控>应用负载>虚服务器>实时统计”,进入虚服务器统计页面。

图6-299 查看虚服务器的统计数据

 

在导航栏中选择“监控>应用负载>实服务器>实时统计”,进入实服务器统计页面。

图6-300 查看实服务器的统计数据

 

在导航栏中选择“负载均衡>应用负载>高级策略>缓存策略”,查看缓存策略匹配请求次数。

图6-301 查看缓存策略的统计数据

 

6.17.7  配置文件

#

nqa template http t1

 expect status 200

#

server-farm sf1

 predictor hash address source

 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 cache type http

 virtual ip address 61.159.4.100

 default server-farm sf1

 sticky-sync enable global

 lb-cache-policy cache

 service enable

#

cache-policy cache type http

 match 1 uri /download

#

6.18  WebSocket配置举例

6.18.1  组网需求

WebSocket是一种客户端与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTTP的握手通道。具体来说,客户端通过HTTP请求与WebSocket服务端协商升级协议。协议升级完成后,后续的数据交换则遵照WebSocket的协议。

Host通过LB设备对3台服务器进行访问,三台服务器Server A、Server B和Server C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担。首先,客户端发起协议升级请求,采用的是标准的HTTP报文格式,且只支持GET方法,协议版本为1.1。接下来,服务器端响应协议升级,返回状态码101表示协议切换。

图6-302 websocket组网图

 

6.18.2  配置思路

·     与其他普通七层负载均衡基本功能一样。

·     本例使用客户端websocket. html小程序和服务器端server.py小软件进行模拟测试,实际测试结果请以客户的真实业务为主。

6.18.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.18.4  配置注意事项

服务器端需要支持Python程序运行,确保可以正常调用server.py程序。

6.18.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建TCP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为TCP的健康检测模板,其目的端口号为8000,如下图所示。

图6-303 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置实服务组

新建实服务组sf1,采用的调度算法为源IP地址哈希算法。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-304 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,端口号:8000,如下图所示。

图6-305 添加实服务组成员

 

图6-306 新建实服务器

 

单击<确定>按钮,完成操作。

负载均衡>应用负载>实服务组,编辑实服务组sf1,单击添加实服务组成员,参照上图步骤新建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3,端口号均为8000。

图6-307 实服务组信息

 

5. 配置虚服务器

配置HTTP类型的虚服务vs,端口为8000

负载均衡>应用负载>虚服务器,新建虚服务名称为vs,类型HTTP,IP为61.159.4.100,端口号为8000,引用实服务组sf1,并开启虚服务,单击<确定>。

图6-308 新建虚服务器

 

6.18.6  验证配置

1. 在服务器端运行服务器server.py文件

图6-309 运行server.py文件

 

2. 在Host端打开websocket.html文件

打开Host端websocket.html文件,与虚服务地址:61.159.4.100,端口号:8000建立连接,并发送websocket信息,可以看到连接建立成功,信息发送成功。

图6-310 发送websocket信息

 

3. 查看Host端抓包信息,可以看到发送的HTTP请求报文里面携带字段Connection:Upgrade。

图6-311 Host端抓包信息

 

4. 查看服务器端抓包信息,可以看到服务器端响应协议升级,返回状态码101表示协议切换成websocket协议。

图6-312 服务器端抓包信息

 

6.18.7  配置文件

#

nqa template tcp t1

 destination port 8000

#

server-farm sf1

 predictor hash address source

 probe t1

 success-criteria at-least 1

 real-server rs1 port 8000

  success-criteria at-least 1

 real-server rs2 port 8000

  success-criteria at-least 1

 real-server rs3 port 8000

  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

 port 8000

 virtual ip address 61.159.4.100

 default server-farm sf1

 sticky-sync enable global

 service enable

#

 

6.19  家庭宽带认证AAA的RADIUS负载分担

6.19.1  组网需求

如图所示,LB设备后接多台RADIUS服务器组成的RADIUS服务器群。Host通过NAS向现有3台RADIUS服务器为外网用户提供RADIUS服务,3台RADIUS服务器地址为192.168.1.1~192.168.1.3。

用户通过NAS设备认证计费时,负载均衡设备会将RADIUS认证计费的请求报文转发到不同的RADIUS服务器上,从而使RADIUS请求报文均匀地分布在不同的RADIUS服务器上。

在NAS设备的数目较少场景下,使用 UDP强制负载均衡,RADIUS server负担更均匀;使用user-name的RADIUS持续性,保证同一用户名的认证报文发送至同一台认证服务器上;使用ICMP与UDP端口检测组合,做到业务的健康检查,保证业务的可靠性。

图6-313 LB支持RADIUS配置组网图

 

6.19.2  配置思路

通过配置七层RADIUS类型虚服务实现该功能。

·     配置路由,保证RADIUS Server与NAS Client、LB device之间路由可达。

·     配置UDP强制负载均衡,保证业务负载分担

·     配置ICMP类型健康检测,配置UDP类型1812和1813端口的健康检测,保证业务可靠性

·     配置user-name持续性组,保证同一用户名的认证报文发送至同一台认证服务器上

6.19.3  使用版本

本举例是在L1000-AK315的Alpha 1160P16版本上进行配置和验证的。

6.19.4  配置注意事项

该案例RADIUS持续性老化时间配置为3600s,推荐配置值需要根据现场使用场景结合具体业务调节

6.19.5  配置步骤

说明: 说明

以下配置均在LB设备上进行。

 

1.配置接口IP地址步骤省略

2.创建ICMP类型和UDP类型的NQA模板t1、t2、t3

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为ICMP的健康检测模板,如下图所示。

图6-314 新建健康检测模板

 

单击<确定>按钮,完成操作。

 

创建UDP类型NQA模板t2和t3,配置raw格式的数据填充,配置端口探测功能,如下所示(该功能D060SP不支持Web)。

[Sysname]nqa template udp t2

[Sysname-nqatplt-udp-t2]data-fill "default send string" raw

[Sysname-nqatplt-udp-t2]destination port 1812

[Sysname-nqatplt-udp-t2]port-detect enable

[Sysname-nqatplt-udp-t2]reaction trigger probe-pass 1

[Sysname-nqatplt-udp-t2]quit

[Sysname]nqa template udp t3

[Sysname-nqatplt-udp-t3]data-fill "default send string" raw

[Sysname-nqatplt-udp-t3]destination port 1813

[Sysname-nqatplt-udp-t3]port-detect enable

[Sysname-nqatplt-udp-t3]reaction trigger probe-pass 1

3.配置实服务组

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击新建,新建实服务组名称为sf,调度算法为加权轮转,,并绑定健康检测t1、t2、t3,且需验证所有健康检测,如下图所示。

图6-315 新建实服务组

 

单击<确定>按钮,完成操作。

4.配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组,进入实服务组页面。

编辑实服务组sf,添加成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-316 添加实服务组成员

 

图6-317 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同:

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,添加成员列表,参照上图步骤创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-318 实服务组信息

 

5.配置RADIUS类型的持续性组

在导航栏中选择“负载均衡>全局配置>持续性组”,进入持续性组页面。

单击新建,新建持续组名称为radius,类型为RADIUS,持续性方法:user-name,超时时间为3600s。

图6-319 新建持续性组

 

单击<确定>按钮,完成操作。

6.创建RADIUS类型的虚服务器

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击新建,新建虚服务器名称为vs,类型选择RADIUS,VSIP地址为61.159.4.100,绑定实服务组sf和持续性组radius,开启UDP强制负载均衡,开启虚服务功能,如下图所示。

图6-320 新建虚服务器

 

单击<确定>按钮,完成操作。

6.19.6  验证配置

用户上线,通过NAS Client向LB设备发送RADIUS认证请求计费报文,报文经由LB设备做负载均衡处理分发给后端的RADIUS服务器处理,同时生成持续性表项;

1.用户通过NAS发起认证计费

2.查看持续性表项,查看相应用户名分配到的实服务器:

<Sysname>display sticky virtual-server

Slot 1:

  Virtual server name: vs

  Server-farm name: sf

  Sticky type: RADIUS

  Sticky method: Attribute ID

  Sticky Key: 8b69353fe93eb925a6b8e98d63a4bd60

  Text: admin123

  Virtual server addr: 61.159.4.100:1812

  Real server addr: 192.168.1.1:0

  Client addr: 10.0.0.2

  Timeout: 3600 sec

  Expiration time: 3512 sec

 

3.发起RADIUS流量,实服务器负载分担

图6-321 实服务统计信息

 

6.19.7  配置文件

#

nqa template icmp t1

 reaction trigger probe-pass 1

#

nqa template udp t2

 data-fill "default send string" raw

 destination port 1812

 port-detect enable

 reaction trigger probe-pass 1

#

nqa template udp t3

 data-fill "default send string" raw

 destination port 1813

 port-detect enable

 reaction trigger probe-pass 1

#

real-server rs1

 ip address 192.168.1.1

success-criteria at-least 1

#

real-server rs2

 ip address 192.168.1.2

success-criteria at-least 1

#

real-server rs3

 ip address 192.168.1.3

success-criteria at-least 1

#

server-farm sf

 probe t2

 probe t3

 probe t1

 real-server rs1 port 0

 real-server rs2 port 0

 real-server rs3 port 0

#

sticky-group radius type radius

 radius-attribute user-name

#

virtual-server vs type radius

 virtual ip address 61.159.4.100

 default server-farm sf sticky radius

 udp per-packet

 connection-sync enable

 sticky-sync enable

 service enable

#

6.20  SIP负载分担

6.20.1  组网需求

如图所示,LB设备后接多台SIP服务器组成的SIP服务器群。现有3台SIP服务器为外网用户提供SIP服务,3台SIP服务器地址为192.168.1.1~192.168.1.3。负载均衡设备会将HOST发送的SIP请求报文进行分配,使SIP请求报文均匀地分布在不同的SIP服务器上。如果SIP客户端的数目过少,可以保证服务器负担均匀,同时可以使同一CALL-ID的SIP请求发送至同一台服务器上。

图6-322 LB支持SIP组网图

 

6.20.2  配置思路

为了实现LB支持SIP功能,需要在LB设备上完成如下配置:

·     配置SIP类型持续性组,SIP类型健康检测模板

·     配置实服务组,添加实服务器成员,引用SIP类型健康检测模板

·     配置SIP类型虚服务器,引用实服务组和SIP类型持续性组

6.20.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.20.4  配置注意事项

·     健康检测使用SIP类型NQA模板

·     SIP-UDP类型虚服务要开启强制负载分担功能

6.20.5  配置步骤

说明

以下验证过程均在LB设备上进行。

1. 配置接口ip地址步骤省略

2. 新建SIP类型的NQA模板

Web界面暂不支持配置SIP类型的NQA模板,仅支持命令行配置。

[Sysname]nqa template sip t1

3. 配置实服务组

在导航栏中选择“策略>负载均衡>服务器负载均衡>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图6-323 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“策略>负载均衡>服务器负载均衡>实服务组”,进入实服务组页面。

编辑实服务组sf1,添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-324 添加实服务组成员

 

图6-325 新建实服务器

 

单击<确定>按钮,完成操作。

策略>负载均衡>服务器负载均衡>实服务组,编辑实服务组sf1,单击添加实服务组成员,参照上图步骤新建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-326 实服务组信息

 

5. 配置持续性组

在导航栏中选择“策略>负载均衡>公共配置>持续性组”,单击<新建>,持续性组名称为sip,类型为SIP,SIP持续性方法为Call-ID,如下图所示。

图6-327 新建持续性组sip

 

单击<确定>,完成操作。

6. 配置虚服务器

在导航栏中选择“策略>负载均衡>服务器负载均衡>虚服务器”,新建虚服务器名称为vs,类型SIP-UDP,地址为61.159.4.100,端口号为5060,开启UDP强制负载均衡,实服务组为sf1, 实服务组的持续性为sip,并开启虚服务,单击<确定>。

图6-328 新建SIP-UDP类型服务器

 

单击<确定>,完成操作。

6.20.6  验证配置

1. 清除实服务组成员的统计数据

验证前先清除实服务组成员的统计数据,以免干扰判断,清除后,再打流量进行验证。

在导航栏中选择“监控>应用负载>实服务组>实时统计>”,单击右侧<详细>,进入实服务组成员统计页面,单击<清除>下的清除全部数据清除所有服务组成员的统计。

图6-329 清除实服务组统计

 

 

通过点击实服务组成员统计页面右侧的详细查看每个实服务组成员的详细统计信息。

图6-330 查看每个实服务组成员的详细统计信息

 

2. HOST大量用户向虚服务发送不同CALL-ID的SIP-UDP请求

HOST大量地址向虚服务vs发起SIP-UDP请求,访问成功后,可以在LB设备上查看到实服务组成员的统计信息,请求被平均分配到三台服务器。查看报文,可以看到sip会话成功建立,并发送RTP媒体流。

图6-331 实服务组成员rs1统计结果

 

图6-332 实服务组成员rs2统计结果

 

图6-333 实服务组成员rs3统计结果

 

图6-334 查看服务端报文,可以看到sip会话成功建立,并发送RTP媒体流。

 

3. HOST少量用户向虚服务发送不同CALL-ID的SIP-UDP请求

清除实服务组成员的统计,HOST少量地址向虚服务vs发起SIP-UDP请求,访问成功后,可以在LB设备上查看到实服务组成员的统计信息,请求被平均分配到三台服务器。查看报文,可以看到sip会话成功建立,并发送RTP媒体流。

图6-335 实服务器统计页面

 

图6-336 关闭UDP强制负载分担功能实服务器统计

 

4. HOST向虚服务发送相同CALL-ID的SIP-UDP请求

清除实服务组成员的统计,HOST向虚服务器vs发起同一CALL-IDSIP-UDP请求,访问成功后,可以在LB设备上查看到实服务组成员的统计信息,请求被分配到同一台服务器。查看报文,可以看,不同源地址但CALL-ID相同被分配到相同的实服务器。

图6-337 虚服务器统计页面

 

图6-338 实服务器统计页面

 

图6-339 查看服务端报文, 相同CALL-ID被分配到同一服务器

 

 

 

6.20.7  配置文件

#

server-farm sf_sip

 predictor hash address source

probe sip

 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                                                      

#

nqa template sip sip

#

real-server rs1

 ip address 192.168.1.1

 success-criteria at-least 1

#

real-server rs2

 ip address 192.168.1.2

 success-criteria at-least 1

#

real-server rs3

 ip address 192.168.1.3

 success-criteria at-least 1

#

sticky-group sip type sip

 header call-id                                      

#

virtual-server vs_sip_udp type sip-udp

 virtual ip address 61.159.4.100

 default server-farm sf_sip sticky sip

 udp per-packet

 connection-sync enable

 sticky-sync enable

 service enable

#

 

6.21  MySQL负载均衡

6.21.1  组网需求

随着计算机普及和互联网的快速发展,越来越多的人开始使用网络。以往只靠单台MySQL数据库服务器就能满足用户的服务需求,随着用户访问人数增多,同时读写导致性能渐渐开始下降,对于用户的直观感受就是响应慢,对于开发人员来说是长时间处于等待MySQL数据库的响应中,极大了影响用户体验。解决这个问题的一种简单实用方案是使用数据库负载均衡,将用户的请求分担到不同机器上执行,减轻单台数据库压力,从而提高响应能力。同时,要求把读数据库的操作发到读服务器上,把写数据库的操作发到写服务器上。如图所示,HOST经过负载均衡设备访问Mysql服务器,服务器Server A、Server B提供读请求的服务,Server C提供写请求的服务,在读写请求切换服务器时不断开连接,后续的请求可以复用之前读写的连接,以减小服务器的压力。

图6-340 MySQL负载均衡组网图

 

6.21.2  配置思路

为实现MySQL负载均衡的功能,需要在LB设备上完成如下配置:

·     分别配置读实服务组、写实服务组、读实服务器,写实服务器,把读实服务器新建到读实服务组,把写实服务器新建到写实服务组。

·     配置MySQL类型的虚服务,开启读写分离功能,分别引用读实服务组和写实服务组,数据库的用户名密码配置需和真实MySQL服务器保持一致,数据库的版本号小于等于真实服务器的版本号,建议保持一致。

·     配置MySQL类型的参数模板,开启连接复用功能,引用到MySQL虚服务下。

·     Snat

·     用户发起对MySQL数据库的请求命中虚服务后,读写的请求分别被调度到读写实服务组的实服务器上。MySQL的参数模板应用到虚服务下,保证在读写请求切换读写实服务组时,和服务器的连接不断开。

6.21.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.21.4  配置注意事项

·     在MySQL类型的虚服务下,数据库的用户名密码需和真实MySQL服务器保持一致,数据库的版本号小于等于真实服务器的版本号,建议保持一致。

·     需要在MySQL的虚服务下引用开启连接复用功能的MySQL参数模板。

6.21.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 创建TCP类型的NQA模板t1。

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为3306,如下图所示。

图6-341 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置源地址池snat1

在导航栏中选择“负载均衡>公共配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,起始IP地址填入1.1.1.11,结束IP地址填入1.1.1.20,如下图所示。

图6-342 新建源地址池

 

图6-343 源地址池信息

 

单击<确定>按钮,完成操作。

4. 创建读实服务组sf_read,采用加权轮转算法,指定其健康检测方法为t1,并引用源地址池snat1,创建读实服务组sf_write,采用加权轮转算法,指定其健康检测方法为t1,并引用源地址池snat1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>按钮,分别新建读实服务组sf_read,写实服务组sf_write,调度算法为加权轮转算法,健康性检测选择t1,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

图6-344 新建读实服务组sf_read

 

单击<确定>按钮,完成操作。

图6-345 新建写实服务组sf_write

单击<确定>按钮,完成操作。

 

5. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-346 添加实服务组成员

 

图6-347 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-348 实服务组信息

 

6. 分别在读写实服务组中新建实服务组成员,新建实服务器rs1,rs2,rs3,把rs1,rs2新建到 读实服务组,把rs3新建到 写实服务组。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf_read,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-349 添加实服务组成员

 

图6-350 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf_read,单击新建成员列表,参照上图创建实服务器rs2,分别配置其IPv4地址为192.168.1.2。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf_write,单击新建成员列表,参照上图创建实服务器rs3,配置其IPv4地址为192.168.1.3。

 

图6-351 实服务组sf_read信息

 

图6-352 实服务组sf_write信息

 

7. 创建MySQL的参数模板,开启连接复用功能。

在导航栏中选择“负载均衡>应用负载>参数模板”,进入参数模板页面。

单击<新建>,新建参数模板名称为vs,类型选择MySQL,开始连接复用功能,如下图所示:

图6-353 新建参数模板

8. 创建MySQL类型的虚服务器vs

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择MySQL,地址为61.159.4.100/32,端口号为3306,开启读写分离功能,指定读实服务组为sf_read,写实服务组为sf_write,配置用户名和密码以及MySQL的版本号(本例服务端的用户名和密码为root/123456,版本号为5.1),引用MySQL类型的参数模板mysql,并开启虚服务功能,如下图所示。

图6-354 新建虚服务器

 

图6-355 新建用户

 

单击<确定>,完成操作。

6.21.6  验证配置

1. Host向地址61.159.4.100的虚服务器发起MySQL请求,访问成功后可以在LB设备上查看到虚服务和实服务器的统计信息。通过在实服务端抓包可以看到LB做完业务报文的源地址为SNAT地址池中的地址,而不是客户端的地址。

 

图6-356 客户端抓包报文分析

 

可以看到读写的请求各建了一个连接。

图6-357 实服务器抓包报文分析

 

可以看到读请求选择了一个读实服务器,写请求选择了一个写实服务器。在读写请求切换实服务的时候没有断开已有连接。

在有流量的情况下,在导航栏中选择“监控>会话监控>代理会话”,可以看到流量的会话记录,如下图所示。

图6-358 代理会话信息

 

6.21.7  配置文件

#

nqa template tcp t1

 destination port 3306

#

parameter-profile mysql type mysql

 server-connection reuse

#

loadbalance snat-pool snat1

ip range start 1.1.1.11 end 1.1.1.20

#

server-farm sf_read

 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 sf_write

 predictor hash address source

 snat-pool snat1

 probe t1

 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 mysql

 virtual ip address 61.159.4.100

 parameter mysql mysql

 sticky-sync enable global

 version 5.1

 username root password cipher U1FMAPD7zhCOQGelh2yW3A==

 readwrite-separation read-server-farm sf_read write-server-farm sf_write

 service enable

#

6.22  TCP SPLIT负载分担

6.22.1  组网需求

因实际业务需要,需要支持Oracle数据库服务器的负载均衡分担,如图所示,Host经过负载均衡设备访问Oracle数据库服务器。三台服务器Server A、Server B和Server C均可提供Oracle数据库的服务。通过配置应用负载均衡,让这三台服务器联合提供Oracle数据库的服务,并通过健康检测来监控这些服务器是否可达。

图6-359 TCP SPLIT组网图

 

6.22.2  配置思路

为实现LB支持TCP SPLIT功能,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器。

·     TCP类型的虚服务器,并开启七层分担功能。

·     用户发起对Oracle数据库的请求命中虚服务后,通过实服务组的负载分担方法分担到实服务器。需要配置虚服务监听的端口号为Oracle服务的端口号。

6.22.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.22.4  配置注意事项

·     需要配置虚服务的端口号为Oracle服务的端口号。

·     需要打开TCP类型虚服务的七层负担分担模式开关。

6.22.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为1521,如下图所示。

图6-360 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置源地址池。

在导航栏中选择“负载均衡>公共配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,起始IP地址填入192.168.1.201,结束IP地址填入192.168.1.210,发送免费ARP或ND报文的接口选RAGG1.20,如下图所示。

图6-361 新建源地址池

 

 

图6-362 源地址池信息

 

单击<确定>按钮,完成操作。

4. 创建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

新建实服务组名称为sf1,调度算法为加权轮转,健康检测选择t1,源地址池为snat1,如下图所示。

图6-363 新建实服务组

 

单击<确定>按钮,完成操作。

5. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-364 添加实服务组成员

 

图6-365 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-366 实服务组信息

 

6. 创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,端口号为1521,指定默认实服务组sf1,选择七层负载分担模式,在虚服务下引用参数模板,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,地址为61.159.4.100/32,端口号为1521,选择七层负载分担模式,并开启虚服务功能,如下图所示。

图6-367 新建虚服务器

 

单击<确定>按钮,完成操作。

6.22.6  验证配置

1. Host向地址61.159.4.100的虚服务器发起Oracle请求,访问成功后可以在LB设备上查看到虚服务和实服务器的统计信息。通过在实服务端抓包可以看到LB做完业务报文的源地址为SNAT地址池中的地址,而不是客户端的地址。

 

图6-368 客户端抓包报文分析

图6-369 实服务器抓包报文分析

 

在有流量的情况下,在导航栏中选择“监控>会话监控>会话列表”,进入会话列表页面可以看到流量的会话记录,如下图所示。

图6-370 设备会话列表

 

6.22.7  配置文件

 #

nqa template tcp t1

 destination port 1521

#

loadbalance snat-pool snat1

ip range start 1.1.1.11 end 1.1.1.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

 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

 port 1521

 virtual ip address 61.159.4.100

 default server-farm sf1

 connection-sync enable

 sticky-sync enable global

 application-mode enable

 service enable  #

 

6.23  TCP源地址插入和TCP Option清除

6.23.1  组网需求

测试应用交付控制器在改变用户的源地址后,需要将用户的真实地址插入到TCP包中,以便后台服务器获取客户端源地址;此外由于客户端的时间戳选项不同,若经过源地址转换成同一个地址到后台服务器,有可能由于时间戳不同,后台服务器会丢弃比已接受报文时间戳早的报文,所以需要清除LB设备发送到服务器端TCP报文的时间戳选项。如图所示,HOST经过负载均衡设备访问web服务器,三台服务器Server A、Server B和Server C均可提供HTTP的服务。通过配置应用负载均衡,引用snat地址池,把报文的源地址转换成snat地址池中的地址发给服务端,同时在发往服务端的TCP报文中在TCP Option 28字段插入用户的真实源地址,并且清除LB设备发送到服务器端TCP报文中TCP Option 8字段时间戳选项。

图6-371 TCP源地址插入和TCP Option清除组网图

 

6.23.2  配置思路

为实现TCP源地址插入和TCP Option清除功能,需要在LB设备上完成如下配置:

·     配置实服务组、实服务器。

·     配置snat地址池,并在实服务组下引用。

·     配置TCP的参数模板,插入TCP Option的28字段(源地址),以及删除TCP Option 的8字段(时间戳)。

·     配置TCP类型的虚服务器,开启七层负载分担功能,并在此虚服务下引用TCP参数模板。

·     用户发起的HTTP请求命中虚服务后,把报文的源地址转换成snat地址池中的地址发给服务端,同时在发往服务端的TCP报文中在TCP Option 28字段插入用户的真实源地址,并且清除LB设备发送到服务器端TCP报文中TCP Option 8字段时间戳选项。

6.23.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

6.23.4  配置注意事项

·     TCP类型的虚服务需要配置服务端口号(配置具体的服务端口号,不能为0),并打开七层负载分担功能。

·     配置TCP类型的参数模板,使number为28的TCP Option中插入真实的客户端源地址,以及清除TCP Option中number为8的时间戳选项。

·     同时支持七层HTTP类型的虚服务。

6.23.5  配置步骤

说明

以下配置均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为80,如下图所示。

图6-372 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置源地址池

在导航栏中选择“负载均衡>公共配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,起始IP地址填入192.168.1.201,结束IP地址填入192.168.1.210,发送免费ARP或ND报文的接口选RAGG1.20,如下图所示。

图6-373 新建源地址池

 

图6-374 源地址池信息

 

单击<确定>按钮,完成操作。

4. 创建实服务组sf1,并指定其健康检测方法为t1

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

新建实服务组名称为sf1,调度算法为加权轮转,健康检测选择t1,源地址池为snat1,如下图所示。

图6-375 新建实服务组

 

单击<确定>按钮,完成操作。

5. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图6-376 添加实服务组成员

 

图6-377 新建实服务器

 

单击<确定>按钮,完成操作。

创建实服务器rs2、rs3与创建rs1步骤相同。

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,单击新建成员列表,参照上图创建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图6-378 实服务组信息

 

6. 创建TCP类型的参数模板tcp_option,使number为28的tcp-option中插入真实的客户端源地址,以及清除tcp-option中number为8的时间戳选项。

在导航栏中选择“负载均衡>应用负载>参数模板”,进入参数模板页面。

单击<新建>,新建参数模板名称为tcp_option,类型选择TCP,

 

图6-379 新建参数模板

 

 

单击<确定>按钮,完成操作。

图6-380 参数模板信息

 

7. 创建TCP类型的虚服务器vs,配置其VSIP为61.159.4.100,端口号为80,指定默认实服务组sf1,选择七层负载分担模式,在虚服务下引用参数模板,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs,类型选择TCP,地址为61.159.4.100/32,端口号为80,选择七层负载分担模式,并开启虚服务功能,如下图所示。

图6-381 新建虚服务器

 

单击<确定>按钮,完成操作。

6.23.6  验证配置

1. Host向地址61.159.4.100的虚服务器发起HTTP请求,访问成功,查看服务端抓包

在服务器端可以看到报文number为28的TCP Option中插入真实的客户端源地址:从1c 06 0a 00 00 14 计算,1c代表是option编号28,06代表这个option的长度,0a 00 00 14 代表地址源地址是10.0.0.20,并且清除了tcp报文中TCP Option 8字段时间戳选项。如下图所示:

图6-382 服务器端插入真实的客户端源地址,删除了时间戳

 

2. 虚服务器不引用参数模板,Host向地址61.159.4.100的虚服务器发起HTTP请求,访问成功,查看服务器端抓包,有时间戳

图6-383 虚服务器不引用参数模板的服务器端抓包

 

6.23.7  配置文件

#

nqa template tcp t1

 destination port 80

#

parameter-profile tcp_option type tcp

 tcp option remove 8

 tcp option insert 28 src-addr

#

loadbalance snat-pool snat1

 ip range start 192.168.1.201 end 192.168.1.210

 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

 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

 port 80

 virtual ip address 61.159.4.100

 parameter tcp tcp_option client-side

 parameter tcp tcp_option server-side

 default server-farm sf1

 connection-sync enable

 sticky-sync enable global

 application-mode enable

 service enable

#

7 NAT64负载均衡配置举例

7.1  NAT64负载分担【七层】

7.1.1  组网需求

实现IPv4和IPv6的网络互通,用IPv4的地址访问IPv6的服务器,或者用IPv6的地址访问IPv4的服务器,并在LB设备上查看nat64和nat46的会话日志。如所示,为实现客户端IPv4地址访问IPv6地址的服务器,LB设备上配置IPv6地址的snat地址池,Host通过IPv4地址的LB虚服务IP,发起对IPv6地址的服务器的访问,并在LB设备上查看nat46的会话日志。为实现客户端IPv6地址访问IPv4地址的服务器,LB设备上配置IPv4地址的snat地址池,Host通过IPv6地址的LB虚服务IP,发起对IPv4地址的服务器的访问,并在LB设备上查看nat64的会话日志。

图7-1 NAT64配置组网图

7.1.2  配置思路

为实现NAT64功能,需要在LB设备上完成如下配置:

·     分别配置nat64和nat46的源地址池

·     LB设备配置nat日志功能

7.1.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

7.1.4  配置注意事项

·     虚服务器地址与snat-pool的匹配

·     NAT 64只支持HTTP类型虚服务

·     举例版本不支持web配置nat日志,使用命令行配置

7.1.5  配置步骤

1. 配置接口IP地址步骤省略

2. 新建HTTP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为HTTP的健康检测模板,如下图所示。

图7-2 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置地址池。

在导航栏中选择“负载均衡>全局配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,如下图所示。

图7-3 新建IPv4源地址池

 

单击<确定>,完成操作。

新建snat2步骤与snat1相同,snat2配置信息如下图所示。

图7-4 新建IPv6源地址池信息

 

4. 新建实服务组sf1、sf2,并指定其健康检测方法为t1。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>按钮,新建实服务组名称为sf1、sf2分别绑定地址池snat1、snat2,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

 

图7-5 新建实服务组

 

单击<确定>按钮,完成操作。

图7-6 新建实服务组sf2

 

单击<确定>按钮,完成操作。

5. 配置实服务器。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IPv4地址为7.0.0.2,如下图所示。

图7-7 添加IPv4实服务组成员

 

图7-8 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2与rs1步骤相同

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,新建实服务组成员,参照上图新建实服务器rs2,配置其IPv4地址为7.0.0.3。

图7-9 实服务组信息

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf2,单击新建成员列表,新建实服务器名称为rs11,实服务器IPv6地址为7::2,如下图所示。

图7-10 添加IPv6实服务组成员

 

图7-11 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs12与rs11步骤相同

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf2,新建实服务组成员,参照上图新建实服务器rs12,配置其IPv6地址为7::3。

图7-12 实服务组信息

 

单击<确定>按钮,完成操作。

6. 配置虚服务器。

新建HTTP类型的虚服务器vs1,配置其VSIP为200::1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs1、vs2,分别设置虚服务器IP地址为200::1和61.159.4.100,并分别绑定实服务组sf1、sf2,类型选择HTTP,并开启虚服务,如下图所示。

图7-13 新建虚服务器vs1

 

单击<确定>,完成操作。

图7-14 新建虚服务器vs2

 

单击<确定>,完成操作。

7. 开启nat日志功能

目前LB设备暂不支持web界面开启nat日志功能,使用命令行进行举例。

[Sysname] loadbalance log enable nat

[Sysname] userlog flow syslog

7.1.6  验证配置

1. IPv6源地址Host通过http://200::1访问IPv4的HTTP服务器,访问成功

(1)     在导航栏选择“监控>应用负载”,可以在LB设备上查看到虚服务和实服务的统计信息,此处不赘述

(2)     在导航栏选择“监控>设备日志>系统日志”,查看NAT64日志

图7-15 NAT64的日志

 

在导航栏选择“监控>会话监控>代理会话”,查看

图7-16 代理会话信息

 

2. IPv4源地址Host通过http://61.159.4.100访问IPv6HTTP服务器,访问成功

(1)     在导航栏选择“监控>应用负载”,可以在LB设备上查看到虚服务和实服务的统计信息,此处不赘述

(2)     在导航栏选择“监控>设备日志>系统日志”,查看NAT64日志

图7-17 NAT46的日志

 

 

在导航栏选择“监控>会话监控>代理会话””,查看

图7-18 代理会话信息

 

7.1.7  配置文件

#

nqa template http t1

 expect status 200

#

loadbalance snat-pool snat1

 ip range start 7.0.0.101 end 7.0.0.110

 arp-nd interface Route-Aggregation1.20

#

loadbalance snat-pool snat2

 ipv6 range start 7::101 end 7::10A

 arp-nd interface Route-Aggregation1.20

#

server-farm sf1

 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

 sticky-sync enable global

 service enable

#

virtual-server vs2 type http

 virtual ip address 61.159.4.100

 default server-farm sf2

 sticky-sync enable global

 service enable

#

loadbalance log enable nat

#

userlog flow syslog

#

7.2  NAT64负载分担【四转七】

7.2.1  组网需求

随着计算机普及和互联网的快速发展,越来越多的人开始使用网络,ipv4使用32位地址,因此地址空间中只有4,294,967,296(2的32次方)个地址, IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。ipv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍,在相当长的一段时间内,ipv4和ipv6将共存 ,需要IPv4和IPv6的网络互通,用IPv4的地址访问IPv6的服务器,或者用IPv6的地址访问IPv4的服务器。ipv4用户10.0.0.2能访问ipv6的http服务器7::2/7::3,ipv6的用户300::2访问ipv4的HTTP服务器7.0.0.2/7.0.0.3。

图7-19 NAT64配置组网图

 

7.2.2  配置思路

为实现四层的NAT64功能,需要在LB设备上完成如下配置:

·     在TCP类型的虚服务器下,负载分担模式选择七层

7.2.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

7.2.4  配置注意事项

·     实服务组引用源地址池。

·     在TCP类型的虚服务器下,负载分担模式选择七层。

·     TCP类型的虚服务器下端口非0,要配置具体的端口值。

·     不支持多通道的协议,例如ftp。

7.2.5  配置步骤

1. 配置接口IP地址步骤省略

2. 新建TCP类型的NQA模板t1

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为80,如下图所示。

图7-20 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置地址池。

在导航栏中选择“负载均衡>全局配置>源地址池”,进入源地址池页面。

单击<新建>,新建源地址池名称为snat1,如下图所示。

图7-21 新建IPv4源地址池

 

单击<确定>,完成操作。

新建snat2步骤与snat1相同,snat2配置信息如下图所示。

图7-22 新建IPv6源地址池信息

 

4. 新建实服务组sf1、sf2,并指定其健康检测方法为t1。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>按钮,新建实服务组名称为sf1、sf2分别绑定地址池snat1、snat2,调度算法为源IP地址哈希,健康性检测选择t1的实服务组,如下图所示。

 

图7-23 新建实服务组

 

单击<确定>按钮,完成操作。

图7-24 新建实服务组sf2

 

单击<确定>按钮,完成操作。

5. 配置实服务器。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IPv4地址为7.0.0.2,如下图所示。

图7-25 添加IPv4实服务组成员

 

图7-26 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2与rs1步骤相同

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,新建实服务组成员,参照上图新建实服务器rs2,配置其IPv4地址为7.0.0.3。

图7-27 实服务组信息

 

单击<确定>按钮,完成操作。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf2,单击新建成员列表,新建实服务器名称为rs11,实服务器IPv6地址为7::2,如下图所示。

图7-28 添加IPv6实服务组成员

 

图7-29 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs12与rs11步骤相同

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf2,新建实服务组成员,参照上图新建实服务器rs12,配置其IPv6地址为7::3。

图7-30 实服务组信息

 

单击<确定>按钮,完成操作。

6. 配置虚服务器。

新建TCP类型的虚服务器vs1,配置其VSIP为200::1,并开启虚服务。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs1、vs2,分别设置虚服务器IP地址为200::1和61.159.4.100,并分别绑定实服务组sf1、sf2,类型选择TCP,虚服务器端口号为80,负载分担模式为七层,并开启虚服务,如下图所示。

图7-31 新建虚服务器vs1

 

单击<确定>按钮,完成操作。

图7-32 新建虚服务器vs2

单击<确定>,完成操作。

7.2.6  验证配置

1. Host通过http://61.159.4.100、http://200::1访问HTTP服务器,访问成功,可以在LB设备上查看到虚服务和实服务的统计信息。

图7-33 查看负载均衡会话

 

7.2.7  配置文件

#

nqa template icmp icmp

#

loadbalance snat-pool snat_v6

 ipv6 range start 7::1 end 7::1

#

loadbalance snat-pool snat_v4

 ip range start 7.0.0.1 end 7.0.0.1

#

server-farm sf1

 predictor hash address source

snat-pool   snat_v4

 probe icmp

 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   snat_v6

 probe icmp

 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 vs_v6 type tcp

 port 80

 virtual ipv6 address 200::1

 default server-farm sf1

 application-mode enable

 service enable

#

virtual-server vs_v4 type tcp

port 80

 virtual ip address 61.159.4.100

 default server-farm sf2

 application-mode enable

 service enable

#

7.3  NAT64负载分担【四层AFT IPv4--IPv6】

7.3.1  组网需求

随着计算机普及和互联网的快速发展,越来越多的人开始使用网络,IPv4使用32位地址,最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。ipv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍,在相当长的一段时间内,ipv4和ipv6将共存 ,需要IPv4和IPv6的网络互通,用IPv4的地址访问IPv6的服务器,或者用IPv6的地址访问IPv4的服务器。Internet上的服务器升级到了IPv6,某公司内部的ipv4用户10.0.0.0/24能访问ipv6的ftp服务器7::2/7::3。

图7-34 NAT64配置组网图

7.3.2  配置思路

为实现NAT64功能,需要在LB设备上完成如下配置:

·     配置IPv6到IPv4的源地址静态转换策略,用于将报文的目的地址转换为IPv6地址。

·     配置NAT64前缀将报文源IPv4地址转换为IPv6地址。

·     配置IPv4到IPv6源地址动态转换策略,将匹配允许的源地址根据NAT64前缀转换为IPv6地址。

7.3.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

7.3.4  配置注意事项

·     接口下使能AFT

·     用NAT64前缀或General前缀之前,需要先进行NAT64前缀或General前缀的配置,转换策略才能生效。

·     虚服务器下开启响应ARP。

·     虚服务器下必须配置具体的IP,不能是网段。

·     仅四层支持LB和AFT组合使用。

·     AFT转换必须有目的地址为转换后地址的路由,才能进行正常的AFT转换。

7.3.5  配置步骤

1. 配置接口IP地址步骤省略

2. 接口开启AFT

在导航栏中选择“网络>AFT”,进入接口设置页面。

勾选使用的接口,单击<开启>

图7-35 接口开启AFT

 

图7-36 接口开启AFT后查看

 

3. 配置aft前缀及策略

(1)     配置ACL 2000,仅允许IPv4网络中10.0.0.0/24网段的用户访问IPv6的internet

在导航栏中选择“对象>ACL>IPv4”,进入ACL页面。

单击<新建>,创建基本ACL 2000,新建两条规则,允许10.0.0.0/24,其余则拒绝

图7-37 创建ACL

 

单击<确定>,进入新建IPv4基本ACL的页面

图7-38 第一条规则

 

单击<确定>,进入创建第二条ACL规则

图7-39 第二条规则

 

单击<确定>,进入下一条ACL规则。

图7-40 取消继续创建规则

 

单击<取消>按钮,完成ACL2000的规则创建

图7-41 ACL2000的规则内容

 

(2)     配置NAT64前缀,此前缀将在ipv4到ipv6的源地址动态转换策略中被调用,将报文的源地址转换为ipv6地址

在导航栏中选择“网络>AFT >NAT64前缀”,进入NAT64前缀页面。

单击<新建>,新建NAT64前缀,IPv6前缀为2018::,NAT64前缀长度为96

图7-42 新建NAT64前缀

 

单击<确定>按钮,完成操作。

(3)     配置IPv4到IPv6源地址动态转换策略,将匹配ACL 2000报文的源地址根据NAT64前缀转换为IPv6地址,目前LB设备暂不支持web界面配置,使用命令行进行举例.

[Sysname] aft v4tov6 source acl number 2000 prefix-nat64 2018:: 96

(4)     配置IPv6到IPv4的源地址静态转换策略,用于将报文的目的地址转换为IPv6地址

在导航栏中选择“网络>AFT >AFT策略”,进入AFT策略页面。

击<新建>,新建AFT策略,转换方式选择v6tov4,IPv4地址为61.232.0.2,IPv6地址为200::1

图7-43 IPv6到IPv4的源地址静态转换策略

 

单击<确定>按钮,完成操作。

4. 配置创建TCP类型的NQA模板tcp

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为tcp,类型为TCP的健康检测模板,如下图所示。

图7-44 新建健康检测模板

 

单击<确定>按钮,完成操作。

5. 创建实服务组sf2,并指定其健康检测方法为tcp

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>按钮,新建实服务组名称为sf2,调度算法为源IP地址哈希,健康性检测选择tcp的实服务组,如下图所示。

 

图7-45 新建实服务组sf2

 

单击<确定>按钮,完成操作。

6. 配置实服务器。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf2,单击新建成员列表,新建实服务器名称为rs11,实服务器IPv6地址为7::2,如下图所示。

图7-46 添加IPv6实服务组成员

 

图7-47 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs12与rs11步骤相同

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf2,新建实服务组成员,参照上图新建实服务器rs12,配置其IPv6地址为7::3。

图7-48 实服务组信息

 

单击<确定>按钮,完成操作。

7. 配置虚服务器。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs_v6,类型选择TCP,分别设置虚服务器IP地址为200::1,并分别绑定实服务组sf2,开启响应ARP,并开启虚服务,如下图所示。

图7-49 新建虚服务器vs_v6

7.3.6  验证配置

1. Host通过ftp 61.232.0.2访问ftp服务器,访问成功,可以在LB设备上查看到AFT的会话统计信息。

图7-50 业务访问成功

 

查看AFT会话,可以看到创建了一个IPv4会话和IPv6会话,分别对应着转换前后的报文

<Sysname>display  aft session ipv4 verbose

Slot 1:

Initiator:

  Source      IP/port: 10.0.0.22/62853

  Destination IP/port: 61.232.0.2/21

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.10

Responder:

  Source      IP/port: 61.232.0.2/21

  Destination IP/port: 10.0.0.22/62853

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.20

State: TCP_ESTABLISHED

Application: FTP

Rule ID: -/-/-

Rule name:

Start time: 2021-09-28 20:52:37  TTL: 3583s

Initiator->Responder:            0 packets          0 bytes

Responder->Initiator:            0 packets          0 bytes

 

Total sessions found: 1

<Sysname>display  aft session ipv6 verbose

Slot 1:

Initiator:

  Source      IP/port: 2018::A00:16/62853

  Destination IP/port: 200::1/21

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.10

Responder:

  Source      IP/port: 7::2/21

  Destination IP/port: 2018::A00:16/62853

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.20

State: TCP_ESTABLISHED

Application: FTP

Rule ID: -/-/-

Rule name:

Start time: 2021-09-28 20:52:37  TTL: 3579s

Initiator->Responder:            0 packets          0 bytes

Responder->Initiator:            0 packets          0 bytes

 

Total sessions found: 1

<Sysname>

7.3.7  配置文件

#

nqa template tcp tcp

 destination port 21

#

interface Route-Aggregation1.10

 ip address 10.0.0.1 255.255.255.0

 aft enable

 vlan-type dot1q vid 10

#

interface Route-Aggregation1.20

 aft enable

 vlan-type dot1q 20

 ipv6 address 7::1/64

#

acl basic 2000

 rule 0 permit source 10.0.0.0 0.0.0.255

 rule 5 deny

#

 aft prefix-nat64 2018:: 96

 aft v6tov4 source 200::1 61.232.0.2

 aft v4tov6 source acl number 2000 prefix-nat64 2018:: 96

#

server-farm sf2

 predictor hash address source

 probe tcp

 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 rs11

 ipv6 address 7::2

#

real-server rs12

 ipv6 address 7::3

#

virtual-server vs_v6 type tcp

 virtual ipv6 address 200::1

 default server-farm sf2

 route-advertisement enable

 connection-sync enable

 sticky-sync enable global

 service enable

#

7.4  NAT64负载分担【四层AFT ipv6--ipv4】

7.4.1  组网需求

随着计算机普及和互联网的快速发展,越来越多的人开始使用网络,IPv4使用32位地址,最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。ipv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍,在相当长的一段时间内,ipv4和ipv6将共存 ,需要IPv4和IPv6的网络互通,用IPv4的地址访问IPv6的服务器,或者用IPv6的地址访问IPv4的服务器。

Internet已经升级到了IPv6,但是某公司内部网络仍然是IPv4网络。而该公司仍希望为IPv6 Internet内的用户提供FTP服务。该公司访问IPv6 Internet使用的IPv6地址为300::2。

图7-51 NAT64配置组网图

7.4.2  配置思路

为实现NAT64功能,需要在LB设备上完成如下配置:

·     通过IPv4到IPv6源地址静态转换策略,为IPv4网络中的FTP服务器地址指定一个对应的IPv6地址,IPv6 Internet中的主机通过访问该IPv6地址可以访问IPv4网络中的FTP服务器。设备收到发往该IPv6地址的报文时将其目的地址转换为对应的IPv4地址。

·     通过IPv6到IPv4源地址动态转换策略,将IPv6 Internet发送过来的IPv6报文源地址转换为IPv4地址7.0.0.200、 7.0.0.201。

7.4.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

7.4.4  配置注意事项

·     接口下使能AFT。

·     用NAT64前缀或General前缀之前,需要先进行NAT64前缀或General前缀的配置,转换策略才能生效。

·     虚服务器下开启响应ARP。

·     虚服务器下必须配置具体的IP,不能是网段。

·     仅四层支持LB和AFT组合使用。

·     AFT转换必须有目的地址为转换后地址的路由,才能进行正常的AFT转换。

7.4.5  配置步骤

1. 配置接口IP地址步骤省略

2. 接口开启AFT

在导航栏中选择“网络>AFT”,进入接口设置页面。

勾选使用的接口,单击<开启>

图7-52 接口开启AFT

 

图7-53 接口开启AFT后查看

 

3. 配置aft前缀及策略

(1)     配置IPv6 ACL 2000,仅允许IPv6网络中300:: 64网段的用户访问IPv6的internet

在导航栏中选择“对象>ACL>IPv6”,进入ACL页面。

单击<新建>,新建基本ACL 2000,新建两条规则,允许300:: 64,其余则拒绝

图7-54 新建ACL

 

单击<确定>,进入新建IPv6基本ACL的页面

图7-55 第一条规则

 

单击<确定>,进入创建第二条ACL规则

图7-56 第二条规则

 

单击<确定>,进入下一条ACL规则。

图7-57 取消继续创建规则

 

单击<取消>按钮,完成ACL2000的规则创建

图7-58 ACL2000的规则内容

 

(2)     配置NAT64前缀,报文的目的地址根据该NAT64前缀转换为IPv4地址

在导航栏中选择“网络>AFT >NAT64前缀”,进入NAT64前缀页面。

图7-59 新建NAT64前缀

 

单击<确定>按钮,完成操作。

(3)     配置AFT地址组

在导航栏中选择“对象>对象组>AFT地址组”,进入AFT地址组页面,单击<新建>,起始IP地址为7.0.0.200,结束IP地址7.0.0.203

图7-60 配置AFT地址组

 

单击<确定>按钮,完成操作。

图7-61 AFT地址组信息

 

(4)     配置IPv4到IPv6源地址动态转换策略,将匹配ACL 2000报文的源地址根据NAT64前缀转换为IPv6地址

在导航栏中选择“网络>AFT >AFT策略”,进入AFT策略页面,转换方式选择NAT64前缀,报文匹配规则(ACL)选2000,转换后源地址选择地址组0

图7-62 新建AFT策略

 

单击<确定>按钮,完成操作。

4. 配置创建TCP类型的NQA模板tcp

在导航栏中选择“对象>健康检测”,进入健康检测模板页面。

单击<新建>,新建健康模板名称为tcp,类型为TCP的健康检测模板,如下图所示。

图7-63 新建健康检测模板

 

单击<确定>按钮,完成操作。

5. 创建实服务组sf1,并指定其健康检测方法为tcp

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>按钮,新建实服务组名称为sf1,调度算法为源IP地址哈希,健康性检测选择tcp的实服务组,如下图所示。

 

图7-64 新建实服务组sf1

 

单击<确定>按钮,完成操作。

6. 配置实服务器。

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,单击新建成员列表,新建实服务器名称为rs1,实服务器IPv4地址为7.0.0.2,如下图所示。

 

图7-65 添加实服务组成员

 

图7-66 新建实服务器

 

单击<确定>按钮,完成操作。

新建实服务器rs2与rs1步骤相同

在导航栏中选择“负载均衡>应用负载>实服务组”,编辑实服务组sf1,新建实服务组成员,参照上图新建实服务器rs2,配置其IPv4地址为7.0.0.3。

图7-67 实服务组信息

 

单击<确定>按钮,完成操作。

7. 配置虚服务器。

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,新建虚服务器名称为vs_v4,类型选择TCP,分别设置虚服务器IP地址为61.159.4.100,并分别绑定实服务组sf1,开启响应ARP,并开启虚服务,如下图所示。

图7-68 新建虚服务器vs_v4

 

单击<确定>,完成操作。

7.4.6  验证配置

1. Host通过ftp ipv6 2018::61.159.4.100 访问ftp服务器,访问成功,可以在LB设备上查看到虚服务和实服务的和AFT的会话统计信息。

图7-69 业务访问成功

 

查看AFT会话,可以看到创建了一个IPv6会话和IPv4会话,分别对应着转换前后的报文

<Sysname>display  aft session ipv6 verbose

Slot 1:

Initiator:

  Source      IP/port: 300::2/63966

  Destination IP/port: 2018::3D9F:464/21

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.10

Responder:

  Source      IP/port: 2018::3D9F:464/21

  Destination IP/port: 300::2/63966

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.20

State: TCP_ESTABLISHED

Application: FTP

Rule ID: -/-/-

Rule name:

Start time: 2021-09-29 15:03:55  TTL: 3596s

Initiator->Responder:            0 packets          0 bytes

Responder->Initiator:            0 packets          0 bytes

 

Total sessions found: 1

<Sysname>

<Sysname>display  aft session ipv4 verbose

Slot 1:

Initiator:

  Source      IP/port: 7.0.0.203/63966

  Destination IP/port: 61.159.4.100/21

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.10

Responder:

  Source      IP/port: 7.0.0.2/21

  Destination IP/port: 7.0.0.203/63966

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: Route-Aggregation1.20

State: TCP_ESTABLISHED

Application: FTP

Rule ID: -/-/-

Rule name:

Start time: 2021-09-29 15:03:55  TTL: 3592s

Initiator->Responder:            0 packets          0 bytes

Responder->Initiator:            0 packets          0 bytes

 

Total sessions found: 1

7.4.7  配置文件

#

nqa template tcp tcp

 destination port 21

#

interface Route-Aggregation1.10

 aft enable

 vlan-type dot1q vid 10

 ipv6 address 300::1/64

#

interface Route-Aggregation1.20

 ip address 7.0.0.1 255.255.255.0

 aft enable

 vlan-type dot1q vid 20

#

acl ipv6 basic 2000

 rule 0 permit source 300::/64

 rule 5 deny

#

aft address-group 0

 address 7.0.0.200 7.0.0.203

#

 aft prefix-nat64 2018:: 96

 aft v6tov4 source acl ipv6 number 2000 address-group 0 no-pat

#

server-farm sf1

 predictor hash address source

 probe tcp

 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 rs1

 ip address 7.0.0.2

#

real-server rs2

 ip address 7.0.0.3

#

virtual-server vs_v4 type tcp

 virtual ip address 61.159.4.100

 default server-farm sf1

 route-advertisement enable

 connection-sync enable

 sticky-sync enable global

 service enable

#

 

8 连接数限制典型配置举例

8.1  组网需求

通信过程中,有时部分服务器处理能力有限,分配大量连接会导致网络拥堵,因此需要限制这些服务器的连接数,为其设置上限,当这些服务器的连接数达到上限时,不再为这些服务器分配连接。同时,有些源地址可能发起大量的连接占用网络资源,导致其他地址用户无法访问,需要对这些地址的连接数进行限制。由于业务需要,要保证携带了某个Cookie字段的客户访问的连接数分发到同一服务器,且连接数不被限制。如下图,Host通过LB设备对3台服务器进行访问。三台服务器Server AServer BServer C均可提供HTTP服务,Host访问服务器的流量会在三台服务器之间负载分担,对服务器Server A的连接数进行限制,使其不超过200,对网段10.0.1.16/28发起的连接数进行限制,保证每个地址发起的连接不超过10个。当客户端携带了特定Cookie值时,连接被分配到服务器Server A,且连接数不被限制

图8-1 连接数限制组网图

 

8.2  配置思路

为了实现连接数限制功能,需要在LB设备上完成如下配置:

·     配置实服务组,实服务器。

·     配置连接数限制策略,限制某一网段每个地址的连接数不超过10。

·     配置基于Cookie插入的持续性组,并关闭受连接数限制功能。

·     配置虚服务,引用实服务组、持续性组和连接数限制策略。

8.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

8.4  配置注意事项

·     持续性组要关闭受连接数限制功能。

·     基于Cookie的会话保持,Host端携带的Cookie要与需要分配到的实服务器的Cookie一致,可以通过命令行查看。

·     连接数限制策略规则,限制依据要勾选源地址和目的地址。

8.5  配置步骤

说明

以下验证过程均在LB设备上进行。

 

1. 配置接口IP地址步骤省略

2. 新建HTTP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为HTTP的健康检测模板,预期接收状态码为200,如下图所示。

图8-2 新建健康检测模板

 

单击<确定>按钮,完成操作。

3. 配置实服务组

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为加权轮转,健康检测方法选择t1的实服务组,如下图所示。

图8-3 新建实服务组

 

单击<确定>按钮,完成操作。

4. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,最大连接数为200,如下图所示。

图8-4 添加实服务组成员

 

图8-5 新建实服务器

单击<确定>按钮,完成操作。

负载均衡>应用负载>实服务组,编辑实服务组sf1,单击添加实服务组成员,参照上图步骤新建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3,rs2、rs3不配置最大连接数。

图8-6 实服务组信息

 

5. 配置持续性组

在导航栏中选择“负载均衡>全局配置>持续性组”,单击<新建>:持续性组名称为cookie,类型为HTTP-Cookie,Cookie持续性方法为Cookie插入,Cookie名称为X-LB,关闭<受连接数限制>,如下图所示。

图8-7 新建持续性组cookie

 

单击<确定>按钮,完成操作。

6. 配置高级ACL

在导航栏中选择“对象>ACL>IPv4”,单击<新建>:类型为高级,编号为3001,如下图所示。

图8-8 新建高级ACL规则3001

 

单击<确定>按钮,弹出新建IPv4高级ACL的规则,添加ACL匹配规则,匹配条件勾选择匹配源IP地址/通配符掩码和匹配目的IP地址/通配符掩码,源IP地址/通配符掩码为10.0.1.16/0.0.0.15,目的IP地址/通配符掩码为61.159.4.100/0.0.0.0,去勾选<继续添加下一条规则>如下图所示。

图8-9 新建高级ACL3001的匹配规则

 

单击<确定>按钮,完成操作。

7. 配置连接数限制策略,新建限制规则

在导航栏中选择“负载均衡>应用负载>高级策略>连接数限制策略”进入连接数限制策略页面。

单击<新建>,添加连接数限制策略名称为lp的连接数限制策略,单击<新建>添加规则,类型为IPv4 ACL,ACL选择3001,限制依据勾选<源地址>和<目的地址>,连接数范围上限和下限都为10,如下图所示。

图8-10 新建连接数限制策略

 

图8-11 新建限制规则

 

图8-12 新建连接数限制策略规则

 

单击<确定>按钮,完成操作。

8. 配置虚服务器

在导航栏中选择“负载均衡>应用负载>虚服务器”,新建虚服务器名称为vs,类型为HTTP,IP为61.159.4.100,端口号为80,实服务组为sf, 实服务组的持续性为cookie,连接数限制策略为lp,并开启虚服务,单击<确定>。

图8-13 新建虚服务器

 

单击<确定>,完成操作。

9. 查看设备各实服务组成员的Cookie值

Web界面暂不支持查看设备各实服务组成员的Cookie值,仅支持命令行查询。

<Sysname>display sticky virtual-server brief

Slot 1:

Sticky type  Sticky method   Sticky key        Virtual server Real-server/Link

HTTP cookie  Cookie Insert   2.0.74232acd.0    vs             192.168.1.1:0

HTTP cookie  Cookie Insert   2.1.d7ecc40e.0    vs             192.168.1.2:0

HTTP cookie  Cookie Insert   2.2.ac21e602.0    vs             192.168.1.3:0

8.6  验证配置

1. 清除虚服务器和实服务组成员的统计数据

验证前先清除虚服务器和实服务组成员的统计数据,以免干扰判断,清除后,再打流量进行验证。

在导航栏中选择“监控>应用负载>虚服务器>实时统计”,选择虚服务vs,单击<清除>清除虚服务器的统计。

图8-14 清除虚服务器统计

 

在导航栏中选择“监控>应用负载>实服务组>实时统计”,单击右侧<详细>,进入实服务组成员统计页面,单击<清除>下的清除全部数据清除所有服务组成员的统计。

图8-15 清除实服务组统计

 

通过点击虚服务器统计页面及实服务组成员统计页面右侧的详细查看每个虚服务器和实服务组成员的详细统计信息。

图8-16 查看虚服务器的详细统计信息

 

图8-17 查看每个实服务组成员的详细统计信息

 

2. 限制服务器Sever A的并发连接数

100个源地址不包含连接数限制策略限制的地址段,向虚服务发起3000个连接,实服务器Sever A的连接数为200,服务器Sever B的连接数为1400,服务器Sever C的连接数为1400,业务没有失败。

图8-18 实服务组成员rs1统计结果

 

图8-19 实服务组成员rs2统计结果

 

图8-20 实服务组成员rs3统计结果

 

图8-21 虚服务器统计结果

 

3. 限制一个地址段的并发连接数

清除虚服务器和实服务组成员统计,100个源地址访问虚服务,100个地址包含连接数限制策略限制的地址段,发起3000个连接,实服务器Sever A的连接数为200,实服务器Sever B和实服务器Sever C的连接数均略小于等于1240,虚服务产生约320个丢包。

图8-22 实服务组成员rs1统计结果

 

图8-23 实服务组成员rs2统计结果

 

图8-24 实服务组成员rs3统计结果

 

图8-25 虚服务器统计结果

 

4. 基于Cookie的会话保持

清除虚服务器和实服务组成员统计,100个源地址访问虚服务,源地址包含连接数限制的地址段,发起3000个连接,客户端携带实服务器Sever A的cooike,实服务器连接数不受限制,且所有连接都分配到实服务器Sever A,Sever A的连接数为3000, Sever B和Sever C的连接数为0。

图8-26 实服务组成员rs1统计结果

 

图8-27 实服务组成员rs2统计结果

 

图8-28 实服务组成员rs3统计结果

 

图8-29 虚服务器统计结果

 

8.7  配置文件

#

nqa template http t1

 expect status 200

#

acl advanced 3001

 rule 0 permit ip source 10.0.1.16 0.0.0.15 destination 61.159.4.100 0

#

sticky-group cookie type http-cookie

 override-limit enable

 cookie insert

 check all-packet

#

server-farm sf1

 probe t1

 success-criteria at-least 1

 real-server rs1 port 0

  success-criteria at-least 1

  connection-limit max 200

 real-server rs2 port 0

  success-criteria at-least 1

 real-server rs3 port 0

  success-criteria at-least 1

#

loadbalance limit-policy lp

 limit 1 acl 3001 per-destination per-source amount 10 10

#

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-limit-policy lp

 default server-farm sf1 sticky cookie

 sticky-sync enable global

 service enable

#

9 LB支持IPS/AV/WAF深度报文检测典型配置案例

9.1  组网需求

用户通过局域网连接到LB设备访问Internet,要求对经过LB的业务流量做深度报文检测,识别网络攻击和安全隐患并执行相应动作,从而保护LB设备本身以及内网服务器的安全。

Host端发起IPS/AV/WAF攻击,经过设备均能够被识别并记录日志、执行相应动作(例如丢弃),实现对内部服务器的防护。

图9-1 深度报文检测组网图

 

9.2  配置思路

为实现对经过LB的业务流量做深度报文检测,需要在LB设备上完成如下配置:

·     安装支持IPS/AV/WAF的License。

·     升级IPS/AV/WAF特征库到最新版本。

·     配置IPS/AV/WAF策略配置文件。

·     虚服务器引用IPS/AV/WAF策略。

9.3  使用版本

本举例是在L1070的Feature 1160P16版本上进行配置和验证的。

9.4  配置注意事项

·     确认设备已经安装支持IPS/AV/WAF的License并升级对应特征库。

·     内容安全配置变更之后(新建、编辑、删除),需要提交才能生效。

·     IPS/AV开启输出系统日志功能。

·     WAF只支持快速日志,需要开启输出快速日志到日志主机功能。

9.5  配置步骤

1. 申请License步骤省略

2. 安装License

在导航栏中选择“系统 > License配置,单击<安装>按钮加载License文件对相应模块进行授权。

图9-2 安装License

 

图9-3 IPS/AV/WAF授权信息

 

3. 特征库升级

在导航栏中选择“系统 > 升级中心>特征库升级,依次对IPS/AV/WAF特征库进行升级,设备提供三种升级方式:本地升级、立即升级和定时升级。

图9-4 特征库升级

 

图9-5 特征库信息

 

说明

当设备能访问DEVICE官网时,才能够使用立即升级或定时升级方式升级IPS/AV/WAF特征库。

可以通过访问DEVICE官网手工下载IPS/AV/WAF特征库文件到本地,使用本地升级进行特征库更新。

 

4. 新建入侵防御配置文件(可选)

在导航栏中选择“负载均衡> 应用安全>入侵防御 > 配置文件”,单击<新建>按钮,在新建入侵防御配置文件视图,在名称中输入ips,单击<确定>。

图9-6 新建入侵防御配置文件

 

5. 新建防病毒配置文件(可选)

在导航栏中选择“负载均衡> 应用安全>防病毒 > 配置文件”,单击<新建>按钮,在新建防病毒配置文件视图,在名称中输入av,单击<确定>。

图9-7 新建防病毒配置文件

 

6. 新建web应用防护配置文件(可选)

在导航栏中选择“负载均衡> 应用安全>Web应用防护 > 配置文件”,单击<新建>按钮,进入到新建Web应用防护配置文件视图,在名称中输入waf,单击<确定>。

图9-8 新建Web应用防护配置文件

 

7. 新建TCP类型的NQA模板

在导航栏中选择“负载均衡>全局配置>健康检测”,进入健康检测模板页面。

单击<新建>,添加健康模板名称为t1,类型为TCP的健康检测模板,目的端口号为80,如下图所示。

图9-9 新建健康检测模板

 

单击<确定>按钮,完成操作。

8. 配置实服务组

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

单击<新建>,添加实服务组名称为sf1,调度算法为源IP地址哈希,健康检测方法选择t1的实服务组,如下图所示。

图9-10 新建实服务组

 

单击<确定>按钮,完成操作。

9. 配置实服务器

在导航栏中选择“负载均衡>应用负载>实服务组”,进入实服务组页面。

编辑实服务组sf1,添加实服务组成员,新建实服务器名称为rs1,实服务器IP地址为192.168.1.1,如下图所示。

图9-11 添加实服务组成员

 

图9-12 新建实服务器

 

单击<确定>按钮,完成操作。

负载均衡>应用负载>实服务组,编辑实服务组sf1,单击添加实服务组成员,参照上图步骤新建实服务器rs2和rs3,分别配置其IPv4地址为192.168.1.2和192.168.1.3。

图9-13 实服务组信息

 

10. 配置虚服务器

在导航栏中选择“负载均衡>应用负载>虚服务器”,进入虚服务器页面。

单击<新建>,添加虚服务器名称为vs,类型选择TCP,IP地址为61.159.4.100/32,开启虚服务功能,开启内容安全功能,Web应用防护配置文件选择waf,入侵防御配置文件选择ips,防病毒配置文件选择av,如下图所示。

图9-14 新建虚服务器

 

单击<确定>,完成操作。

内容安全配置变更之后,需要单击<提交>才能生效,完成虚服务器的配置

图9-15 单击提交完成虚服务器的配置

 

11. 开启IPS/AV/WAF日志

在导航栏中选择“系统>日志设置>威胁日志”,入侵防御日志和防病毒日志开启“系统日志”,单击<应用>生效

图9-16 开启入侵防御日志和防病毒日志的系统日志

 

在导航栏中选择“系统>日志设置>基本配置>快速日志”,新建日志主机,输入日志主机IP地址,开启Web应用防护日志。

图9-17 新建日志主机

 

图9-18 开启Web应用防护日志

 

在导航栏中选择“系统>日志设置>基本配置>存储空间设置”,使能DPI深度安全|威胁业务。

图9-19 开启DPI深度安全|威胁业务

Web界面暂不支持开启将日志快速输出到日志主机,仅支持命令行配置。

[Sysname]customlog format dpi waf

9.6  验证配置

1. 构造IPS攻击经过LB设备

Host端可通过浏览器访问如下URL路径,设备检测到该攻击流量会进行攻击拦截并生成威胁日志。

http://61.159.4.100/mytest1/export/show2.php?id=2%20%20AND%203206=CONVERT(INT,(CHAR(58)+CHAR(103)+CHAR(115)+CHAR(99)+CHAR(58)+(SELECT%20SUBSTRING((ISNULL(CAST(*%20form%20pangolin_test_table;--%20AS%20NVARCHAR(4000)),CHAR(32))),1,100))+CHAR(58)+CHAR(112)+CHAR(120)+CHAR(117)+CHAR(58)))

在导航栏中选择“监控>设备日志>威胁日志”,可查看设备生成的威胁日志列表,单击左侧查看按钮可以查看日志详情。

图9-20 查看威胁日志

 

图9-21 IPS威胁日志

 

2. 构造AV攻击经过LB设备

攻击HOST,将测试病毒样本通过HTTP传输,经过设备测试观察结果。

在导航栏中选择“监控>设备日志>威胁日志”,可查看设备生成的威胁日志列表,单击左侧查看按钮可以查看日志详情。

图9-22 查看威胁日志

 

图9-23 AV威胁日志

 

3. 构造WAF攻击经过LB设备

Host端可通过浏览器访问如下URL路径,设备检测到该攻击流量会进行攻击拦截并生成威胁日志。

http://61.159.4.100/x.php?id%20=123456%27%3Cscript%3Ealert(%27xss%27)%3C/script%3E

在日志服务器上可以查看对应的威胁日志。

Sep 29 17:48:41 2021 Sysname %%10 VsysId:1 WAF/4/WAF_IPV4_INTERZONE: Protocol(1001)=TCP; Application(1002)=http; SrcIPAddr(1003)=10.0.0.2; SrcPort(1004)=51300; DstIPAddr(1007)=61.159.4.100; DstPort(1008)=80; RcvVPNInstance(1042)=; SrcZoneName(1025)=--; DstZoneName(1035)=--; UserName(1113)=10.0.0.2; PolicyName(1079)=waf; AttackName(1088)=Generic_Cross_Site_Scripting_Attempt_Base_On_Message_Dialogs(HttpURI); AttackID(1089)=24485; Category(1090)=Vulnerability; Protection(1091)=WebApplication; SubProtection(1092)=Any; Severity(1087)=MEDIUM; Action(1053)=Reset & Logging; CVE(1075)=--; BID(1076)=--; MSB(1077)=--; HitDirection(1115)=original; RealSrcIP(1100)=; SubCategory(1124)=XSS; CapturePktName(1116)=; SrcMacAddr(1021)=000c-294d-297a; DstMacAddr(1022)=0c3a-fa8c-cce8; HttpHost(1117)= 61.159.4.100; HttpUserAgent(1210)= Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR; URL(1093)= 61.159.4.100/x.php?id%20=123456%27%3Cscript%3Ealert(%2

9.7  配置文件

 

#

nqa template tcp t1

 destination port 80

#

 customlog format dpi waf

 customlog host 188.100.0.112 export dpi waf

#

app-profile vs1632905761_vs

 ips apply policy ips mode protect

 anti-virus apply policy av mode protect

 waf apply policy waf mode protect

#

inspect logging parameter-profile av_logging_default_parameter

#

inspect logging parameter-profile ips_logging_default_parameter

#

server-farm sf1

 predictor hash address source

 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 vs type tcp

 virtual ip address 61.159.4.100

 default server-farm sf1

 connection-sync enable

 sticky-sync enable global

 dpi-app-profile vs1632905761_vs

 service enable

#

waf policy waf

#

dac log-collect service dpi threat enable

#

ips policy ips

 status enabled

#

ips logging parameter-profile ips_logging_default_parameter

#

anti-virus policy av

#

anti-virus logging parameter-profile av_logging_default_parameter

#

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们