您好,登錄后才能下訂單哦!
一提到防火墻,一般都會想到企業的邊界設備,是內網用戶與互聯網的必經之路。防火墻承載了非常多的功能,比如:安全規則、IPS、文件類型過濾、內容過濾、應用層過濾等。也正是因為防火墻如此的重要,如果防火墻一旦出現問題,所有對外通信的服務都將中斷,所以企業中首先要考慮的就是防火墻的優化及高可用性。
博文大綱:
一、雙機熱備工作原理
二、VRRP協議
(1)VRRP協議概述
(2)VRRP的角色
(3)VRRP的狀態機
(4)VRRP的工作原理
三、VGMP協議
(1)VGMP的工作原理
(2)VGMP的報文封裝
(3)雙機熱備的備份方式
(4)連接路由器時的雙機熱備
四、實現防火墻雙機熱備的配置
隨著互聯網的發展,現在人們生活中的大多數問題都可以通過網絡解決,但與此同時,網絡安全問題也逐漸暴露出來。在企業中部署一臺防火墻已然成為常態。如何能夠保證網絡不間斷地傳輸成為網絡發展中急需解決的問題!
企業在關鍵的業務出口部署一臺防火墻,所有的對外流量都要經過防火墻進行傳輸,一旦防火墻出現故障,那么企業將面臨網絡中斷的問題,無論防火墻本身的性能有多好,功能有多么強大。在這一刻,都無法挽回企業面臨的損失。所以在企業的出口部署兩臺防火墻產品,可以在增加企業安全的同時,保證業務傳輸基本不會中斷,因為兩臺設備同時出現故障的概率非常小。經過圖中右邊的部署,從拓補的角度來看,網絡具有非常高的可靠性,但是從技術的角度來看,還需解決一些問題,正因為防火墻和路由器在工作原理上有著本質的區別,所以防火墻還需一些特殊的配置。
左圖,內部網絡可以通過R3→R1→R4到達外部網絡,也可以通過R3→R2→R4到達,如果通過R3→R1→R4路徑的cost(運行OSPF協議)比較小,那么默認情況,內部網絡將通過R3→R1→R4到達外部網絡,當R1設備損壞時,OSPF將自動收斂,R3將通過R2轉發到達外部網絡。
右圖,R1、R2替換成兩臺防火墻,默認情況下,流量將通過FW1進行轉發到達外部網絡,此時在FW1記錄著大量的用戶流量對應的會話表項內容,當FW1損壞時,通過OSPF收斂,流量將引導FW2上,但是FW2上沒有之前流量的會話表,之前傳輸會話的返回流量將無法通過FW2,而會話的后續流量需要重新經過安全策略的檢查,并生成會話。這就意味著之前所有的通信流量都將中斷,除非重新建立連接。
如圖,華為防火墻的雙機熱備功能是通過提供一條備份鏈路(心跳線)、協商防火墻之間的主備狀態及備份會話表、Server-map表等操作。根據防火墻的配置分別選舉出主用設備及備用設備,當主用設備正常工作時,備用設備不提供數據包的轉發,但是備用設備會實時從主用設備下載當前的會話表及Server-map表。從而保證,當主用設備故障時,即使切換到備用設備,備用設備依然存在當前流量的會話表及Server-map表,從而保證業務流量不中斷。
在雙機熱備環境中,要求如下:
(1)兩臺防火墻用于心跳線的接口加入相同的安全區域;
(2)兩臺防火墻用于心跳線的接口的設備編號必須一致,比如都是G1/0/0;
(3)建議用于雙機熱備的兩條防火墻采用相同的型號、相同的VRP版本;
華為防火墻的雙機熱備包含以下兩種模式:
- 熱備模式:同一時間只用一臺防火墻轉發數據包,其他防火墻不轉發數據包,但是會同步會話表及Server-map表;
- 負載均衡模式:同一時間,多臺防火墻同時轉發數據,但每個防火墻又作為其他防火墻的備用設備,即每個防火墻即是主用設備也是備用設備,防火墻之間同步會話表及Server-map表;
關于華為防護墻的熱備模式和負載均衡模式如圖:
在雙機熱備技術中,即使選舉出了主用設備和備用設備,默認情況下流量也通過主用設備轉發,而備用設備處于備份狀態。但是客戶機通常通過指定網關地址來指定網絡出口,當客戶機將網關指向主用設備時,流量自然從主用設備轉發,但是當主用設備故障時,客戶機并不會將網關自動指向備用設備,所以即使雙機熱備本身可以切換、客戶機依然無法正常通信。所以要保證雙機熱備可以正常工作,還需解決客戶機網關自動切換的問題。而VRRP技術可以解決網關自動切換的問題,甚至還能讓設備切換對客戶機而言是透明的。在華為防火墻的雙機熱備技術中,VRRP是非常重要的一個組成部分。
VRRP(虛擬路由冗余協議)由IETF進行維護。用來解決網關單點故障的路由協議。VRRP可以應用在路由器中提供網關冗余,也可以用在防火墻中做雙擊熱備。
VRRP的基本概念如下:
(1)VRRP路由器:運行VRRP協議的路由器;
(2)虛擬路由器:由一個主用路由器和若干備用路由器組成的一個備份組,一個備份組對客戶機提供一個虛擬網關;
(3)VRID:Virtual Router ID,虛擬路由器標識,用來唯一的表識一個備份組;
(4)虛擬IP地址:提供給客戶端的網關IP地址,也是分配給虛擬路由器的IP地址,在所有的VRRP中配置,只有主用設備提供該IP地址的ARP響應;
(5)虛擬MAC地址:基于VRID生成的用于VRRP的MAC地址,在客戶端通過ARP協議解析網關的MAC地址時,主用路由器提供該MAC地址;
(6)IP地址擁有者:若將虛擬路由器的IP地址配置為某個成員物理接口的真是IP地址,那么該成員被稱為IP地址擁有者;
(7)優先級:用于表示VRRP路由器的優先級,并通過每個VRRP路由器的優先級選舉主用設備及備用設備;
(8)搶占模式:在搶占模式下,如果備用路由器的優先級高于備份組中的其他路由器(包括當前的主用路由器),將立即成為新的主用路由器;
(9)非搶占模式:在非搶占模式下,如果備用路由器的優先級高于備份組中的其他路由器(包括當前的主用路由器),則不會立即成為主用路由器,直到下一次公平選舉(如斷電、設備重啟等);
VRRP的工作原理與Cisco設備基本相同,只有一些細節上的一些區別,如圖:
工作在VRRP模式下的路由器有兩種角色,分別是:
- Master路由器:正常情況下由Master路由器負責ARP響應及提供數據包的轉發,并且默認每隔1s向其他路由器通告Master路由器當前的狀態信息;
- Backup路由器:是Master路由器的備用路由器,正常情況下不提供數據包的轉發,當Master路由器故障時,在所有的Backup路由器中優先級最高的路由器將成為新的Master路由器,接替轉發數據包的工作,從而保證業務不間斷;
VRRP定義了三種工作狀態,如下:
- Initialize狀態:剛配置VRRP時的初始狀態。該狀態下,不對VRRP報文做任何處理,當接口shutdown或接口故障時將進入該狀態;
- Master狀態:當前設備選舉成為主用路由器時的一種狀態。該狀態下會轉發業務報文,并周期性地發送VRRP通告報文,處于該狀態的路由器還將響應客戶機發起的ARP請求,并將虛擬MAC地址回應客戶機。當接口關閉時,將立即切換至Initialize狀態;
- Backup狀態:當前設備選舉成為備用路由器的一種狀態。該狀態下不轉發任何業務報文,工作在該狀態下的路由器會接收主用路由器發送的VRRP通告報文,并判斷主用路由器是否正常工作。在雙機熱備模式中還將同步主用設備上的狀態信息;
三種狀態之間的切換關系如圖:
Initialize狀態是VRRP的初始狀態,當接口shutdown時,無論路由器處于Master狀態還是Backup狀態,都將立即切換至Initialize狀態;當路由器配置IP地址擁有者時,其優先級默認為255,此時路由器直接由Initialize狀態切換至Master狀態;當路由器不是IP地址擁有者時,其優先級< 255,此時路由器直接由Initialize狀態切換至Backup狀態;處于Master狀態的路由器如果收到優先級更大的VRRP報文,將由Master狀態切換至Backup狀態,而Backup狀態的路由器如果收到一個優先級更大或者本地優先級相等的報文(通常是由Master路由器發出),將重置Master_DOWN_Interval計時器,如果一直沒有接收到Master路由器發送的VRRP通過報文,待Master_DOWN_Interval計時器超時后,將由Backup狀態切換至Master狀態。
注意:除非手工將路由器配置為IP地址擁有者(優先級=255),否則VRRP的狀態切換總是先經歷Backup狀態,即時路由器的優先級最高,也需要從Backup狀態過渡到Master狀態。此時Backup狀態只是一個瞬間的過渡狀態。
VRRP選舉Master路由器和Backup路由器的流程如下:
首先選舉優先級高的設備成為Master路由器,如果優先級相同,再比較接口的IP地址大小,IP地址大(數值大)的設備將成為Master路由器,而備份組中其他的路由器將成為Backup路由器。
VRRP中的默認接口優先級值為100,取值范圍為0~255。其中優先級0是系統保留,優先級255保留給IP地址擁有者,IP地址擁有者不需要配置優先級,優先級默認是255。
VRRP的工作原理如圖:
故障切換過程:
默認情況下,Master設備(FW1)會周期性(每1s)地向Backup設備發送VRRP通告,而Backup設備每次收到VRRP通告,就將Master_DOWN_Interval計時器重置為0。當Master設備出現故障,無法發出VRRP通告報文時,Backup設備將無法接收到VRRP,在Master_DOWN_Interval超時后,將直接由Backup狀態切換為Master狀態,FW2代替FW1成為新的Master設備。同時會向下游交換機發出免費ARP報文,以更新下游交換機的MAC地址表。而后續客戶機發起的針對虛擬IP的ARP請求報文,FW2將直接代為回應,客戶機發出的報文也將由FW2轉發,而這一切變化對客戶機而言都是透明的。因為虛擬IP地址仍然可用!
當FW1解決故障恢復正常運行時,因為FW1的優先級配置比FW2高,在搶占模式下,其將直接成為Master設備,而FW2再次回到Backup狀態;在非搶占模式下,FW2依然是Master設備,而FW1成為Backup設備。
建議:當Master設備和Backup設備性能相差不大,同時網絡規模較大時,建議配置為非搶占模式,因為這樣可以減少網絡的波動。
如果僅僅使用雙機熱備+VRRP就會出現以下情況:
造成以下現象的原因是兩個VRRP備份組各自獨立工作,,那么有沒有什么辦法可以使兩個備份組協同工作,以保證設備在兩個備份組的狀態一致性呢?就需要使用到——VGMP協議。
VGMP(VRRP組管理協議)用來實現VRRP備份組的統一管理,以保證設備在各個備份組中的狀態一致性。VGMP通過在設備(FW1和FW2)上將所有的備份組(備份組1和備份組2)加入一個VGMP組中進行統一管理,一旦檢測到某個備份組(備份組1)中的狀態變化(如接口進入Initialize狀態),VGMP組將自身優先級減2,并重新協商VGMP的Active組和Standby組。選舉出的Active組將所有的其他備份組(備份組1和備份組2)統一進行狀態切換(備份組1和備份組2中的FW2將成為Master設備)。
VGMP的工作原理:
- VGMP組的狀態決定了VRRP備份組的狀態,即設備的角色(如Master和Backup)不再通過VRRP報文選舉,而是直接通過VGMP統一管理;
- VGMP組的狀態通過比較優先級決定,優先級高的VGMP組將成為Active,優先級低的VGMP組將成為Standby;
- 默認情況下,VGMP組的優先級為45000;
- VGMP根據組內VRRP備份組的狀態自動調整優先級,一旦檢測到備份組的狀態變成Initialize狀態,VGMP組的優先級會自動減2;
- 通過心跳線協商VGMP狀態信息;
VGMP的工作原理:
注意:在加入了VGMP組之后,VRRP中的狀態標識從Master和Backup變成Active和Standby。
VGMP通過心跳線協商VGMP的狀態信息,通過發送VGMP報文實現。VGMP報文有以下兩種形式,如圖:
左圖中,當心跳線直連,或者通過二層交換機相連時,發送的報文屬于組播報文,報文封裝中不攜帶UDP頭部信息;
右圖中,心跳線通過三層設備(路由器)連接時,因為組播報文無法通過三層設備,所以在報文封裝中會額外增加一個UDP頭部信息,此時發送的報文屬于單播;
在實際應用中,應根據實際的拓補靈活選擇報文封裝。在華為防火墻中,通過以下命令指定接口發送的報文屬于哪種類型的封裝。
[USG6000V1]hrp int g 1/0/0 //eNSP模擬器不支持這條命令
[USG6000V1]hrp int g 1/0/0 remote 1.1.1.1
其中hrp命令用來指定用于心跳鏈路的接口,帶remote參數的命令表示報文將封裝UDP,并發送單播報文,不帶remote參數的命令表示將發送組播報文。1.1.1.1標識對端是被(心跳線對端接口)的IP地址,該地址要求可路由,只有指定remote參數時才需要指定。
注意:
- 加入VGMP后,心跳線的作用包含狀態信息備份(會話表和Server-map表)及VGMP狀態協商;
- 華為防火墻在默認情況下放行組播流量(不帶remote參數的VGMP報文),禁止單播流量(帶remote參數的VGMP報文),所以配置了remote參數,還需要配置Local區域和心跳接口區域之間的安全策略;
- 配置了虛擬IP地址的接口不能作為心跳口;
- 如果使用二層接口作為心跳接口,不能直接在二層接口上配置,而是將二層接口加入VLAN,在VLAN中配置心跳接口;
- eNSP模擬器中,及時心跳接口之間相連,也必須配置remote參數,否則無法配置;
雙擊熱備的備份方式包括以下三種:
- 自動備份:該模式下,和雙機熱備有關的配置命令只能在主用設備上配置,并自動同步到備用設備中,主用設備自動將狀態信息同步到備用設備中,該模式是華為防火墻的默認開啟模式,主要應用于熱備模式;
- 手工批量備份:該模式下,主用設備上所有的配置命令和狀態信息,只有在手工指定批量備份命令時才會自動同步到備用設備,該模式主要應用于主、備設備配置不同步,需要立即進行同步的場景中;
- 快速備份:該模式下,不同步配置命令,只同步狀態信息。在負載均衡方式的雙機熱備環境中,該模式必須啟用,以快速更新狀態信息;
(1)開啟雙擊熱備功能
[USG6000V1]hrp enable
HRP_S[USG6000V1] //開啟雙機熱備后,提示符發生變化
(2)配置自動備份模式
HRP_M[USG6000V1]hrp auto-sync
開啟雙機熱備后,執行可以同步的命令時會有(+B)的提示
HRP_M[USG6000V1]security-policy (+B)
(3)配置手工批量備份模式
HRP_M<USG6000V1>hrp sync config //表示手工同步命令配置
HRP_M<USG6000V1>hrp sync connection-status //表示手工同步狀態信息
//注意,此命令是在用戶視圖下執行的
(4)配置快速備份模式
HRP_M[USG6000V1]hrp mirror session enable
當配置雙機熱備上游或下游是交換設備時,可以通過VRRP檢測接口或設備的狀態,但是當上游或下游設備是路由器時,VRRP無法正常運行(VRRP依靠組播實現故障切換)。華為防火墻的做法是監控其接口狀態,并配合OSPF實現流量切換。
通過接口直接加入VGMP組中,當接口故障時(即使對端設備故障,本端接口的物理特性也將關閉),VGMP會感知接口狀態變化,從而降低VGMP組的優先級,從Active狀態切換至Stabdby狀態。而之前的Standby組提升為Active狀態。而處于Standby的VGMP組在發布OSPF路由時,會自動將cost值增加65500,通過OSPF的自動收斂,最終將流量引導至Active組設備中。
實驗拓補:
案例實施:
(1)防火墻接口配置IP地址,并加入各自的區域中,并設置相應的安全策略
[FW1]int g1/0/0
[FW1-GigabitEthernet1/0/0]ip add 10.1.1.101 24
[FW1-GigabitEthernet1/0/0]int g1/0/1
[FW1-GigabitEthernet1/0/1]ip add 172.16.1.1 24
[FW1-GigabitEthernet1/0/1]int g1/0/2
[FW1-GigabitEthernet1/0/2]ip add 192.168.1.101 24
[FW1-GigabitEthernet1/0/2]quit
[FW1]firewall zone untrust
[FW1-zone-untrust]add int g1/0/0
[FW1-zone-untrust]quit
[FW1]firewall zone dmz
[FW1-zone-dmz]add int g1/0/1
[FW1-zone-dmz]quit
[FW1]firewall zone trust
[FW1-zone-trust]add int g1/0/2
[FW1-zone-trust]quit
[FW1]security-policy
[FW1-policy-security]rule name trust_to_untrust
[FW1-policy-security-rule-trust_to_untrust]source-zone trust
[FW1-policy-security-rule-trust_to_untrust]destination-zone untrust
[FW1-policy-security-rule-trust_to_untrust]action permit
//配置安全策略:內部流量可以到外部
[FW1-policy-security-rule-trust_to_untrust]quit
[FW1-policy-security]rule name local_to_dmz
[FW1-policy-security-rule-local_to_dmz]source-zone local
[FW1-policy-security-rule-local_to_dmz]destination-zone dmz
[FW1-policy-security-rule-local_to_dmz]action permit
//配置安全策略:從防火墻本身可以到DMZ區域(建立心跳線)
[FW1-policy-security-rule-local_to_dmz]quit
[FW1-policy-security]quit
//FW2的配置與FW1幾乎是一模一樣的,這里就不多說了
//注意FW2上也需設置相同的規則
(2)配置VRRP備份組
FW1的配置如下:
[FW1]int g1/0/2
[FW1-GigabitEthernet1/0/2]vrrp vrid 1 virtual-ip 192.168.1.100 active
[FW1-GigabitEthernet1/0/2]int g1/0/0
[FW1-GigabitEthernet1/0/0]vrrp vrid 2 virtual-ip 10.1.1.100 active
FW2的配置如下:
[FW2]int g1/0/2
[FW2-GigabitEthernet1/0/2]vrrp vrid 1 virtual-ip 192.168.1.100 standby
[FW2-GigabitEthernet1/0/2]int g1/0/0
[FW2-GigabitEthernet1/0/0]vrrp vrid 2 virtual-ip 10.1.1.100 standby
(3)配置心跳接口
[FW1]hrp int g1/0/1 remote 172.16.1.2
//FW1指定心跳接口,并指定對端接口IP地址
[FW2]hrp int g1/0/1 remote 172.16.1.1
//FW同上,這就是為什么防火墻需要設置從本地到DMZ區域的策略
(4)啟用雙機熱備
[FW1]hrp enable
HRP_S[FW1]
//FW1的配置,命令提示符出現了變化
[FW2]hrp enable
HRP_S[FW2]
//FW2同上
(5)配置備份方式
HRP_S[FW1]hrp auto-sync
//配置自動備份
HRP_S[FW2]hrp auto-sync
(6)配置檢查及驗證
①查看雙機熱備的狀態信息
HRP_M[FW1]display hrp state
Role: active, peer: standby //本端狀態為Active,對端為Standby
Running priority: 45000, peer: 45000 //本端優先級為45000,對端為45000
Core state: normal, peer: normal
Backup channel usage: 0.00%
Stable time: 0 days, 0 hours, 9 minutes
Last state change information: 2019-10-26 6:29:53 HRP core state changed, old_s
tate = abnormal(active), new_state = normal, local_priority = 45000, peer_priori
ty = 45000.
②查看心跳接口狀態
HRP_M[FW1]display hrp interface
GigabitEthernet1/0/1 : running
③兩臺PC配置IP地址及網關(虛擬地址),用PC1pingPC2
④查看防火墻的會話表
HRP_M[FW1]display firewall session table
Current Total Sessions : 2
udp : public --> public 172.16.1.2:49152 --> 172.16.1.1:18514
udp : public --> public 172.16.1.1:49152 --> 172.16.1.2:18514
⑤PC1持續pingPC2,模擬FW1接口故障
HRP_M[FW1]int g1/0/2(+B)
HRP_M[FW1-GigabitEthernet1/0/2]shutdown
⑥查看FW2雙擊熱備的狀態
HRP_M[FW2]display hrp state
Role: active, peer: standby (should be "standby-active") //狀態發生了變化
Running priority: 45000, peer: 44998 //FW1的優先級減2
Core state: abnormal(active), peer: abnormal(standby)
Backup channel usage: 0.00%
Stable time: 0 days, 0 hours, 1 minutes
Last state change information: 2019-10-26 6:49:06 HRP core state changed, old_s
tate = normal, new_state = abnormal(active), local_priority = 45000, peer_priori
ty = 44998.
實驗完成!
———————— 本文至此結束,感謝閱讀 ————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。