在Cisco ASA上部署 Cluster技術

weixin_33806914發表於2019-01-25

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所示,ASA1-ASA4組成一個Cluster,為了實現流量負載分攤,各自新增ten0/8到Spanned Port-channel 1中,新增ten0/9到Spanned port-channal 2中,分別與inside交換機和outside交換機互聯,Ether Channel為進出Cluster的流量提供了負載分攤.

15883836-2ca735f423ce775c.png
圖1:Spanned EtherChannel互聯

Individual interfaces:

獨立介面,只能配置在Routed模式,所以與交換機互聯的每個介面需要一個Local IP地址,用於執行路由協議時傳遞路由的下一跳地址,同時Master裝置需要一個Main地址,用於Cluster管理使用,所有IP均在Master裝置上配置,Master裝置需要建立一個Pool,用於給Slave裝置分配Local IP.流量負載均衡由路由協議提供.

如圖2所示,ASA1-ASA4組成一個Cluster,各自將介面ten0/8和ten0/9分別與inside交換機,outside交換機互聯.每個介面擁有獨立IP地址,當執行動態路由協議是,負載均衡由路由協議提供(交換機從Cluster學習到的同一條路由將有4個下一跳).

15883836-1729730462e82ea0.png
圖2:Individual interfaces互聯

2. CLuster Control Link介紹

  • Cluster介面用於傳遞控制層面和某些特殊資料流量

控制層面流包括:

A.Master 選舉的流量

B.Master到Slave配置同步的流量

C.健康監控的流量

資料流量包括:

A.狀態化資訊同步

B.狀態化資訊擁有著查詢訊息

  • 不能使用子介面,managerment介面,作為Cluster Control Link介面.推薦使用Ether Channel方式部署.

兩臺物理交換機使用VSS技術虛擬成為一臺邏輯交換機,ASA1,ASA2,ASA3鏈路使用Ether Channel方式與邏輯交換機互聯.

15883836-4df99a8abecfa58d.png
圖3:ASA使用Cluster Control Link與交換機互聯

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所示,ASA1-ASA3部署一個Cluster對外提供服務,Client和Server間需要建立一個TCP連線,三次握手建連線。

15883836-71674b6c83496c93.png
圖4:建立一個新的狀態化表項

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所示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,無需查詢。

15883836-ae3e98c280045b7d.png
圖5:資料流轉發過程
四.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部署需求
  1. 所有成員裝置必須滿足如下條件,才可部署Cluster:
  2. 相同模組有相同DRAM(動態隨機存取儲存器)
  3. 完全一樣的系統版本
  4. 安全模式必須一致,single或者multiple.
  5. 當安全模式為single時,Firewall模式必須同時為routed或者transparent
  6. 當新成員加入時,必須和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實驗案例

一.實驗拓撲
15883836-b9924336a678dee1.png
二.實驗需求

如上圖所示,完成如下需求:

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

相關文章