特性介绍:虽然使用Failover保证了高可用性,但是在流量分担上还有劣势,尽管7.x支持了A-A的模式,不过也仅仅只能是两台防火墙。真正的负载均衡的实现有三种方式,{dy}为软件方式,使用6500平台上IOS SLB(Server Load Balancing)特性的一个子集FWLB来实现,第二为硬件方式,在6500上配置CSM(Content Switching Module)来实现,{zh1}一种为专属设备方式,思科的CSS(Content Services Switch)产品线的设备来实现。要注意的是在配置负载均衡的时候要inside和outside同时配置,免得出现来回链路不同而被丢弃的情况。
7.1 配置软件实现 (只在6500 native ios模式下)
定义防火墙群的连接性 Router(config)# vlan vlan-id
Router(config)# interface vlan vlan-id
Router(config-if)# ip address ip-address subnet-mask
Router(config-if)# no shutdown
Router(config)# ip route inside-network subnet-mask fw-outside-address
定义针对每个防火墙失败的探测器 Router(config)# ip slb probe name ping
Router(config-slb-probe)# address ip-address
Router(config-slb-probe)# interval seconds
Router(config-slb-probe)# faildetect retry-count
定义防火墙群 Router(config)# ip slb firewallfarm firewallfarm-name
Router(config-slb-fw)# real ip-address
Router(config-slb-fw-real)# probe probe-name
Router(config-slb-fw-real)# inservice
Router(config-slb-fw-real)# weight weighting-value
定义特定的数据流到该防火墙群(只针对Outside)
Router(config-slb-fw)# access [source source-ip-address network-mask]
[destination destination-ip-address network-mask]
选择FWLB的方式 Router(config-slb-fw)# predictor hash address [port]
启用FWLB Router(config-slb-fw)# inservice
7.2 配置硬件实现
进入CSM负载均衡模式 Switch(config)# ip slb mode csm
选择CSM模块 Switch(config)# module csm slot-number
配置到离开防火墙群的连接性 Switch(config-module-csm)# vlan vlan-id client
Switch(config-slb-vlan-client)# ip address ip-address netmask
Switch(config-slb-vlan-client)# gateway ip-address
Switch(config-slb-vlan-client)# exit
配置到防火墙群的连接性 Switch(config-module-csm)# vlan vlan-id server
Switch(config-slb-vlan-server)# ip address ip-address netmask
Switch(config-slb-vlan-server)# alias ip-address netmask
Switch(config-slb-vlan-server)# route ip-address netmask gateway gw-ip-address
定义防火墙探测器 Switch(config-module-csm)# probe probe-name icmp
Switch(config-slb-probe-icmp)# interval seconds
Switch(config-slb-probe-icmp)# receive receive-timeout
Switch(config-slb-probe-icmp)# retries retry-count
Switch(config-slb-probe-icmp)# failed failed-interval
定义防火墙群 Switch(config-module-csm)# serverfarm serverfarm-name
Switch(config-slb-sfarm)# real ip-address
Switch(config-slb-real)# inservice
Switch(config-slb-sfarm)# predictor hash address {source | destination} 255.255.255.255
Switch(config-slb-sfarm)# no nat server
Switch(config-slb-sfarm)# probe probe-name
定义一个虚拟服务器来处理发往服务器群的流量
Switch(config-module-csm)# vserver virtual-server-name
Switch(config-slb-vserver)# serverfarm serverfarm-name
Switch(config-slb-vserver)# virtual ip-address [network-mask] any
Switch(config-slb-vserver)# vlan vlan-number
Switch(config-slb-vserver)# inservice
Switch(config-slb-vserver)# replicate csrp {sticky | connection}
定义一个通用服务器群处理离开防火墙群的流量
Switch(config-module-csm)# serverfarm serverfarm-name
Switch(config-slb-sfarm)# predictor forward
Switch(config-slb-sfarm)# no nat server
定义一个通用的虚拟服务器处理离开防火墙群的流量
Switch(config-module-csm)# vserver virtual-server-name
Switch(config-slb-vserver)# serverfarm serverfarm-name
Switch(config-slb-vserver)# virtual 0.0.0.0 0.0.0.0 any
Switch(config-slb-vserver)# vlan vlan-number
Switch(config-slb-vserver)# inservice
7.3 配置CSS实现
配置CSS的物理接口 (config) interface interface_name
(config-if) bridge vlan vlan-id (或者(config-if) trunk)
指定IP地址 (config) circuit circuit_name
(config-circuit) ip address ip_address subnet_mask
(config-circuit-ip) enable
配置缺省路由 (config) ip route 0.0.0.0 0.0.0.0 next-hop-address
定义防火墙群的防火墙 (config) ip firewall index local_firewall_address remote_firewall_address remote_css_address
定义静态路由 (config) ip route ip_address subnet_mask firewall index distance
调整Keeplive时间 (config) ip firewall timeout seconds
验证命令 show ip firewall 防火墙状态,show ip routes firewall到防火墙的静态路由,show flows显示到防火墙的负载均衡连接。