防火墙服务器负载均衡三台服务器按性能权重分发健康检查自动剔除

同一个业务架了三台服务器,最头疼的不是装机器,而是分流:性能强的机器闲着、性能弱的被打爆,客户访问还是卡。与其在前端再买一台专用设备,不如直接用防火墙自带的服务器负载均衡把这件事做掉——按服务器性能分权重、坏了自动剔除、同一客户端的请求始终落在同一台机器上。下面这套流程整理自华为USG防火墙官方发布的典型配置案例,命令与数据规划照案例走。

先看数据规划:三台服务器性能顺次减半,Server1 性能是 Server2 的两倍、Server2 是 Server3 的两倍,地址分别为 192.168.1.1、192.168.1.2、192.168.1.3,业务端口 21;防火墙 GE0/0/1(1.1.1.1/24)划入 untrust 区域接客户端侧,GE0/0/2(192.168.1.254/24)划入 dmz 区域接服务器侧;对外只发布一个虚拟服务地址 1.1.1.10、端口 2121。另有地址为 1.1.1.11 的主机存在攻击行为,需要在策略里直接阻断。

第一步,配接口地址并加入安全区域:

<HUAWEI> system-view
[HUAWEI] sysname DeviceA
[DeviceA] interface ge 0/0/1
[DeviceA-GE0/0/1] ip address 1.1.1.1 24
[DeviceA-GE0/0/1] quit
[DeviceA] interface ge 0/0/2
[DeviceA-GE0/0/2] ip address 192.168.1.254 24
[DeviceA-GE0/0/2] quit
[DeviceA] firewall zone dmz
[DeviceA-zone-dmz] add interface ge 0/0/2
[DeviceA-zone-dmz] quit
[DeviceA] firewall zone untrust
[DeviceA-zone-untrust] add interface ge 0/0/1
[DeviceA-zone-untrust] quit

第二步,建实服务器组。三台性能顺次减半,权重就按 4:2:1 来,负载均衡算法选 weight-least-connection,让连接数按性能比例摊:

[DeviceA] slb
[DeviceA-slb] group 0 Rserver
[DeviceA-slb-group-Rserver] metric weight-least-connection
[DeviceA-slb-group-Rserver] rserver 0 rip 192.168.1.1 port 21 status health-check weight 4 description server1
[DeviceA-slb-group-Rserver] rserver 1 rip 192.168.1.2 port 21 status health-check weight 2 description server2
[DeviceA-slb-group-Rserver] rserver 2 rip 192.168.1.3 port 21 status health-check weight 1 description server3

第三步,配健康检查,用 ICMP 每 5 秒探测一次、连续 3 次无响应即判定异常,异常的服务器自动退出分发:

[DeviceA-slb-group-Rserver] health-check type icmp tx-interval 5 times 3
[DeviceA-slb-group-Rserver] quit

第四步,配会话保持——客户端一个操作往往要建多条连接,按源 IP 保持,同一个客户端的连接始终分到同一台服务器:

[DeviceA] slb
[DeviceA-slb]session persistence 0 sourceip

第五步,建虚拟服务器对外服务,再把实服务器组挂上去:

[DeviceA-slb] vserver 0 vs-1.1.1.10
[DeviceA-slb-vserver-vs-1.1.1.10] vserver type L4
[DeviceA-slb-vserver-vs-1.1.1.10] protocol tcp
[DeviceA-slb-vserver-vs-1.1.1.10] vip 0 1.1.1.10
[DeviceA-slb-vserver-vs-1.1.1.10] vport 2121
[DeviceA-slb-vserver-vs-1.1.1.10] group Rserver
[DeviceA-slb-vserver-vs-1.1.1.10] persistence sourceip
[DeviceA-slb-vserver-vs-1.1.1.10] quit

第六步,开启 SLB 流量的安全策略开关,并按虚服务维度管控:攻击源 1.1.1.11 直接 deny,其余网段放行并挂上入侵防御与反病毒配置文件:

[DeviceA-slb] security-policy enable
[DeviceA-slb] quit
[DeviceA] security-policy
[DeviceA-policy-security] rule name policy_sec0
[DeviceA-policy-security-rule-policy_sec0] source-address 1.1.1.11 32
[DeviceA-policy-security-rule-policy_sec0] vserver vs-1.1.1.10
[DeviceA-policy-security-rule-policy_sec0] action deny
[DeviceA-policy-security-rule-policy_sec0] quit
[DeviceA-policy-security] rule name policy_sec1
[DeviceA-policy-security-rule-policy_sec1] source-address 1.1.1.0 24
[DeviceA-policy-security-rule-policy_sec1] vserver vs-1.1.1.10
[DeviceA-policy-security-rule-policy_sec1] action permit
[DeviceA-policy-security-rule-policy_sec1] profile ips default
[DeviceA-policy-security-rule-policy_sec1] profile av default
[DeviceA-policy-security-rule-policy_sec1] quit
[DeviceA-policy-security] quit

验证两条命令收尾:display firewall server-map static 能看到 ANY 到 1.1.1.10:2121 的 SLB 静态表项,说明虚拟服务生效;流量跑一段时间后 display slb group name Rserver verbose,三台实服务器的 Status 均为 Active,总连接数占比约为 57%、28%、15%——正好对应 4:2:1 的权重比。哪台机器探测失败被剔除,这条命令里也会第一时间显出来。

入口层按性能分权重这件事,贵州诚鑫致达科技在给企业客户做业务系统发布时基本都按这套官方参数模板来落地,省掉专用设备的钱,还白得了健康检查这道保险。


企业存储选型参考|贵州诚鑫致达

做中小企业全能主力存储,群晖机型参考:DS1823xs+ · DS2422+ · DS923+。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。