在Cisco ASA上部署 Cluster技術
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的流量提供了負載分攤.
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個下一跳).
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方式與邏輯交換機互聯.
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連線,三次握手建連線。
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,無需查詢。
四.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
相關文章
- 在思科ASA上部署Failover例項演示-上AI
- Cisco ASA Software遠端認證繞過漏洞
- Cisco Firepower 9300 Series FTD Software 7.6.0 & ASA Software 9.22.1
- Cisco Firepower 4100 Series FTD Software 7.6.0 & ASA Software 9.22.1
- Cisco Firepower 1000 Series FTD Software 7.6.0 & ASA Software 9.22.1
- Cisco Secure Firewall 3100 Series FTD Software 7.6.0 & ASA Software 9.22.1
- 部署Kubernetes Cluster
- 在 K8S 中快速部署 Redis Cluster & RedisinsightK8SRedis
- 技術分享 | MySQL InnoDB Cluster Set 介紹MySql
- Redis Cluster 叢集部署Redis
- 在Centos6.5上部署kvm虛擬化技術CentOS
- 在滴滴雲上搭建 Redis-Cluster 叢集Redis
- 在Google Cloud platform上建立Kubernetes cluster並使用GoCloudPlatform
- 在 Google Kubernetes Cluster 上使用 HANA Expression Database ServiceGoExpressDatabase
- Redis Cluster叢集模式部署Redis模式
- Kettle 在 linux 上的部署Linux
- 在 Linux 上安裝 NDB Cluster 二進位制版本Linux
- Redis Cluster叢集模式部署XRedis模式
- 7. MySQL Galera Cluster全解析 Part 7 Galera Cluster部署指南MySql
- Cisco Firepower 9300 Series FTD Software 7.4.2 & ASA Software 9.20.3 釋出下載 - 思科防火牆系統軟體防火牆
- Cisco Firepower 4100 Series FTD Software 7.4.2 & ASA Software 9.20.3 釋出下載 - 思科防火牆系統軟體防火牆
- Cisco Firepower 2100 Series FTD Software 7.4.2 & ASA Software 9.20.3 釋出下載 - 思科防火牆系統軟體防火牆
- 解決在ubuntu 上安裝 the Cisco AnyConnect client(vpn外掛)的問題Ubuntuclient
- 在nodejs中建立clusterNodeJS
- Cisco Secure Firewall 4200 Series FTD Software 7.4.2 & ASA Software 9.20.3 釋出下載 - 思科防火牆系統軟體防火牆
- 在遠端系統上執行程式的技術整理行程
- 在技術上如何實現傳送一條簡訊?
- 【Redis叢集實戰】Redis Cluster 部署Redis
- Redis-cluster叢集搭建部署Redis
- 技術分享 | 使用 RPM 部署 Oceanbase Proxy
- 在Ubuntu上使用Jetty部署War包UbuntuJetty
- 谷歌在Google IO上宣佈了突破性AI技術谷歌GoAI
- docker基礎部署入門,微服務必備技術,月薪上萬不是夢Docker微服務
- 一 GBase 8a MPP Cluster安裝部署
- 漫談 SLAM 技術(上)SLAM
- 初試Cisco Packet Tracer–4——部署DHCP、DNS、Web伺服器DNSWeb伺服器
- 在 Windows 上使用 IIS 部署 PHP 專案WindowsPHP
- Typecho在Ubuntu 22.04上的安裝部署Ubuntu