碼迷,mamicode.com
首頁 > 系統相關 > 詳細

Cisco-HSRP 熱備份路由器協議-配置實例

時間:2015-06-14 16:54:40      閱讀:38712      評論:0      收藏:1      [點我收藏+]

標簽:cisco hsrp-配置 熱備份冗余協議 思科高可用配置

同樣的,首先做一些理論的掃盲。最起碼要知道自己在配什么東西才行。


簡介

HSRP(Hot StandbyRouter Protocol 熱備份路由器協議)是Cisco的專有協議。HSRP把多臺路由器組成一個“熱備份組”,形成一個虛擬路由器。這個組內只有一個路由器是Active(活動)的,并由它來轉發數據包,如果活動路由器發生了故障,備份路由器將成為活動路由器。從網絡內的主機來看,網關并沒有改變。

HSRP的工作過程

HSRP路由器利用Hello包來互相監聽各自的存在。當路由器長時間沒有接收到Hello包時,就認為活動路由器故障,備份路由器就會成為活動路由器。HSRP協議利用優先級決定哪個路由器成為活動路由器。如果一個路由器的優先級比其它路由器的優先級高,則該路由器成為活動路由器。路由器的默認優先級是100。在一個組中,最多有一個活動路由器和一個備份路由器。HSRP路由器發送的組播(224.0.0.2)消息有以下三種:

Hello:通知其它路由器發送者的HSRP優先級和狀態信息,HSRP路由器默認每3秒發送一個Hello消息。

Coup:當一個備用路由器變為一個活動路由器時發送一個Coup消息。

Resign:當活動路由器要當機或者當有優先級更高的路由器發送Hello消息時,主動發送一個Resign消息。

HSRP的報文格式

                             技術分享

①版本:指示HSRP的版本信息。

②操作碼:用來描述數據包中報文的類型,可能的值為0、1和2,分別表示是Hello、Coup和Resign消息。

③狀態:描述發出該報文的路由器的當前狀態。有0、1、2、4、8、16六種狀態,分別表示為Initial、Learn、Listen、Speak、Standby和Active狀態。

④呼叫時間(Hellotime):只在呼叫報文中有意義,表示路由器定時發送呼叫報文的間隔時間,以秒為單位。如果該參數沒有在路由器上配置,它可能要從活動路由器上學習獲得。默認值為3秒。

⑤保持時間(Holdtime):只在呼叫報文中有意義,被接收路由器用來判斷該呼叫報文是否合法,單位為秒,其值

  至少是呼叫時間的3倍。如果該參數沒有配置,也同樣可以從活動路由器上學習。活動路由器不能從等待路由器學習呼叫時間和保持時間,它只能繼續使用從先前的活動路由器學習來的該值。默認值為10秒。

⑥優先級:該參數用來選擇活動和等待路由器,兩個具有不同優先級的路由器,優先級高的將成為活動路由器。兩個具有相同優先級的路由器,IP地址大的將成為活動路由器。默認優先級為100。

⑦組:用來標記路由器所在的熱等待組。對令牌環類型的網絡,合法的值是0、1和2,對于其它類型的網絡,合法值是0-255。

⑧認證碼:包括8個明文的字符作為密碼,如果沒有配置,默認值為cisco。

⑨虛擬IP地址:用來指定本熱等待組的虛擬IP地址,它可以從活動路由器的呼叫報文中學習到。如果沒有配置該地址,并且呼叫報文是需要認識的,那么只能通過活動路由器學習。

HSRP路由器的6中狀態:

1.Initial:HSRP啟動時的狀態,HSRP還沒有運行,一般是在改變配置或端口剛剛啟動時進入該狀態。

2.Learn:在該狀態下,路由器還沒有決定虛擬IP地址,也沒有看到認證的、來自活動路由器的Hello報文。路由器仍在等待活動路由器發來的Hello報文。

3.Listen:路由器已經得到了虛擬IP地址,但是它既不是活動路由器也不是等待路由器。它一直監聽從活動路由器和等待路由器發來的Hello報文。

4.Speak:在該狀態下,路由器定期發送Hello報文,并且積極參加活動路由器或等待路由器的競選。如果選出活動路由和等待路由,則變成監聽狀態(Listen)。而此時只有活動路由器和等待路由處于說話狀態。

5.Standby:處于該狀態的路由器是下一個候選的活動路由器,它定時發送Hello報文。

6.Active:處于活動狀態的路由器承擔轉發數據包的任務,這些數據包是發給該組的虛擬MAC地址的。它定時發出Hello報文。

HSRP2個定時器

HSRP使用2個定時器:

Hello間隔和Hold時間。默認Hello間隔是3秒,默認的Hold間隔是10秒。Hello間隔定義了兩組路由器之間交換信息的頻率。Hlod間隔定義了經過多長時間后,沒有收到其它路由器的信息,則活動路由器或者備用路由器就會被宣告為失敗。配置計時器并不是越小越好,雖然計時器越小則切換時間越短。計時器的配置需要和STP等的切換時間相一致。

另外,Hold間隔最少應該是Hello間隔的3倍。

實驗

實驗拓撲:

技術分享

在路由器和三層交換機上都可以配置HSRP,這里是在路由器R1和R3上配置

命令:

R1(config-if)#standby1 ip 192.168.13.254

//啟用HSRP功能,創建standby組1,并設置虛擬網關IP地址

R1(config-if)#standbypriority 120

 //設置HSRP的優先級,該值大的會搶占成Active路由器,默認為100

R1(config-if)#standby1 preempt       

//設置允許在該路由器優先級是最高時搶占為活動路由器

R1(config-if)#standby1 timers 3 10      

 //設置Hellotime為3秒,Holdtime為10秒,默認即為該值

R1(config-if)#standby1 authentication md5 key-string cisco       //配置認證密碼

R1(config-if)#standby1 track s0/0 30        //配置端口跟蹤


備注:

①相同組號的路由器屬于同一個HSRP組,所有屬于同一個HSRP組的路由器的虛擬IP地址必須一致。

②“standby 1 preempt”命令:

  1>如果不配置該命令,即使該路由器優先級再高,也不會成為Active路由;

  2>如果再配置“standby 1 preempt delayminimum 1000”命令,則會延時1000毫秒才進行搶占。

③Hellotime:路由器每間隔多長時間發送Hello信息;Holdtime:在多長時間內同組的其它路由器沒有收到活動路由器的信息,則認為活動路由器發生故障;如果要更改默認值,所有同HSRP組的路由器該項設置必須一致。

④配置認證密碼為了防止非法設備加入到HSRP組,并且同HSRP組的密碼必須一致。

⑤端口跟蹤:如果試驗中沒有配置s0/0的端口跟蹤,當R1的s0/0接口出現問題,R1將沒有到達R2的Loopback0接口所在網段的路由。然而R1和R3之間的以太網仍然沒有問題,HSRP的Hello包正常發送和接收。因此R1仍然是虛擬網關192.168.13.254的活動路由器,Server的數據仍會發送給R1,這樣會造成Server無法ping通R2的Loopback接口。當配置路由跟蹤后,端口跟蹤使得R1發現s0/0上的鏈路出現問題后,把自己的優先級(我們設置的為120)減去一個數字(我們設置的為30),成為了90。由于R3的優先級為默認值100,這樣R3就成為了活動路由器,Server的數據包將發往R3。降低的值應該選取合適的值,使得其他路由器能成為活動路由器。

⑥可以使用“standby 1 mac-address”命令修改虛擬MAC地址,系統默認的MAC地址為“0000.0c07.acXX”,XX”為HSRP的組號。

⑦可以使用“standby 1 name”命令設置HSRP組1的名字,如果沒有設置,系統將自動生成。

⑧由于HSRP的兩個版本version1和version2不兼容,可以使用“standby version”命令設置HSRP的版本。

配置IP地址及路由:

R1(config)#int f1/0

R1(config-if)#ip add192.168.13.1 255.255.255.0

R1(config-if)#no sh

R1(config)#int s0/0

R1(config-if)#ip add192.168.12.1 255.255.255.0

R1(config-if)#no sh

R1(config)#router rip

R1(config-router)#network192.168.12.0

R1(config-router)#network192.168.13.0

R1(config-router)#passive-interfacef1/0        //防止從該接口發送RIP信息給R3

R2(config)#int lo0

R2(config-if)#ip add192.168.2.2 255.255.255.0

R2(config)#int s0/0

R2(config-if)#ip add192.168.12.2 255.255.255.0

R2(config-if)#clockrate 128000

R2(config-if)#no sh

R2(config)#int s0/1

R2(config-if)#ip add192.168.23.2 255.255.255.0

R2(config-if)#clockrate 128000

R2(config-if)#no sh

R2(config)#router rip

R2(config-router)#network192.168.2.0

R2(config-router)#network192.168.12.0

R2(config-router)#network192.168.23.0

R3(config)#int f1/0

R3(config-if)#ip add192.168.13.3 255.255.255.0

R3(config-if)#no sh

R3(config)#int s0/1

R3(config-if)#ip add192.168.23.3 255.255.255.0

R3(config-if)#no sh

R3(config)#router rip

R3(config-router)#network192.168.23.0

R3(config-router)#network192.168.13.0

R3(config-router)#passive-interfacef1/0

配置HSRP:

R1(config)#int f1/0

R1(config-if)#standby1 ip 192.168.13.254

R1(config-if)#standbypriority 120

R1(config-if)#standby1 preempt

R1(config-if)#standby1 timers 3 10

R1(config-if)#standby1 authentication md5 key-string cisco

R1(config-if)#standby1 track s0/0 30

R3(config)#int f1/0

R3(config-if)#standby1 ip 192.168.13.254

R3(config-if)#standby1 preempt

R3(config-if)#standby1 timers 3 10

R3(config-if)#standby1 authentication md5 key-string cisco

  R1(config-if)#standby1 track s0/0 30


調試

R1#show standby brief        //查看HSRP簡要信息

技術分享

R1#show standby        //查看HSRP詳細信息

技術分享

Serverping 192.168.2.2 -t

R1(config)#int f1/0

R1(config)#sh

技術分享


在Server上連續ping路由器R2的Loopback接口的IP地址(192.168.2.2),在R1上關閉F1/0接口,可以發現:當R1故障時,R3很快就替代了R1,計算機的通信幾乎沒有受到什么影響。

說明:如果重新打開R1的F1/0接口,由于再R1上配置了搶占(Preempt),因此R1又會成為活動路由器。

R3#debug standby        //以下是當R1的F1/0接口關閉后,R3成為活動路由器過程中的debug信息

技術分享


配置多個HSRP組(可以簡單理解為A/A

之前的步驟已經虛擬了192.168.13.254網關,對于這個網關只能有一個活動路由器,于是這個路由器將承擔全部的數據流量。我們可以再創建一個HSRP組,虛擬出另一個網關192.168.13.253,這時R3是活動路由器,讓一部分計算機指向這個網關,這樣就能做到負載平衡。

R1(config)#int f1/0

R1(config-if)#standby1 ip 192.168.13.254

R1(config-if)#standby1 priority 120

R1(config-if)#standby1 preempt

R1(config-if)#standby1 authentication md5 key-string cisco

R1(config-if)#standby1 track s0/0 30

R1(config-if)#standby2 ip 192.168.13.253

R1(config-if)#standby2 preempt

R1(config-if)#standby2 authentication md5 key-string cisco

R3(config)#int f1/0

R3(config-if)#standby1 ip 192.168.13.254

R3(config-if)#standby1 preempt

R3(config-if)#standby1 authentication md5 key-string cisco

R3(config-if)#standby2 ip 192.168.13.253

R3(config-if)#standby2 priority 120

R3(config-if)#standby2 preempt

R3(config-if)#standby2 authentication md5 key-string cisco

R3(config-if)#standby2 track s0/1 30

說明:我們這里創建了兩個HSRP組,組1的IP為192.168.13.254,活動路由器為R1,一部分計算機的網關指向

  192.168.13.254。組2的IP為192.168.13.253,活動路由器為R2,其余計算機的網關指向192.168.13.253。這

  樣,當網絡全部正常時,一部分數據是由R1轉發的,其余數據是由R2轉發的,實現了負載平衡。當一個路由器

  出現問題時,則另一個路由器就成為兩個HSRP組的活動路由器,承擔全部的數據轉發。通過這種方式實現負載

  平衡,要求不同的計算機在設置網關時有所不同,如果計算機的IP是DHCP分配的,那這種方法就不太方便了。

注意:HSRP實際上在局域網用的較多,由于局域網內大多使用三層交換機,所以這時HSRP是在交換機上配置的。

  另外,HSRP有Version1和Version2,兩者不兼容,因此所有路由器或者交換機要使用相同的HSRP版本,可以使

  用“standby version”命令設置版本。


本文出自 “從零到壹” 博客,轉載請與作者聯系!

Cisco-HSRP 熱備份路由器協議-配置實例

標簽:cisco hsrp-配置 熱備份冗余協議 思科高可用配置

原文地址:http://allen686.blog.51cto.com/6758434/1661752

(1)
(27)
   
舉報
評論 一句話評論(0
0條  
登錄后才能評論!
? 2014 mamicode.com 版權所有 京ICP備13008772號-2
迷上了代碼!
公式规律下期单双