Cisco ASA Failover

Failover Overview
Failover特性是Cisco安全產品高可用性的一個解決方案,目的是爲了提供不間斷的服務,當主設備down掉的時候,備用設備能夠馬上接管主設備的工作,進而保持通信的連通性;
Failover配置要求兩個進行Failover的設備通過專用的failover線纜和可選的Stateful Failover線纜互相連接;活動設備的接口被monitor,用於發現是否要進行Failover切換;
Failover分爲failover和Stateful Failover,即故障切換和帶狀態的故障切換;
不帶狀態的failover在進行切換的時候,所有活動的連接信息都會丟失,所有Client都需要重新建立連接信息,那麼這會導致流量的間斷;
帶狀態的failover,主設備將配置信息拷貝給備用設備的同時,也會把自己的連接狀態信息拷貝給備用設備,那麼當主的設備down的時候,由於備用設備上保存有連接信息,因此Client不需要重新建立連接,那麼也就不會導致流量的中斷

Failover link
兩個failover設備頻繁的在failover link上進行通信,進而檢測對等體的狀態。以下信息是通過failover link通信的信息:
l         設備狀態(active or standby);
l         電源狀態(只用於基於線纜的failover;)
l         Hello messages (keep-alives);
l         Network link 狀態;
l         MAC地址交換;
l         配置的複製和同步;
Note :所有通過failover 和 stateful failover線纜的信息都是以明文傳送的,除非你使用failover key來對信息進行加密;
在stateful link上,拷貝給備用設備的連接狀態信息有:
l         NAT 轉換表;
l         TCP連接狀態;
l         UDP連接狀態;
l         ARP表
l         2層轉發表(運行在透明模式的時候)
l         HTTP連接狀態信息(如果啓用了HTTP複製)
l         ISAKMP和IPSec SA表
l         GTP PDP連接數據庫
    以下信息不會拷貝給備用設備:
l         HTTP連接狀態信息(除非啓用了HTTP複製)
l         用戶認證表(uauth)
l         路由表
l         DHCP服務器地址租期
Failover包括LAN-Based Failover和Cable-Based Failover;對於PIX設備,只支持基於線纜(Cable-Based)的Failover;

Failover link
l         LAN-Based Failover link
可以使用未使用的接口來作爲failover link。不能夠使用配置過名字的接口做爲failover接口,並且,failover接口的IP地址不能夠直接配置到接口上;應使用專門的命令對其進行配置;該接口僅僅用於failover通信;兩個failover接口之間必須使用專用的路徑,如,使用專用的交換機,該交換機上不連接任何其他設備;或者使用正常交換機的時候,劃一個VLAN,並且僅僅將failover接口劃分到該VLAN中;
l         Cable-Based Failover link
這種failover對兩個failover設備的距離有要求,要求距離不能超過6英尺;並且使用的線纜也是failover線纜,該線纜的一端標記“Primary”,另一端標記“Secondary”並且設備的角色是通過線纜指定的,連接在Primary端的設備被指定爲主,連接在Secondary端的設備被指定爲備;該線纜傳送數據的速率爲115Kbps;因此同步配置的速度相比LAN-Base的failover會慢;

Stateful Failover Link
如果使用帶狀態的Failover,那麼就需要配置一個用於傳送狀態信息的線纜,你可以選用以下三種線中的一種作爲stateful failover link:
l         使用專用的接口連接Stateful failover Link;
l         如果你使用LAN-Based failover,你也可以使用failover link作爲stateful failover link,即failover和stateful failover使用同一個線纜;——要求該接口是fastest Ethernet;
l         你也可以使用數據接口作爲Stateful Failover接口,比如inside interface。但是不推薦這樣做;

每種failover又包含有Active/Active(以後簡寫爲,A/A)和Active/Standby(以後簡寫爲A/S)兩類;
A/A failover,兩個設備可以同時傳送流量。這可以讓你實現負載均衡。A/A failover只能運行在多虛擬防火牆模式下;
A/S failover,同一時間,只能有一個設備傳輸流量,另一個設備作爲備份用,A/S failover即可以運行在single模式下,又能夠運行在多模式下;
    運行failover的兩個設備,在硬件配置上要完全一樣,比如必須要有相同的模塊,相同的接口類型和接口數,相同的flash memory以及相同的RAM等;在軟件上,兩個設備要運行在相同的模式下面,必須有相同的主軟件版本等;對於許可證,要求至少有一個設備要是UR版的許可證;
2 .Active/Standby Failover
    Active/Standby Failover(A/S)中,一個設備爲活動設備,轉發流量,另一個設備作爲備份,當主設備down的時候,備份設備開始接管流量;備用設備接管以後,會繼承主IP地址和MAC地址,繼續轉發流量;

Primary/Secondary status and Active/Standby Status

Failover設備之間,主要的不同就是角色問題,即哪個設備爲active哪個設備爲standby,同時也決定了哪個IP地址以及哪個設備轉發流量;
l         如果兩個設備同時啓動,那麼配置爲primary的設備爲active;
l         Primary設備的MAC地址總是和active IP地址綁定在一起。唯一的例外就是當standby設備變爲active後,不能夠通過failover link上獲得primary設備的MAC地址,那麼這時候就使用secondary設備的MAC地址;

設備的初始化和配置同步

當Failover設備啓動的時候,配置纔會同步,配置信息總是從active同步到standby設備;當standby設備完成初始化以後,它就清除自己的running configure(除了failover命令以外,因爲這些命令需要和active進行failover通信);
Active設備是根據以下情況決定的:
l         設備啓動後,如果檢測到對等體已經存在爲active,那麼它自己將爲standby;
l         如果沒有檢測到對等體存在,那麼它將成爲active;
l         如果設備同時啓動,那麼根據配置中指定的primary和secondary來決定設備的角色是active還是standby;
假設A被指定爲primary,B被指定爲secondary;當B啓動後,沒有檢測到A的存在,那麼B將爲Active,它使用自己的MAC地址和active IP做綁定。然而,當primary啓動可用後,secondary設備將會用primary設備的MAC地址和active IP綁定,這可能會導致流量的中斷;避免方法是可以配置failover 虛擬MAC地址;

Failover的觸發

以下任何一個事件發生時,都會觸發Failover:
l         設備發生硬件失敗或電源故障;
l         設備出現軟件失敗;
l         太多的monitored接口fail;
l         No failover active命令在active設備上被輸入或在standby設備上輸入failover active命令;
3 .Active/Active Failover
A/A failover只能工作在多虛擬防火牆模式下,在A/A failover模式下,兩個設備都可以轉發流量;在A/A failover下,你可以將虛擬防火牆劃分到failover group中,一個failover group是一個或多個虛擬防火牆集合,在防火牆上最多隻支持2個failover group,admin context總是屬於failover group 1,任何爲分配的虛擬防火牆默認下也屬於failover group 1;
Failover group是A/A failover的基本單元,failover group失敗的時候,物理設備不一定失敗;failover組在一個設備上fail了,在另外一個設備上就會active,另外設備上的該組就會繼續轉發流量;
在A/A failover中,primary/secondary決定以下兩個事情:
l         當兩個設備同時啓動的時候,決定哪個設備提供配置文件信息;
l         當兩個設備同時啓動的時候,決定哪個設備上的哪個failover group爲active。每個failover group也會被配置一個primary或secondary,當兩個failover group在同一個設備同時爲active的時候,那麼另一個設備也就爲備用設備;
每個failover group是否爲active,由以下幾種情況決定:
l         當設備啓動的時候,沒有檢測到對等體,那麼兩個failover group在這個設備上都爲active;
l         當設備啓動後,檢測到對等體爲active(兩個failover group都在active狀態),除非以下情況發生,否則active設備上的兩個failover group仍爲active狀態:
     ——failover 發生;
     ——使用no failover active命令進行手工切換;
     ——配置failover group中帶有preempt(搶佔)命令;
l         當兩個設備同時啓動,在配置同步後,每個failover group在相應的設備中正常爲active;

試驗如下:

ASA failover可以通過一根交叉線直連,或者通過LAN的方式來實現。兩種方式各有利弊,個人比較傾向LAN的方式,下面是一個LAN方式實現的配置實例。

 
   如下圖,兩臺ASA上的outside口,Inside口以及DMZ口都必須分別在同一網段。可以用獨立交換機分開,也可以用VLAN實現。
 



   在主ASA上的配置:
A.A.A.A與B.B.B.B, C.C.C.C與D.D.D.D, E.E.E.E與F.F.F.F G.G.G.G與H.H.H.H要分別在同一個網段內。
interface Ethernet0/0
description Outside Public Network
nameif outside
security-level 0
ip address A.A.A.A 255.255.255.0 standby B.B.B.B

interface Ethernet0/1
description Inside Private Network
nameif inside
security-level 100
ip address C.C.C.C 255.255.255.0 standby D.D.D.D

interface Ethernet0/2
description LAN/STATE Failover Interface

interface Ethernet0/3
nameif dmz
security-level 50
ip address E.E.E.E 255.255.255.0 standby F.F.F.F
 
 
failover
failover lan unit primary
failover lan interface lanfo Ethernet0/2 /定義failover端口
failover key mytest
failover replication http
failover link lanfo Ethernet0/2 /定義state failover端口
/另外,爲什麼failover和statefailover的端口設置同一個端口?
failover interface ip lanfo G.G.G.G 255.255.255.0 standby H.H.H.H
   在輔ASA上的配置:
failover
failover lan unit secondary
failover lan interface lanfo Ethernet0/2
failover key mytest
   測試:出現Active,Standby Ready狀態說明配置成功:
ASA# show failover state
               State          Last Failure Reason      Date/Time
This host -   Primary
               Active         None
Other host -   Secondary
               Standby Ready None
   這裏一定要搞清楚:所謂的主輔ASA只是針對正在運行的配置而言(running configure),物理的ASA不和主輔角色綁定。當failover發生時,角色是相互交換的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章