Part 1 - ASA Cluster介绍
随着移动互联网,大数据,云计算和数据中心的发展,业务对网络的需求越来越大。对安全性的要求也越来越高,因防火墙上具备大量的安全防护业务,比如域间策略,包过滤,DPI,SSLVPN,安全策略等,那么单一的防火墙已经成为限制网络带宽增长的瓶颈,极大地制约了网络的实际应用。
通过前面几篇文章,大家对ASA Failover的学习,知道在ASA上做Failover Active-Active部署,这样可以提高网络的吞吐量,可是别忘了哦!Failover中最多只能绑定2个物理防火墙。如果满足不了转发性能的需求怎么办呢?本文将为大家介绍ASA Cluster技术,最多可以绑定16个物理设备。大大提高网络网络性能。
有朋友会问:到底什么是ASA Cluster呢?ASA CLuster就是将多台物理ASA虚拟成一台ASA(Cluster)对外提供服务,实现流量的冗余备份和负载分摊。
一.部署Cluster后ASA性能指标
1. 部署ASA Cluster后,Cluster总体性能比例如下:
-
Cluster吞吐量为所有物理成员ASA吞吐量的70%。
-
Cluster 支持Connection(状态化表项条目)为所有物理成员ASA的60%
-
Cluster每秒处理的Connection数量为所有物理成员ASA的50%。
例如,8台ASA 5585-X独立使用,每台设备吞吐量为10 Gbps,但是将8台设备加入到同一个Cluster中,则Cluster的最大吞吐量为10 Gbps x 8 x 70%=56 Gbps.
二.CLuster 成员介绍和角色选举
1. 端口角色介绍
-
Cluster中,有且只有一台物理ASA作为Master,其他ASA均为Slave.
-
Master角色选举根据优先级判定,优先级数值越小,优先级越高,手动配置,范围是1-100.
-
其他ASA设备均为Slave.
-
所有业务配置均在Master设备上执行,配置会自动同步到其他Slave设备.
2. Master选举过程
-
将一台成员ASA加入到Cluster时,它每3秒发送一次选举请求,
-
当有其他具备更高优先级的成员设备回复选举请求,则优先级高的成员为Master,自己为Slave.
-
如果等待45秒,没有收到比自己更高优先级的成员设备回复选举请求,则自己成为Master.
-
如果45秒后,收到跟高优先级的成员回复选举请求,则自己依然为Master,不发生角色抢占.
三.Cluster接口和链路介绍
1. Cluster interface介绍
-
Cluster内有多台ASA,为了充分利用设备资源,则进出Cluster的流量都需要做负载分摊
-
Cluster interface用在Cluster与网络设备(交换机或者路由器)互联传递负载均衡的流量.
-
Cluster interface提供了2种连接方式,Spanned EtherChannel(链路捆绑)和Individual interfaces(独立接口)
Spanned EtherChannel(Cisco推荐):
允许将同一个Cluster中的不同成员的一个或多个接口加入到同一个EtherChannel与一台网络设备(交换机或路由器)对接,EtherChannel则可以提供负载分摊.EtherChannel可配置在routed和transparent模式.routed模式中,为Ether Channel配置单一IP即可,transparent模式中,为BVI配置IP即可.
图1:Spanned EtherChannel互联如图1所示,ASA1-ASA4组成一个Cluster,为了实现流量负载分摊,各自添加ten0/8到Spanned Port-channel 1中,添加ten0/9到Spanned port-channal 2中,分别与inside交换机和outside交换机互联,Ether Channel为进出Cluster的流量提供了负载分摊.
Individual interfaces:
独立接口,只能配置在Routed模式,所以与交换机互联的每个接口需要一个Local IP地址,用于运行路由协议时传递路由的下一跳地址,同时Master设备需要一个Main地址,用于Cluster管理使用,所有IP均在Master设备上配置,Master设备需要创建一个Pool,用于给Slave设备分配Local IP.流量负载均衡由路由协议提供.
图2:Individual interfaces互联如图2所示,ASA1-ASA4组成一个Cluster,各自将接口ten0/8和ten0/9分别与inside交换机,outside交换机互联.每个接口拥有独立IP地址,当运行动态路由协议是,负载均衡由路由协议提供(交换机从Cluster学习到的同一条路由将有4个下一跳).
2. CLuster Control Link介绍
- Cluster接口用于传递控制层面和某些特殊数据流量
控制层面流包括:
A.Master 选举的流量
B.Master到Slave配置同步的流量
C.健康监控的流量
数据流量包括:
A.状态化信息同步
B.状态化信息拥有着查询消息
- 不能使用子接口,managerment接口,作为Cluster Control Link接口.推荐使用Ether Channel方式部署.
图3:ASA使用Cluster Control Link与交换机互联两台物理交换机使用VSS技术虚拟成为一台逻辑交换机,ASA1,ASA2,ASA3链路使用Ether Channel方式与逻辑交换机互联.
3. ASA Cluster中状态化表项的管理问题
大家都知道,数据的访问是一去一回,Cisco ASA属于状态化防火墙,也就是管理员只需要放行数据流的出站,不需要管数据流的进站,因为当数据出站时,防火墙为数据流建立了状态化表项,当数据流回来时,查询到该表项及可放行。
-
Client发送SYN消息到ASA1,ASA1内部会创建状态化表项,对Client的访问做记录,然后将SYN消息转发到Server。第一次握手完成。
-
Server收到SYN消息,回复SYN/ACk消息(第二次握手),但是由于网络负载均衡的原因,流量未沿着原路ASA1返回,却发送到了ASA3,可ASA3无关于Client访问Server的状态化记录,所以SYN/ACK消息在ASA3上将被丢弃。TCP连接建立不成功
图4:建立一个新的状态化表项如图4所示,ASA1-ASA3部署一个Cluster对外提供服务,Client和Server间需要建立一个TCP连接,三次握手建连接。
4. ASA Cluster中状态化表项的管理解决方案
基于以上数据流来回路径不一致,导致访问不成功的问题,ASA Cluster是怎么完成的呢?ASA Cluster为每一个数据连接分配如下几个角色。
A. Owner:通常是CLuster中受理流量的成员ASA,对于一个连接来说,只有一个owner,当owner故障,由Director指定新的Owner。
B. Backup owner:owner的备份,从owner备份TCP/UDP的状态化信息,当owner故障,状态化信息可以无缝切换到新的owner,实现流量不中断。
C. Director:响应forward对owner的查询请求,当owner接受到一个连接,它将根据源目地址和端口号通过HASH算法找到一台成员ASA为Director,每一股流量,都有唯一的一个Director,当回向流量被一台非owner成员收到,因本地无状态化表项,会向Director查询这个回向流量的owner,然后将流量发给owner成员。
D. Forwarder:负责将回向流量转发给owner。
图5:数据流转发过程如图5所示Client发送SYN到ASA1,所以ASA1成为这股流量的owner,owner将SYN消息转发给Server,Server回复SYN/ACK到ASA3,ASA3为Forwarder,此时ASA3上无状态化表项,向Director查询owner在哪,然后将回向流量SYN/ACK发送到ASA1处理。owner再向Director发送状态化信息更新。此时Director同时扮演Backup owner的角色。后续回向流量将直接从forwarder到owner,无需查询。
四.ASA Cluster内部高可用性
1. 成员ASA状态监控
- Master设备和Slave设备通过Cluster control link相互监控彼此的健康状态.
2. 接口状态监控
- 所有的成员监控自己命名接口的状态,并把状态改变信息发送到Master.
3. 故障切换
-
当一个Cluster 中成员设备故障,该成员设备的所有状态化信息将通过Control cluster link同步到Master.
-
当一个Cluster中Master设备故障,则在剩余Slave设备中选择出最最高优先级的设备作为Master.
Part 2 - ASA Cluster部署要求
一. License许可
关于不同型号设备对License要求如下表所示:
设备型号 | License要求 | 支持成员设备数量 |
---|---|---|
ASA 5585-X | Cluster License | 16 |
ASA 5516-X | Base License | 2 |
ASA 5512-X | Security Plus license | 2 |
ASA 5515-X,ASA 5525-X,ASA 5545-X,ASA 5555-X | Base License | 2 |
其他 | 不支持 | _ |
二 .ASA Cluster部署需求
- 所有成员设备必须满足如下条件,才可部署Cluster:
- 相同模块有相同DRAM(动态随机存取存储器)
- 完全一样的系统版本
- 安全模式必须一致,single或者multiple.
- 当安全模式为single时,Firewall模式必须同时为routed或者transparent
- 当新成员加入时,必须和Master使用相同SSL加密算法从Cluster Control Link 同步配置信息
三.Cluster 不支持的特性
1. 如下特性Cluster 不支持,命令被拒绝。
• Unified Communication features that rely on TLS Proxy
• Remote access VPN (SSL VPN and IPsec VPN)
• The following application inspections:
CTIQBE
H323, H225, and RAS
IPsec passthrough
MGCP
MMP
RTSP
SCCP (Skinny)
WAAS
WCCP
• Botnet Traffic Filter
• Auto Update Server
• DHCP client, server, and proxy. DHCP relay is supported.
• VPN load balancing
• Failover
• ASA CX module
Part 3 - ASA Cluster实验案例
一.实验拓扑
二.实验需求
如上图所示,完成如下需求:
1.配置一个Cluste,成员为ASA1-ASA3。
-
ASA1-ASA3的ten0/6和ten0/7配置为Cluster Control Link与SW1以EtherChannel互联。
-
ASA1-ASA3的ten0/9与SW2以Spanned EtherChannel方式互联,作为outside网络
-
ASA1-ASA3的ten0/8与SW1以Spanned EtherChannel方式互联,作为inside网络。
2.配置完成后检查CLuster状态。
三.设备和IP地址说明
1. 交换机VLAN规划
交换机 | VLAN | 作用 | 接口 |
---|---|---|---|
SW1 | 10 | Cluster Control Link | ten0/6,ten0/7,ten1/6,ten1/7,ten2/6,ten2/7 |
SW1 | 20 | Management | ten0/10,ten0/11,ten0/12 |
SW1 | 30 | Inside | ten0/8,ten1/8,ten2/8 |
SW2 | 40 | Outside | ten0/9,ten1/9,ten2/9 |
2. 设备IP地址分配
设备 | 接口 | IP地址 |
---|---|---|
ASA1 | Cluster Control Link | 192.168.1.1/24 |
ASA2 | Cluster Control Link | 192.168.1.2/24 |
ASA3 | Cluster Control Link | 192.168.1.3/24 |
ASA1 | Mangement | 10.1.1.1/24 |
ASA2/ASA3 | Mangement | 10.1.1.2-3/24(随机分配) |
Cluster | Inside | 10.10.10.5/24 |
Cluster | Outside | 209.165.201.1/27 |
四.实验配置
1.按照交换机的vlan规划,将接口加入到相应VLAN中,并且在SW1配置Port-ch4与Cluster 的Inside接口互联,SW2配置port-ch1与Cluster的Outside互联。
- SW1配置
VLAN 10
name CCL
VLAN 20
MGMT
VLAN 30
Inside
interface range tengigabitethernet 0/6 -7
switchport mode access
switchport access vlan 10
channel-group 1 mode on
interface range tengigabitethernet 1/6 -7
switchport mode access
switchport access vlan 10
channel-group 2 mode on
interface range tengigabitethernet 2/6 -7
switchport mode access
switchport access vlan 10
channel-group 3 mode on
interface range tengigabitethernet 0/10 -12
switchport mode access
switchport access vlan 20
interface range tengigabitethernet 0/8,tengigabitethernet 1/8,tengigabitethernet 2/8
switchport mode access
switchport access vlan 30
channel-group 4 mode on
- SW2配置
VLAN 40
name Outside
interface range tengigabitethernet 0/9,tengigabitethernet 1/9,tengigabitethernet 2/9
switchport mode access
switchport access vlan 40
channel-group 1 mode on
2.ASA 1 Master 初始化配置
-
配置Cluster Control Link使用Spanned Ether Channel方式与SW1互联。
-
将ASA1加入到Cluster并指定Cluster Control Link,并且配置Cluster Control Link的IP地址。
cluster interface-mode spanned force
interface tengigabitethernet 0/6
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
interface port-channel 1
description CCL
cluster group cluster1
local-unit asa1
cluster-interface port-channel1 ip 192.168.1.1 255.255.255.0
priority 1
enable
3.ASA2 Slave 初始化配置
- 配置需求同ASA1一致
interface tengigabitethernet 0/6
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
interface port-channel 1
description CCL
cluster group cluster1
local-unit asa2
cluster-interface port-channel1 ip 192.168.1.2 255.255.255.0
priority 2
enable
4.ASA3 Slave初始化配置
- 配置需求同ASA1一致
interface tengigabitethernet 0/6
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
interface port-channel 1
description CCL
cluster group cluster1
local-unit asa3
cluster-interface port-channel1 ip 192.168.1.3 255.255.255.0
priority 3
enable
5.ASA1 Master 接口配置
如下配置会自动同步到其它Slave设备。
-
为Matser设备指定Management接口IP地址,并为其他Slave设备指定地址池
-
将Cluster 中Inside方向接口以Spanned Ether Channel方式与SW1互联。并指定IP地址。
-
将Cluster 中Outside方向接口以Spanned Ether Channel方式与SW2互联。并指定IP地址
ip local pool mgmt 10.1.1.2-10.1.1.9
interface management 0/0
nameif management
ip address 10.1.1.1 255.255.255.0 cluster-pool mgmt
security-level 100
management-only
no shutdown
interface tengigabitethernet 0/8
channel-group 2 mode active
no shutdown
interface port-channel 2
port-channel span-cluster
nameif inside
ip address 10.10.10.5 255.255.255.0
interface tengigabitethernet 0/9
channel-group 3 mode active
no shutdown
interface port-channel 3
port-channel span-cluster
nameif outside
ip address 209.165.201.1 255.255.255.224
6.查看CLuster状态,Cluster状态正常。
ciscoasa#show cluster info
ASA1# sh cluster info
Cluster Cluster1: On
Interface mode: spanned
This is “ASA1” in state MASTER
ID : 0
Version : 9.1(4)
Serial No.: FCH170XXXX
CCL IP : 192.168.1.1
CCL MAC : 0006.f6e6.4432
Last join : 11:56:49 UTC Jan 9 2019
Last leave: N/A
Other members in the cluster:
Unit “asa2” in state SLAVE
Unit “asa3” in state SLAVE
ID : 1
Version : 9.1(4)
Serial No.: FCH170XXXX
CCL IP : 192.168.1.2
CCL MAC : 0006.f6e6.4426
Last join : 12:33:33 UTC Jan 9 2019
Last leave: N/A
ID : 2
Version : 9.1(4)
Serial No.: FCH170XXXX
CCL IP : 192.168.1.3
CCL MAC : 0007.f6c6.5434
Last join : 12:33:33 UTC Jan 9 2019
Last leave: N/A
网友评论