问题描述:
防火墙配置四层服务器负载均衡功能后,负载不生效或负载效果不好。
解决方法:
1、查看V7 防火墙是否收到客户端报文
V7 防火墙将不同客户端的请求分发给不同的服务器,从而实现负载分担的目的,所以定位问题时首先要判断V7 防火墙是否收到客户端的请求报文,具体可以通过在V7 防火墙上查看会话或者抓包的方法进行确认。
命令:display session table ipv4 source-ip x.x.x.x destination-ip y.y.y.y verbose
例如:通过命令可以发现V7防火墙已经收到客户端10.0.0.1发来的请求报文。

2、检查路由信息
如果通过查看会话或者抓包发现V7防火墙没有收到客户的请求报文,那么需要对路由进行排查,确保上行设备都有到达V7防火墙的虚服务IP地址的路由。
命令:display ip routing-table x.x.x.x
例如:V7 防火墙的虚地址是60.191.99.142,通过命令看到上行设备已经有到60.191.99.142的路由。

另外,加入V7 防火墙的虚服务IP地址和接口地址在同一物理网段,由于V7 防火墙的虚地址目前不会响应ARP,所以需要在上行设备配置32位主机路由,或者将V7 防火墙虚地址配置成接口sub地址或VRRP虚地址。
例如:V7 防火墙的接口地址为172.31.0.0/24,虚服务IP地址是172.31.0.111,可以将虚服务地址配置成接口sub地址或者VRRP虚地址。

3、检查域间策略
若设备路由正常,需查看防火墙的域间策略是否配置正确。包括相关的接口是否加入安全域,域间策略是否已放通。
查看防火墙设备上相关业务接口是否已经正确的加入安全域。
命令:display security-zone name xxxx
例如:通过命令查看,可以确认两个业务接口已经正确加入安全域。

确认接口已经加入安全域后,查看相关域间策略,确保发起方区域到响应方区域的域间策略已放通,保证数据流的正常建立。
命令:
display packet-filter zone-pair security source xxxx destination xxxx
display acl xxxx
display object-policy zone-pair security source xxxx destination xxxx
display object-policy ip xxxx
例如:通过命令查看,可以确认trust到untrust的域间策略已经全部放通。

4、查看虚服务状态
登陆到V7 防火墙设备的WEB管理界面,查看V7 防火墙虚服务的状态是否正常,如果虚服务没有使能,则虚服务状态会灰显(服务关闭),V7 防火墙不会对命中虚服务的报文进行负载转发,所以一定要检查配置,确认虚服务已经使能,且状态显示为绿灯。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 服务器负载均衡 >服务器负载均衡”,点击“虚服务器”页签,可以看到当前V7 防火墙上http_service的虚服务状态正常。

5、检查虚服务配置
如果虚服务的状态不正常,请仔细检查虚服务是否已经使能,虚服务类型(四层负载类型为IP、TCP或UDP)、IP地址、掩码、端口是否配置正确,实服务组、持续性组、负载均衡策略是否配置并且相关配置是否正确。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 服务器负载均衡 >服务器负载均衡”,先点击“虚服务器”页签,然后再选择对应虚服务后面的详细按钮进入虚服务的配置界面,可以看到http_service这个虚服务的IP地址、掩码、协议及端口信息配置正确,并确认虚服务状态已经使能。


高级属性中,可以看到该虚服务配置的负载均衡策略为lb。

6、查看负载均衡策略
虚服务器引用负载均衡策略,能够细化虚服务器负载均衡的粒度。根据策略中的匹配规则,使命中虚服务器的报文根据不同的报文内容进行不同的负载均衡处理,从而有效地丰富了负载均衡的负载功能。虚服务引用负载均衡策略不是必需的(虚服务器指定默认的实服务组或引用负载均衡策略选其一,如果同时配置负载均衡策略和默认实服务组,报文会被优先交给负载均衡策略处理,当负载均衡策略无法处理时才交给默认的实服务组处理)。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 全局配置 > 策略”,点击“策略”页签,可以看到lb类型为通用,ClassAction数目为2。点击“详情”按钮,可查看该策略的详细信息。

7、检查流分类动作配置
在某些应用场景下,客户要求将某些特点的数据流分发给特定的服务器,在V7 防火墙上可以通过策略中的流分类+动作来实现。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 全局配置 > 策略”,点击“流分类”页签,可以看到配置的流分类,点击“详情”按钮,可查看流分类的详细配置,包括匹配方式和match规则。

进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 全局配置 > 策略”,点击“动作”页签,可以看到配置的动作,点击“详情”按钮,可查看对应动作的详细配置,包括转发动作和主用实服务器。

8、查看实服务状态
V7 防火墙通过健康性检测实时监控各实服务的状态,状态正常的实服务显示绿灯,一旦检测到实服务故障,就显示红灯。V7 防火墙不会向故障的实服务分发流量,在日常维护过程中要及时关注实服务的状态。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 服务器负载均衡 > 服务器负载均衡”,点击“实服务器”页签,可以看到httpserver1和httpserver2的健康性检测状态正常,dnsserver1和dnsserver2的状态不正常。

9、检查实服务配置
如果实服务的状态不正常,需要检查实服务的IP地址、端口以及健康性检测类型等配置。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 服务器负载均衡 > 服务器负载均衡”,先点击“实服务器”页签,然后再选择对应实服务后面的编辑按钮进入实服务的配置界面,看到实服务httpserver1的IP地址、端口配置正确,健康性检测方法配置为icmp。

V7 防火墙通过健康性检测实时监控实服务的状态,如果实服务出现异常就显示红灯,并且会输出日志提示,当实服务出现异常的时候除了检查实服务的IP地址、端口等配置是否正确外,还应该及时根据实服务的健康性检测类型检查实服务的路由可达性、实服务提供业务的端口、进程或者应用程序是否正常。
例如: 实服务httpserver1的健康检测方法为icmp。进入V7 防火墙的WEB管理界面, 在导航栏中选择“负载均衡 > 全局配置 > 健康监测,进入V7 防火墙的健康检测模板配置页面,然后再选择对应健康检测模块名称icmp后面的详细按钮进入健康检测的配置界面,看到类型为ICMP。ICMP主要用于检测服务的可达性,通过命令可以看到V7 防火墙到实服务172.31.0.225的路由正常。


10、查看V7 防火墙负载分担效果
V7 防火墙提供了丰富的统计功能,可以对每个虚服务、实服务的连接数、连接速率、收发报文数等信息进行统计,通过统计信息可以看到V7 防火墙当前的负载分担效果。
命令:
display virtual-server statistics
display real-server statistics
例如:通过命令查看虚服务http_service及其关联实服务httpserver1和httpserver2的总连接数、连接速率等信息,从当前统计情况来看,httpserver1和httpserver2的负载效果非常均匀。



11、检查调度算法
如果通过虚服务的统计信息看到服务器负载的效果不均匀,应该及时根据业务情况调整调
度算法。调整的时候先找到对应的虚服务,然后查看虚服务关联的实服务组,修改该实服务组的调度算法。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 服务器负载均衡 >服务器负载均衡”,先点击“虚服务器”页签,查看http_service关联的实服务组是httpservers,然后进入httpservers实服务组的配置界面调整其调度算法。

12、检查持续性
持续性就是在一定时间内将多个具有相同特性或者相关特性的连接持续发送到同一个服务器,V7 防火墙四层服务器负载均衡支持基于源IP、源端口、目的IP、目的端口等多方式的持续性,使能持续性功能后会,V7 防火墙会生成一张持续性表项,排错问题的时候先检查持续性表项是否正确,如果不正确需要及时调整持续性配置,另外可以通过会话查看报文的分发效果。
命令:
display sticky virtual-server ****
display session table ipv4 source-ip x.x.x.x destination-ip y.y.y.y verbose
例如:通过命令可以看到V7 防火墙已经生产基于源IP的持续性表项,源IP是10.0.0.1,对应的实服务是172.31.0.225,表项的老化时间是600秒;另外通过会话可以看到来着10.0.0.1的报文被分发到172.31.0.225这台服务器。

如果持续性表项无法生成或者不正确,请登录到V7 防火墙的WEB管理界面检查持续性的配置是否正确。
例如:进入V7 防火墙的WEB管理界面,在导航栏中选择“负载均衡 > 服务器负载均衡 >服务器负载均衡”,先点击“虚服务器”页签,然后再选择http_service虚服务后面的详情按钮进入虚服务配置界面,可以看到持续性组配置了httpserver。

在导航栏中选择“负载均衡 > 全局配置 >持续性组”,选择httpservice持续性组后面的详情按钮进入持续性组配置界面,可以看到httpserver持续性组的持续性方法是源地址,持续性表项生命值是60秒。

13、检查ACL策略
在某些应用场景下,客户要求将某些特点的数据流分发给特定的服务器,在V7 防火墙上可以通过负载均衡策略中的ACL来实现,在排查的过程中可以通过会话来查看ACL策略是否生效,如果不生效需要仔细检查ACL策略的配置。
命令:display acl xxxx
display session table source-ip x.x.x.x destination-ip y.y.y.y verbose
例如:客户要求将来自10.0.0.10的所有流量分发给192.168.1.1这台实服务,命令行下面创建了一个ACL 3001,定义需要转发的流量,然后在V7 防火墙 WEB管理界面将ACL 3001关联到172.31.0.225这台实服务。



然后在命令行下面通过会话查看V7 防火墙根据ACL策略分发的效果,可以看到V7 防火墙已经将10.0.0.10的流量分发给172.31.0.225这台实服务。

亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作