1,搞清關(guān)于“主”“備”的幾個(gè)概念:
Failover Link
Failover Link用于設(shè)備間相互溝通彼此的工作狀態(tài),F(xiàn)ailover link上傳遞的信息包括:
o 設(shè)備的當(dāng)前狀態(tài) (active和standby)
o 電源狀態(tài) (基于專(zhuān)用failover電纜的才有)
o Hello信息包 (也通過(guò)所有其它端口發(fā)送)
o Active設(shè)備向Standby設(shè)備傳遞配置(稱(chēng)為配置同步)
Failover link可以使用兩種介質(zhì)(構(gòu)成不同的failover形式)
o 基于專(zhuān)用電纜 ("cable-based failover")—兩設(shè)備間距離不超過(guò)6英尺(約1.83米)時(shí),建議使用這種方式。因?yàn)樵O(shè)備可以通過(guò)此電纜感知對(duì)方的電源狀態(tài),而且能分辨出是設(shè)備斷電還是根本沒(méi)插電源線。Failover電纜是一種改進(jìn)的RS-232串行電纜(115 Kbps),一端標(biāo)有"Primary" 用以連接 primary設(shè)備,另一端標(biāo)有 "Secondary" 用以連接secondary 設(shè)備。
o 基于以太網(wǎng) ("LAN-based failover")—可以使用設(shè)備上任意未占用的以太口,當(dāng)兩設(shè)備間距離超過(guò)6英尺(約1.83米)時(shí),請(qǐng)用這種方式。注意,此方式一定要通過(guò)交換機(jī)(推薦使用單獨(dú)的交換機(jī))進(jìn)行連接,而不能通過(guò)交叉線直接連接兩機(jī)的以太口。
基于以太網(wǎng)的Failover Link的缺點(diǎn)主要有:
• 當(dāng)電源故障時(shí),需要更長(zhǎng)的時(shí)間才能failover
• standby設(shè)備的配置需要單獨(dú)設(shè)置(在cable-based failover中,standby設(shè)備可以不用enable任何端口或不用設(shè)置IP地址的時(shí)候就跟active設(shè)備通訊,并從active設(shè)備接受整個(gè)的配置信息。)
• 兩設(shè)備間用于Failover Link的交換機(jī)會(huì)成為另一個(gè)硬件的故障點(diǎn)
• 占用以太網(wǎng)端口
基于以太網(wǎng)的Failover Link的優(yōu)點(diǎn):
• 設(shè)備之間可以相距6英尺以上
• 配置同步的速度快
(在LAN-based failover中,如果Failover Link斷開(kāi),會(huì)自動(dòng)使用其它端口查看對(duì)方狀態(tài)。)
Primary 、Secondary及Active 、Standby
前者是物理概念,后者是邏輯概念。
當(dāng)前負(fù)責(zé)轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量的設(shè)備就是Active設(shè)備,另一臺(tái)是Standby設(shè)備。
在cable-based failover中,其電纜的Primary端連接的就是Primary設(shè)備;Secondary端連接的PIX就稱(chēng)為Sencondary設(shè)備;在 LAN-based failover中,Primary和Sencondary設(shè)備是在配置文件中設(shè)定的。
當(dāng)兩臺(tái)設(shè)備同時(shí)啟動(dòng),而且都處于健康狀態(tài)時(shí),Primary設(shè)備就是Active設(shè)備;當(dāng)Primary設(shè)備產(chǎn)生故障時(shí),發(fā)生failover事件,Seconary設(shè)備就成為Active設(shè)備。
Active設(shè)備總是使用Active IP地址和Primary設(shè)備的MAC地址,除非發(fā)生以下?tīng)顩r;
o Secondary設(shè)備成為active,但無(wú)法通過(guò)failover link獲得Primary設(shè)備的MAC地址。
o 在配置中把兩臺(tái)設(shè)備的MAC地址寫(xiě)死了(使用指令:failover mac address)。
2,常規(guī)Failover和全狀態(tài)Failover
常規(guī)Failover(Regular Failover):發(fā)生Failover事件時(shí),所有當(dāng)前活動(dòng)的連接都會(huì)丟棄,用戶需要重新刷新連接;
全狀態(tài)Failover(Stateful Failover):在雙機(jī)正常工作時(shí),Active設(shè)備不斷地把連接的狀態(tài)信息發(fā)送給standby設(shè)備。當(dāng)failover事件發(fā)生時(shí),由于在新的 Active設(shè)備上已經(jīng)有了這些連接狀態(tài)信息,所以用戶不用重新連接就能繼續(xù)通訊。設(shè)備傳遞的狀態(tài)信息包括:
• NAT表
• TCP連接狀態(tài)
• H.323, SIP, MGCP UDP等連接
State Link
在全狀態(tài)Failover中,必需使用一個(gè)以太連接(Ethernet link)來(lái)傳遞狀態(tài)信息,PIX可以用下列以太口來(lái)設(shè)置 state link:
• Fast Ethernet (100BASE-T) full duplex
• Gigabit Ethernet (GE) (1000BASE-T) full duplex
在配有GE端口的PIX 535上, 必須選擇GE端口配置state link。
兩設(shè)備的state link端口雖然可以使用交換機(jī)相連,但為避免額外的故障點(diǎn),還是推薦使用交叉線直接將端口相連。在LAN-based failover中,我們可以將state link與Failover Link設(shè)置為使用同一連接(推薦盡可能使用兩個(gè)鏈路),但此時(shí)不能用交叉線直連。
3,關(guān)于配置同步
# 當(dāng)standby設(shè)備完成初始化啟動(dòng)時(shí),會(huì)從active設(shè)備同步配置;
# 配置同步只改變r(jià)unning-config,而不會(huì)把配置存到Flash memory中;
# 在Active設(shè)備上輸入的指令會(huì)立刻被同步到Standby設(shè)備上;
# 在active設(shè)備上輸入write memory命令時(shí),standby設(shè)備也會(huì)將配置寫(xiě)入Flash memory;
# 在Standby設(shè)備上輸入的指令不會(huì)被同步到Active設(shè)備;
# 如果兩設(shè)備的startup-config不同,在設(shè)備啟動(dòng)后,Secondary設(shè)備會(huì)根據(jù)Primary設(shè)備的running-config同步自己的running-config;
# 在active設(shè)備上輸入write standby命令時(shí),standby設(shè)備會(huì)從active設(shè)備同步配置;
4,配置示例
例1 Cable-Based Failover Configuration
interface ethernet0 100full
interface ethernet1 100full
interface ethernet2 shutdown
interface ethernet3 100full
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet3 state security20
enable password farscape encrypted
password crichton encrypted
telnet 192.168.2.45 255.255.255.255
hostname pixfirewall
ip address outside 209.165.201.1 255.255.255.224
ip address inside 192.168.2.1 255.255.255.0
ip address state 192.168.253.1 255.255.255.252
failover ip address outside 209.165.201.2
failover ip address inside 192.168.2.2
failover ip address state 192.168.253.2
failover link state(注意:此處定義的是上文所述的“State Link”)
failover
global (outside) 1 209.165.201.3 netmask 255.255.255.224
nat (inside) 1 0.0.0.0 0.0.0.0 0 0
static (inside,outside) 209.165.201.5 192.168.2.5 netmask 255.255.255.255 0 0
access-list acl_out permit tcp any 209.165.201.5 eq 80
access-group acl_out in interface outside
route outside 0 0 209.165.201.4 1
例2 LAN-Based Failover Configuration
Primary設(shè)備:
interface ethernet0 100full
interface ethernet1 100full
interface ethernet2 100full
interface ethernet3 100full
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 failover security10
nameif ethernet3 state security20
enable password farscape encrypted
password crichton encrypted
telnet 192.168.2.45 255.255.255.255
hostname pixfirewall
ip address outside 209.165.201.1 255.255.255.224
ip address inside 192.168.2.1 255.255.255.0
ip address failover 192.168.254.1 255.255.255.0
ip address state 192.168.253.1 255.255.255.252
failover ip address outside 209.165.201.2
failover ip address inside 192.168.2.2
failover ip address failover 192.168.254.2
failover ip address state 192.168.253.2
failover link state
failover lan unit primary
failover lan interface failover
failover lan key 12345678
failover lan enable
failover
global (outside) 1 209.165.201.3 netmask 255.255.255.224
nat (inside) 1 0.0.0.0 0.0.0.0 0 0
static (inside,outside) 209.165.201.5 192.168.2.5 netmask 255.255.255.255 0 0
access-list acl_out permit tcp any host 209.165.201.5 eq 80
access-group acl_out in interface outside
route outside 0 0 209.165.201.4 1
Secondary 設(shè)備:
interface ethernet2 100full
nameif ethernet2 failover security10
ip address failover 192.168.254.1 255.255.255.0
failover ip address failover 192.168.254.2
failover lan unit secondary
failover lan interface failover
failover lan key 12345678
failover lan enable
failover
PIX會(huì)根據(jù)自己的狀態(tài)選用IP,如果是Active設(shè)備,就用ip address定義的地址;如果是standby就用failover ip address定義的IP地址。
還有一種做法,就是failover的IP地址設(shè)置為0.0.0.0,如:
failover ip address outside 0.0.0.0
failover ip address inside 0.0.0.0
failover ip address state 0.0.0.0
這樣,standby設(shè)備就被隱藏了。
還有,就是接口的MAC地址也會(huì)切換,Primary的MAC總是跟著active的IP走,這樣在failover的時(shí)候,外面的設(shè)備就不會(huì)觀察到任何變化。