NGFW-服务器负载均衡

一,原理

1.1相关概念

  实服务器:处理业务流量的实体服务器,客户端发送的服务请求最终是由实服务器处理的。

  实服务器组:由多个实服务器组成的集群,对外提供特定的一种服务。

  虚服务器:实服务器组对外呈现的逻辑形态,客户端实际访问的是虚拟服务器。

  HTTP调度策略:FW分配业务流量给实服务器组时依据的规则,不同的调度策略得到不同的分配结果。仅适用于HTTP和HTTPS(HTTPS配置SSL卸载)协议。

  负载均衡算法:FW分配业务流量给实服务器时依据的算法,不同的算法可能得到不同的分配结果。 

  会话保持:FW将同一客户端一段时间内的流量分配给同一个实服务器。

  服务健康检查:FW检查服务器状态是否正常的过程,可以增强为用户提供服务的稳定性。

1.2实现机制

  服务器负载均衡是按照逐流的方式进行流量分配的,每一条流到达FW后都会进行一次负载均衡处理。这里的“一条流”可以理解为FW上建立的一条会话或一个连接,”逐流“就是将属于同一条流的报文都分配给同一个服务器来处理。当会话老化,及时流量的源目IP等参数都没改变,也是新的流量。

  

 

 

  当PC发出的服务请求经过FW负载均衡处理后,转发到访问的虚服务器对应的实服务器组中的一台服务器上。请求最终是由一台实服务器处理的。为了保证安全和便于管理,实服务器逻辑为一台高性能的虚拟服务器。对于客户端来说访问的是虚拟服务器,实际处理业务的是实服务器。

1.3转发流程

 

 

   当PC访问虚拟服务器Vserver时,FW通过负载均衡功能选择实服务器Rserver1来处理流量,并替换报文的目的IP和端口。当响应报文到达FW再次替换报文的源IP地址和端口。

 

 

   如图所示,服务器负载均衡生成的目的NAT转换发生在域间安全策略之后,所以安全策略放行的是转换前的地址。

1.4负载均衡

 

  选择负载均衡算法时需要考虑两个主要因素:

  服务器的性能:根据服务器的性能差异来分配业务,可以保证设备得到充分利用,提高服务的稳定性。当各个服务器的性能不同且成一定比例关系时,可通过设置权重来实现负载均衡:性能高的服务器权重值大,分配到较多的业务;性能低的服务器权重值小,分配到较少的业务。

   服务器的服务类型:服务器的服务类型不同,则会话连接的时长或服务请求的次数可能会有差异。如果用户请求的服务需要长时间保持会话连接,那么必须考虑服务器并发处理的连接数。

1.简单轮询

 

2.

 

 

 

二,服务器负载均衡配置

2.1简单轮询

2.1.1拓扑图

 

   Cloud8桥接了两台linux服务器,配置的简单的http服务。

 

 

 2.1.2配置

1.配置实服务器

[FW1]slb enable  启用服务器负载均衡
[FW1]slb      进入负载均衡配置视图
[FW1-slb]group  0 RServer  创建实服务器组
[FW1-slb-group-0]metric  roundrobin   定义负载均衡算法
[FW1-slb-group-0]health-check  type  icmp  tx-interval 3 times  2      配置健康检查
[FW1-slb-group-0]rserver 0 rip  192.168.1.1 port  80 max-connection  2  配置实服务器
[FW1-slb-group-0]rserver 1 rip 192.168.1.2 port 80 max-connection  2   配置实服务器
[FW1-slb-group-0]action  optimize       繁忙策略为重新调度

2.配置虚服务器

[FW1-slb]vserver  0 VServer          创建虚服务器
[FW1-slb-vserver-0]vip 0 202.100.1.100   配置虚拟服务器IP
[FW1-slb-vserver-0]protocol  http      指定协议
[FW1-slb-vserver-0]vport  80         指定端口
[FW1-slb-vserver-0]group  RServer      调用实服务器组
[FW1-slb-vserver-0]max-connection  4    指定最大连接数

3.安全策略

[FW1]security-policy  
[FW1-policy-security]rule name slb
[FW1-policy-security-rule-slb]source-zone  untrust  
[FW1-policy-security-rule-slb]destination-zone dmz
[FW1-policy-security-rule-slb]destination-address 202.100.1.100 32
[FW1-policy-security-rule-slb]action  permit 

2.1.3测试现象

1.适用测试PC访问http://202.100.1.100

 

 2.查看会话表

复制代码
 http  VPN: public --> public  ID: c487f4ee48713981444633d4d37
 Zone: untrust --> dmz  TTL: 00:00:10  Left: 00:00:09
 Recv Interface: GigabitEthernet1/0/0
 Interface: GigabitEthernet1/0/1  NextHop: 192.168.1.2  MAC: 000c-292e-e310
 <--packets: 4 bytes: 597 --> packets: 6 bytes: 543
 202.100.2.253:49162 --> 202.100.1.100:80[192.168.1.2:80] PolicyName: slb
 TCP State: close

 http  VPN: public --> public  ID: c487f4ee48712801a76633d4d37
 Zone: untrust --> dmz  TTL: 00:20:00  Left: 00:19:56
 Recv Interface: GigabitEthernet1/0/0
 Interface: GigabitEthernet1/0/1  NextHop: 192.168.1.1  MAC: 000c-29a5-f96a
 <--packets: 13 bytes: 2,492 --> packets: 16 bytes: 4,554
 202.100.2.253:49161 --> 202.100.1.100:80[192.168.1.1:80] PolicyName: slb
 TCP State: established
复制代码

3.查看Server-map表项

[FW1]display firewall server-map  
2022-10-05 09:26:55.090 
 Current Total Server-map : 1
 Type: SLB,  ANY -> 202.100.1.100:80[VServer/0],  Zone:---,  protocol:tcp
 Vpn: public -> public 

4.启用源NAT后查看现象,命令:[FW1-slb-group-0]source-nat interface-address。此处的源NAT并非是让服务器能够转换源地址访问公网,而是使访问服务器的源地址进行转换。优点是可以设置和服务器同一网段,这样服务器可以不配置网关。适用于不固定网关地址的场景。

复制代码
 http  VPN: public --> public  ID: c487f4ee48719101ba5633d4e3c
 Zone: untrust --> dmz  TTL: 00:20:00  Left: 00:19:57
 Recv Interface: GigabitEthernet1/0/0
 Interface: GigabitEthernet1/0/1  NextHop: 192.168.1.1  MAC: 000c-29a5-f96a
 <--packets: 3 bytes: 446 --> packets: 4 bytes: 581
 202.100.2.253:49167[192.168.1.10:2049] --> 202.100.1.100:80[192.168.1.1:80] PolicyName: slb
 TCP State: established

 http  VPN: public --> public  ID: c487f4ee4871a283463633d4e3d
 Zone: untrust --> dmz  TTL: 00:20:00  Left: 00:19:58
 Recv Interface: GigabitEthernet1/0/0
 Interface: GigabitEthernet1/0/1  NextHop: 192.168.1.2  MAC: 000c-292e-e310
 <--packets: 3 bytes: 446 --> packets: 4 bytes: 561
 202.100.2.253:49168[192.168.1.10:2049] --> 202.100.1.100:80[192.168.1.2:80] PolicyName: slb
 TCP State: established
复制代码

 

posted @   L_F_A_L  阅读(193)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示