愛伊米

華為防火牆雙機熱備技術:HRP、VGMP、VRRP,三大技術值得一學!

防火牆雙機熱備,主要是提供冗餘備份的功能,在網路發生故障的時候避免業務出現中斷。防火牆雙機熱備組網根據防火牆的模式, 分路由模式下的雙機熱備組網和透明模式下的雙機熱備組網,下面分別根據防火牆的不同模式下的組網提供防火牆雙機熱備命令列說明。

華為防火牆雙機熱備技術:HRP、VGMP、VRRP,三大技術值得一學!

防火牆的雙機熱備的配置主要涉及到

HRP

的配置,

VGMP

的配置,以及

VRRP

的配置,防火牆的雙機熱備組網配置需要根據現網的業務和使用者的需求來進行調整, 下面就防火牆的雙機熱備配置涉及到的命令列做一個解釋說明。

1 HRP 命令列配置說明

HRP 是華為的

冗餘備份協議

, Eudemon 防火牆使用此協議進行備份組網, 達到鏈路狀態備份的目的,從而保證在裝置發生故障的時候業務正常。

HRP 協議是

華為自己開發的協議

,主要是在 VGMP 協議的基礎上進行擴充套件得到的;VGMP 是華為的私有協議,主要是用來管理 VRRP 的, VGMP 也是華為的私有協議,是在VRRP 的基礎上進行擴充套件得到的。不管是 VGMP 的報文,還是 HRP 的報文,都是 VRRP 的報文,只是防火牆在識別這些報文的時候能根據自己定義的欄位能判斷出是 VGMP 的報文,HRP 的報文,或者是普通的 VRRP 的報文。

在 Eudemon 防火牆上, hrp 的作用主要是備份防火牆的會話表, 備份防火牆的 servermap表,備份防火牆的黑名單,備份防火牆的配置,以及備份 ASPF 模組中的公私網地址對映表和上層會話表等。

兩臺防火牆正確配置 VRRP, VGMP ,以及 HRP 之後,將會形成主備關係,這個時候防火牆的命令列上會自動顯示防火牆狀態是主還是備, 如果命令列上有 HRP_M 的標識, 表示此防火牆和另外一臺防火牆進行協商之後搶佔為主防火牆,如果命令列上有 HRP_S 的標識,表示此防火牆和另外一臺防火牆進行協商之後搶佔為備防火牆。防火牆的主備狀態只能在兩臺防火牆之間進行協商,並且協商狀態穩定之後一定是一臺為主狀態另外一臺為備狀態,不可能出現兩臺都為主狀態或者都是備狀態的。

在防火牆的 HRP 形成主備之後, 我們稱 HRP 的主備狀態為 HRP 主或者是 HRP 備狀態,在形成 HRP 的主備狀態之後預設是一部分配置在主防火牆上配置之後能自動同步到備防火牆上的,而這些命令將不能在備防火牆的命令列上執行,這些命令包括 ACL ,介面加入域等,但其中一些命令列是不會從主防火牆上備份到備防火牆上。

HRP 的配置命令的功能和使用介紹如下:

hrp enable

:HRP使能命令,使能 HRP之後防火牆將形成主備狀態。

hrp configuration check acl

:檢查主備防火牆兩端的 ACL的配置是否一致。執行此命令之後,主備防火牆會進行互動,執行完之後可以透過命令列

display hrpconfiguration check acl

來檢視兩邊的配置是否一致。

hrp configuration check hrp

:檢查主備防火牆兩端的 HRP的配置是否一致。執行此命令之後,主備防火牆會進行互動,執行完之後可以透過命令列

display hrpconfiguration check acl

來檢視兩邊的配置是否一致。

hrp interface Ethernet/ GigabitEthernet

:新增防火牆配置會話備份通道。通常就是指防火牆心跳口,此介面用來備份防火牆的會話的。

hrp interface Ethernet 1/0/0 high-availability

:配置防火牆的高可用性介面。主要是用來實現防火牆的會話快速備份,如果不配置 high-availability ,會話快速備份的命令將不能使能, 配置此命令之後, 此介面會被有限選擇作為防火牆會話備份的介面。在防火牆上配置了 hrp interface 之後,防火牆選擇備份通道的介面為:先選擇配置的時候帶了 high-availability 的介面,如果配置了多個帶 high-availability 的介面,先選擇槽位號和埠號比較小的介面,然後在選擇槽位號和埠號比較小的不帶high-availability 的介面。介面發生故障導致介面上的 VRRP處於初始化狀態或者是介面上的 VRRP所屬的 VGMP沒有使能的時候,防火牆會重新選擇備份通道。學習更多網路技術,請關注微信公眾號:網路技術乾貨圈

hrp mirror session enable

:會話快速備份使能命令,此命令使能之後防火牆上對新建的會話或者是重新整理的會話立即備份到對端防火牆上,在配置 high-availability 之後才能配置此命令。

hrp mirror packet enable

:報文搬遷使能命令,此命令使能之後,如果 ICMP的應答報文或者是 TCP的 ACK報文在其中一臺防火牆上找不到會話,會把報文搬遷到另外一臺防火牆上,如果在另外一臺防火牆上找到會話,報文根據會話轉發,如果找不到會話,直接丟棄。此功能現在保留,但是基本上不再使用,因為防火牆會話快速備份使能之後會話在建立或者是重新整理的時候馬上就能備份到對端防火牆上,並且報文搬遷佔用比較多的頻寬,所以這個命令推薦不使用。

hrp ospf-cost adjust-enable

:這個命令是在防火牆和路由器組網的時候使用的,在防火牆上配置這個命令後, 防火牆釋出 OSPF的路由的時候, 會判斷是主防火牆或者是備防火牆,如果是主防火牆,防火牆把學習到的路由直接釋出出去,如果是備防火牆,防火牆把學習到的路由加上一個 COST值再發布出去,這個 COST值預設是 65535,可以根據需要進行調整,這樣和防火牆相連的路由器在計算路由的時候,路由就都能指到主防火牆上, 路由器把報文轉發到主防火牆上。在使用防火牆和路由器進行組網起 OSPF協議的時候,儘量保證 OSPF的域小一些,這樣在防火牆發生主備倒換的時候, OSPF的路由能儘快收斂,保證業務很快恢復。

hrp auto-sync connection-status

:防火牆連線狀態備份命令。防火牆會話備份不分防火牆是主防火牆或者是備防火牆,使能了次命令後,防火牆都能把自己建立的會話或者是重新整理的會話備份到對端防火牆上。此命令列在防火牆 hrp enable 執行之後就預設使能了。

hrp auto-sync config

:防火牆配置備份命令。防火牆上使能此命令後,在主防火牆上配置的命令列如 ACL,域等都可以自動備份到備防火牆上,保證命令列能實時同步。此命令列在 hrp enable 之後就預設使能了,此時在備防火牆上是預設不能配置 ACL等配置的,但是如果需要單獨配置,執行 undo hrp auto-sync config 就可以在備防火牆上配置此命令行了,主防火牆上執行 ACL等配置傳送到備防火牆上不會備執行,如果在主防火牆上執行此命令,主防火牆上將不把配置傳送到備防火牆上執行。

hrp auto-sync config batch-backup

:防火牆配置批次備份使能命令。使能此命令,在防火牆發生主備倒換之後,新的主防火牆備自動把配置備份到新的備防火牆上。此命令預設是不使能的,現在也不推薦使用,因為批次備份將消耗大量的 CPU資源,可能在執行批次備份的時候影響某些業務。

hrp sync config

:防火牆配置批次備份命令。執行此命令後主防火牆能把自己的配置傳送到備防火牆上執行,此命令列在使用者檢視下使用,在使能了 hrp 之後才能使用。此命令預設是也不推薦使用,因為批次備份將消耗大量的 CPU資源,可能在執行批次備份的時候影響某些業務。

hrp sync connection-status

:手工同步連線狀態資訊命令, 會進行會話,黑名單,地址轉換表,以及 ARP表等的備份等,同時對於 Eudemon 1000來說還會重新整理備份的通道。

display hrp

:顯示當前 HRP的狀態資訊,主要包括 HRP的備份通道, HRP的狀態, hrp是否使能快速備份,為 MASTER 狀態的 VGMP資訊。

display hrp verbose

:顯示當前 HRP的詳細狀態資訊。

2 VGMP 配置說明

VGMP

(vrrp group management protocol )是 VRRP 的組管理協議,同樣 VGMP 協議也是

華為私有

的協議。VGMP 透過把 VRRP 加入到一個組中進行管理,透過 VGMP 報文和對端進行協商,確定自己和對端的 VGMP 的狀態,根據 VGMP 的狀態的主備,把 VGMP 組下面的 VRRP 的狀態改成和 VGMP 的狀態一致。VGMP 狀態也分 Master 和 Slave,同樣 VGMP報文是在 VRRP 報文的基礎上進行封裝的,它透過 VRRP 報文通知對端自己的狀態以及和對端進行協商。

防火牆的 VGMP 功能現在支援兩臺防火牆之間的 VGMP 協商,透過協商, 在兩臺防火牆上形成一主一備的狀態,當其中主防火牆發生故障或者其他原因導致 VGMP 的優先順序降低的時候,備防火牆的 VGMP 會搶佔為主, 原來的主防火牆的 VGMP 會變成備,同時 VGMP組裡面的 VRRP 也跟隨這 VGMP 的狀態的變化發生變化。透過 VGMP 來管理 VRRP,使VGMP 為主的防火牆對外發布 VGMP 組下面的所有的 VRRP 的虛地址,而 VGMP 為備的防火牆不對外發布 VRRP 虛地址,形成 VRRP 的冗餘備份。

VGMP 的配置命令的功能和使用介紹如下:

vrrp group <1-16>

:建立 VGMP管理組。執行此命令列之後,建立一個 VGMP管理組,並進入此管理組檢視,所有的 VGMP的配置都在 VGMP檢視下進行配置。add interface Ethernet 1/0/7 vrrp vrid 1 :把介面 Ethernet1/0/7 下配置的 VRRP 1加入到此管理組進行管理。

add interface Ethernet 1/0/7 vrrp vrid 1 data

:把介面 Ethernet1/0/7 下配置的VRRP 1加入到此管理組進行管理,並且把介面 Ethernet1/0/7 作為傳送 VGMP資料報文的通道。配置了傳送 VGMP的資料通道之後, VGMP才能使能。防火牆的配置同步是透過VGMP的資料通道進行傳送的。

add interface Ethernet 1/0/7 vrrp vrid 1 data transfer-only

:把 接 口Ethernet1/0/7 下配置的 VRRP 1加入到此管理組進行管理,並且把介面 Ethernet1/0/7作為傳送 VGMP資料報文的通道,並且此介面下的 VRRP的或者優先順序發生變化的時候不參與到 VGMP優先順序的計算。通常在防火牆上下行都是交換機組網的情況,心跳口上的VRRP可以以此種方式加入到 VGMP組中。

add interface Ethernet1/0/7 vrrp vrid 1 data ip-link 1

:把介面 Ethernet1/0/7下配置的 VRRP 1加入到此管理組進行管理,並且把介面 Ethernet1/0/7 作為傳送 VGMP資料報文的通道,同時在 VGMP上繫結 ip-link 功能。ip-link 的使用介紹請參考其他文件。

vrrp-group enable

:VGMP組使能命令。在配置了 VGMP的資料通道之後,此命令才可以執行, 執行此命令後, 防火牆會從資料通道傳送 VGMP的報文和對端防火牆進行互動, 確定 VGMP的主備狀態。

vrrp-group preempt

:配置 VGMP組的搶佔模式。此命令配置之後本端 VGMP和對端 VGMP進行協商,並進行搶佔,如果優先順序高就搶佔為主,如果優先順序低就被搶佔為備。配置此命令後預設搶佔延時為 0,即立即搶佔。

vrrp-group preempt delay <0-1800000>

:配置 VGMP組搶佔延時,單位為毫秒( ms),如果本地的 VGMP組的優先順序比對端的 VGMP的優先順序高, 在延時配置的時間後 VGMP就搶佔為 Master 狀態。對於防火牆組網,我們建議的搶佔方式是備防火牆搶佔延時為 0,主防火牆配置搶佔延時為 20000ms或者是不搶佔。具體的配置在相關組網中詳細說明如何配置防火牆的搶佔方式。

vrrp-group priority <1-254>

:配置 VGMP組的優先順序。配置 VGMP組的優先順序後, VGMP和對端的防火牆的 VGMP進行協商,並確定 VGMP的主備狀態。預設使用這種方式作為 VGMP組的優先順序,預設優先順序是 100。VGMP組的優先順序調整演算法為:當前優先順序-(當前優先順序 /16 )。如果 VGMP組下的一個 VRRP變成初始化狀態,則 VGMP組的優先順序調整一次,同樣如果配置的一個 ip-link 檢測遠端 IP 為不可達, VGMP組的優先順序也會調整一次,每次都使用上面的演算法進行調整。對於採用此種方式,建議主防火牆配置為 105,備防火牆使用預設配置 100。

vrrp-group priority using-vrrppriority

:使用 VRRP的優先順序作為 VGMP組的優先順序。配置 VGMP組的優先順序後, VGMP和對端的防火牆的 VGMP進行協商,並確定 VGMP的主備狀態。如果採用此種方式決定 VGMP組的優先順序, 首先把 VGMP組下所有的 VRRP的優先順序加起來,再除以 VGMP組下的 VRRP的個數。如果還在 VGMP下面配置了 ip-link ,並且ip-link 檢測到遠端的 IP 地址不可達,計算出 ip-link 調整的優先順序,計算方法為ip-link 繫結的 VRRP的優先順序除以 16,然後用根據 VGMP組下的所有的 VRRP計算出來的優先順序減去 ip-link 調整的優先順序, 得到最終的 VGMP組的優先順序。採用此種方式, 建議VRRP的優先順序主防火牆配置為 105,備防火牆配置為預設的 100。

vrrp-group priority plus <0-254>

:此命令也是用來調整 VGMP的優先順序的,但是現在不再使用,也不推薦配置此命令。

vrrp-group manual-preempt

:VGMP組手動搶佔命令。在 VGMP配置了搶佔延時的時候,如果延時時間沒有到, 即使本地防火牆的 VGMP組的優先順序比對端高, 也不進行搶佔。如果在 VGMP組下面配置了不搶佔,即使本地優先順序比對端高,也不進行搶佔。但是透過vrrp-group manual-preempt 可以進行手動搶佔,如果本地 VGMP組優先順序高,配置的搶佔延時沒有到或者配置不搶佔,透過此命令本地 VGMP能馬上搶佔為 Master 狀態。請關注微信公眾號:網路技術乾貨圈

vrrp-group timer hello <200-60000>

:VGMP組傳送 VGMP的 hello 報文的時間間隔,單位為毫秒( ms),預設值為 1000ms。透過配置 VGMP組下的 VGMP的 hello 報文的傳送時間間隔, VGMP組能更快的進行搶佔切換。建議採用預設值,如果引數設定的太小,導致防火牆傳送和接受的 VGMP的報文的數量會很多,會佔用較多的 CPU資源,並且配置1s 的 hello 報文的時間間隔也能滿足現網故障反應時間間隔。

vrrp-group group-send

:VGMP組下的所有資料通道都發送 VGMP報文。配置此命令後,VGMP傳送資料報文和 hello 報文的時候,加入此 VGMP組的每個資料通道都發送一次。此命令預設不使能, VGMP會自動選擇一個數據通道作為傳送 VGMP報文的通道,並且在檢測到資料通道發生故障的時候重新進行選擇。

3 VRRP 配置說明

防火牆的 VRRP 和標準的 VRRP 協議一樣,下面大概說說 VRRP 的配置,詳細資訊可以找相關的 RFC 檢視。在防火牆上, 如果 VRRP 加入到 VGMP 中,VRRP 的狀態由 VGMP決定,不再自己協商。

VRRP 的配置命令的功能和使用介紹如下:

vrrp vrid 1 virtual-ip 1。1。1。100

:在介面檢視下配置 VRRP 。此命令是在介面上配置VRRP的 ID 以及 VRRP的虛地址。

vrrp vrid 1 track Ethernet1/0/6

:配置 VRRP監視的埠。配置監視的埠之後,如果此埠的協議狀態 down,VRRP的優先順序會自動調整。預設是調整 10,可以在此命令後面繼續配置下降多少。

vrrp vrid 1 priority <1-254>

:配置 VRRP的優先順序。預設值是 100,如果是主防火牆,建議配置為 105,備防火牆建議配置為預設值 100。

vrrp vrid 1 timer advertise <1-255>

:VRRP的 hello 報文傳送的時間間隔。預設 VRR的 hello 報文的傳送時間間隔為 1s,建議使用預設配置。

vrrp vrid 1 preempt-mode

:VRRP的搶佔引數。如果 VRRP加入 VGMP組中, VRRP的搶佔引數不再生效。

4 IP-Link 配置說明

4。1 ip-link 功能說明:

防火牆 ip-link 功能是一種

檢測三層鏈路是否可達

的功能, 基本原理就是在防火牆上配置 ip-link 使能並配置 ip-link 的目的地址之後,防火牆會向該目的地址傳送 icmp 的報文判斷該目的地址是否可達, 判斷從防火牆到該目的地址三層鏈路是否可通, 應用在雙機熱備組網中, VGMP能根據 ip-link 特測的結果調整 VGMP的優先順序,從而使防火牆在和路由器組網中能在發生故障的時候進行主備倒換。

防火牆在使能 ip-link 功能時,需要判斷 ip-link 的目的地址的裝置能和防火牆進行正常的 icmp 互動,這樣防火牆才能正確的檢測該目的地址,從而在該裝置發生故障的時候正確引導主備防火牆進行主備切換, 所以 ip-link 使用的前提條件是 ip-link 配置的目的地址的裝置能正常的和防火牆進行 icmp 會話。

4。2 ip-link 在組網中的應用:

防火牆的 ip-link 功能一般使用的雙機熱備組網環境中常見組網如下圖所示:

華為防火牆雙機熱備技術:HRP、VGMP、VRRP,三大技術值得一學!

如上圖所示 , 如果在防火牆上不使能 ip-link 功能,正常情況下報文會透過防火牆 A進行轉發,這時必須保證防火牆 A的上下行裝置都是正常工作。但是一旦和防火牆 A相連的路由器 A的 0/1 口發生故障,報文不能從該口進行轉發,此時防火牆 A的 VRRP是檢測不到路由器 A的 0/1 口發生故障的,報文會繼續從防火牆 A轉發到路由器 A,導致業務中斷。如果在防火牆 A上使能 ip-link 的功能,使得 ip-link 的目的地址是路由器 A的 0/1 口,當路由器 A的 0/1 口發生故障的時候,防火牆 A能探測到路由器 A的 0/1 介面的 IP 地址是不可達的, 此時防火牆 A認為從本地 0/0 口出去的鏈路不通, 這個時候防火牆 A會自動調整優先順序,使防火牆 A 和防火牆 B 發生主備倒換,防火牆 A 上面的業務全部轉移到防火牆 B上,保證了業務的正常轉發。

4。3 防火牆 ip-link 的配置:

在防火牆上配置 ip-link 功能時首先要確認 ip-link 配置中的目的地址的裝置在正常的情況下能正確的和防火牆進行 icmp 會話。相關配置介紹如下:

1:使能防火牆 ip-link 功能

在系統檢視下執行命令

ip-link check enable

如:

[Eudemon]ip-link check

enable

2:配置 ip-link 其他引數

ip-link INTEGER<1-32> [ vpn-instance vpn-name] destination X。X。X。X [ interface | timer ]

上述命令引數含義可參考命令列給出的提示資訊。

3:vrrp 繫結 ip-link

進入 VGMP 的檢視

Vrrp group 1

配置 ip-link

[E1000_A-vrrpgroup-1]add int Ethernet 4/0/0 vrrp vrid 1 ip-link 1

4。4 防火牆 ip-link 的配置:

配置防火牆 ip-link 使能之後, 防火牆將向 ip-link 目的地址的裝置傳送 icmp 報文檢測目的裝置是否正常。我們透過檢視 vrrp 組的狀態可以看到 ip-link 已經開始影響 vrrp 組的優先順序了,防火牆 ip-link 檢查調整優先順序的大小和加入 vrrp 管理組的介面 down 掉調整 vrrp 管理組的優先順序相同。

HRP_M[E1000_A]dis v v

Vrrp Group 16

state : Master

Priority : 98 ―――― >此處優先順序會根據 ip-link 檢查的結果進行調整

Preempt : YES Delay Time : 0

Timer : 1000

Group-Send : YES

Peer Status : OnLine

Vrrp number : 3

: Same

interface : Ethernet4/0/7, vrrp id : 254 Up

interface : Ethernet4/0/0, vrrp id : 2 Up

interface : Ethernet4/0/1, vrrp id : 1 Down, ip-link: 32 Down