歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 在Linux下的(VRRP)虛擬路由冗余協議介紹

在Linux下的(VRRP)虛擬路由冗余協議介紹

日期:2017/2/27 14:25:02   编辑:更多Linux
  這篇文章描述的是如何在Linux下實現VRRP (Virtual Router Redundancy Protocol 虛擬路由器冗余協議)。是我本人在學習VRRP過程的一個小總結,並結合了一些其他資料,對VRRP的一些基本概念、原理及Linux如何實現VRRP的一個介紹,    包括以下幾個部分:  1, VRRP介紹  2, Linux下的VRRP組件  3, 安裝Keepalived    1,VRRP介紹    我們在建立一個網絡時,為了保證網絡穩定不間斷的運行,經常采用一些動態的路由協議,如OSPF、RIP等,這些路由協議可以自動的繞開很多的網絡故障,如:路由器DOWN機等。但很多時候我們可能無法使用這些高端的路由協議:    (1), 因為有時候是用戶端,要配置OSPF、RIP等協議必須有上游ISP供應商的支持,但很多ISP供應商是不提供這種服務的,他們只提供靜態路由。(有時候使用OSPF、RIP等協議的目的是為了進行鏈路和路由的備份,VRRP可以完全替代他們這部分工作)    (2), 我們有兩條以上的Internet線路,需要對他們進行負載均衡和路由線路、路由器的備份(VRRP也主要是為這種需求設計的)    為了能夠保證網絡的不間斷、穩定的運行,VRRP是一個最好的選擇,VRRP是Virtual Router Redundancy Protocol 虛擬路由器冗余協議的縮寫,在RFC2338中有比較詳細的描述。    2,VRRP概念    VRRP中有很多的概念,我們結合下圖對他們進行一一的介紹:     (1), 圖中路由器RA是虛擬路由器VRID 1的主路由器,負責掌管“內部網1”的網關;並且是虛擬路由器VRID 2的備份路由器,當VRID 2的主路由器RB不可用時,接管RB的工作。    (2), 路由器RB是虛擬路由器VRID 2的主路由器,負責掌管“內部網2”的網關;並且是虛擬路由器VRID 1的備份路由器,當VRID 1的主路由器RA不可用時,接管RA的工作。    3,VRRP術語:    (1), Virtual Router:虛擬路由器。在我們這個圖中,是由實際路由器RA和RB使用VRRP協議組成的一個路由器鏡相。    (2), Vitual Router ID:簡稱為VRID,是網絡中Virtual Router的唯一的身份標示,是一個數字。    (3), VRRP Instance:VRRP實體。VRRP Instance可以理解為是一個程序,運行在一台實際的路由器上,他負責掌管一些VRRP協議需要的一些信息。如:說明這台實際的路由器是主路由器還是備份路由器、這台路由器所屬的VRID等。    (4), Virtual Router IP:一個Virtual Router具有一個IP地址,在正常情況下,有這個Vritual Router中的主路由器掌管,當主路由器出現故障時由這個Virtual Router中的備份路由器掌管。    (5), Master:也就是主路由器。一個實際路由器是否是主路由器,一般在自己的VRRP Instance中作出描述。    (6), Backup:備份路由器。一個實際路由器是否是備份路由器,一般在自己的VRRP Instance中作出描述。    (7), Priority:優先權。在VRRP Instance中將對每個實際的路由器定義一個優先權,他是一個數字從1到254(0和254在RFC定義中被保留),當主路由器不可用時,備份路由器將根據自己的優先權來決定由誰接管主路由器的工作。數字越大,權值越大。    (8), Owner:Virtual Router IP的掌管者。    (9), Authentication:驗證。處在同一個VRID中的實際路由器是需要通信的,他們之間的通信需要相互驗證。一般使用密碼驗證。另外需要說明的是:同一個VRID中的實際路由器通信時使用組播地址:224.0.0.18。    4,VRRP的數據包結構:     關於更詳細的說明請參考RFC2338 VRRP文檔。    5,Linux下的VRRP組件    在Linux下可以實現非常漂亮穩定的VRRP功能。實現這個功能的軟件是keepalived(http://www.keepalived.org),keepalived起初是為LVS(LinuxVirtualServer www.linuxvirtualserver.org Linux下的服務器負載均衡系統)設計的,是專門監控服務器狀態的。後來加入了VRRP的功能。Keepalived的VRRP功能是從Linux中VRRPD發展而來:http://www.off.net/~jme/vrrpd/index.Html 。    6,Keepalived的安裝    Keepalived的安裝需要先安裝下面兩個組件:  openssl(www.openssl.org)  popt(http://www.gnu.org/Directory/libs/popt.html)    (1), openssl的安裝,如果你的系統已經有了openssl系統,而且在/usr/include目錄下有openssl的目錄,那麼openssl就不需要安裝了,如果不是這樣你需要安裝。  tar zxvf openssl-0.9.7d.tar.gz  cd openssl-0.9.7d  configure  make  make test  make install    然後將openssl的include目錄復制到/usr/include  cp –r /usr/local/ssl/include/openssl /usr/include    (2), tar zxvf popt-1.7.tar.gz  cd popt-1.7  ./configure  make  make install  (3), 在安裝keepalived之前,你可能需要重新編譯Linux的內核,將Netlink、Linux Virtual Server和組播功能的選項編譯進新內核:如下面的圖:        (4), keepalived的安裝  tar zxvf keepalived-1.1.7.tar.gz  cd keepalived-1.1.7  ./configure –prefix=/usr/local/keepalived  make  make install




Copyright © Linux教程網 All Rights Reserved