您好,登錄后才能下訂單哦!
一 協議概述
在基于TCP/IP協議的網絡中,為了保證不直接物理連接的設備之間的通信,必須指定路由.目前常用的指定路由的方法有兩種:一種是通過路由協議(比如:內部路由協議RIP和OSPF)動態學習;另一種是靜態配置.在每一個終端都運行動態路由協議是不現實的,大多客戶端操作系統平臺都不支持動態路由協議,因此普遍采用對終端IP設備靜態路由配置,一般是給終端設備指定一個或者多個默認網關(Default Gateway).靜態路由的方法簡化了網絡管理的復雜度和減輕了終端設備的通信開銷,但是它仍然有一個缺點:如果作為默認網關的路由器損壞,所有使用該網關為下一跳主機的通信必然要中斷.即便配置了多個默認網關,如不重新啟動終端設備,也不能切換到新的網關.采用虛擬路由冗余協議 (Virtual Router Redundancy Protocol,簡稱VRRP)可以很好的避免靜態指定網關的缺陷.
在VRRP協議中,有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器.VRRP路由器是指運行VRRP的路由器,是物理實體,虛擬路由器是指VRRP協議創建的,是邏輯概念.一組VRRP路由器協同工作,共同構成一臺虛擬路由器,該虛擬路由器對外表現為一個具有唯一固定IP地址和MAC地址的邏輯路由器,處于同一個VRRP組中的路由器具有兩種互斥的角色:主控路由器和備份路由器,一個VRRP組中有且只有一臺處于主控角色的路由器,可以有一個或者多個處于備份角色的路由器.VRRP協議使用選擇策略從路由器組中選出一臺作為主控,負責ARP相應和轉發IP數據包,組中的其它路由器作為備份的角色處于待命狀態.當由于某種原因主控路由器發生故障時,備份路由器能在幾秒鐘的時延后升級為主路由器,由于此切換非常迅速而且不用改變IP地址和MAC地址,故對終端使用者系統是透明的.
二 工作原理
一個VRRP路由器有唯一的標識:VRID,范圍為0—255.
VRRP控制報文只有一種:VRRP通告(advertisement),它使用IP多播數據包進行封裝,組地址為224.0.0.18,發布范圍只限于同一局域網內.這保證了VRID在不同網絡中可以重復使用.為了減少網絡帶寬消耗只有主控路由器才可以周期性的發送VRRP通告報文.備份路由器在連續三個通告間隔內收不到VRRP或收到優先級為0的通告后啟動新的一輪VRRP選舉,
在VRRP路由器組中,按優先級選舉主控路由器,VRRP協議中優先級范圍是0—255.
若VRRP路由器的IP地址和虛擬路由器的接口IP地址相同,則稱該虛擬路由器作VRRP組中的IP地址所有者;IP地址所有者自動具有最高優先級:255.優先級0一般用在IP地址所有者主動放棄主控者角色時使用.可配置的優先級范圍為1—254.對于相同優先級的候選路由器,按照IP地址大小順序選舉?
VRRP還提供了優先級搶占策略,如果配置了該策略,高優先級的備份路由器便會剝奪當前低優先級的主控路由器而成為新的主控路由器.
為了保證VRRP協議的安全性,提供了兩種安全認證措施:明文認證和IP頭認證.明文認證方式要求:在加入一個VRRP路由器組時,必須同時提供相同的VRID和明文密碼.適合于避免在局域網內的配置錯誤,但不能防止通過網絡監聽方式獲得密碼.IP頭認證的方式提供了更高的安全性,能夠防止報文重放和修改等***.
三 vyos的vrrp配置
實驗環境采用虛擬化環境,vyos-01和02的eth0在同一個vlan 280下面,eth2則在同一個vlan100下面。
虛擬機名稱 | 端口 | 接口ip | vrid | virtual ip | priority | preempt |
vyos-01 | eth0 | 10.10.10.1/30 | 10 | 192.168.28.135 | 150 | true |
vyos-02 | eth0 | 10.10.10.2/30 | 100 | |||
vyos-01 | eth2 | 192.168.100.3/24 | 100 | 192.168.100.1 | 150 | true |
vyos-02 | eth2 | 192.168.100.2/24 | 100 |
如上表所示配置兩組vrrp,一組vrid為10,另外一組為100.兩組配置為同一個同步組,當一組vrrp出現故障切換時,另外一組也隨機進行切換。
vyos-01的配置如下:
set interfaces ethernet eth0 address '10.10.10.1/30' --配置eth0接口地址
set interfaces ethernet eth0 vrrp vrrp-group 10 advertise-interval '1' --配置vrrp hello報文間隔時間(已默認,可以不配置)
set interfaces ethernet eth0 vrrp vrrp-group 10 preempt 'true' --配置vrrp搶占模式開啟
set interfaces ethernet eth0 vrrp vrrp-group 10 priority '150'--配置vrrp的優先級
set interfaces ethernet eth0 vrrp vrrp-group 10 sync-group 'asdf' ---配置vrrp的同步組
set interfaces ethernet eth0 vrrp vrrp-group 10 virtual-address '192.168.28.135/24' --配置vrrp的vip地址
set interfaces ethernet eth2 address '192.168.100.3/24'
set interfaces ethernet eth2 vrrp vrrp-group 100 priority '150'
set interfaces ethernet eth2 vrrp vrrp-group 100 sync-group 'asdf'
set interfaces ethernet eth2 vrrp vrrp-group 100 virtual-address '192.168.100.1/24'
vyos-02的配置如下:
set interfaces ethernet eth0 address '10.10.10.2/30' --配置eth0接口地址
set interfaces ethernet eth0 vrrp vrrp-group 10 advertise-interval '1' --配置vrrp hello報文間隔時間
set interfaces ethernet eth0 vrrp vrrp-group 10 preempt 'true' --配置vrrp搶占模式開啟
set interfaces ethernet eth0 vrrp vrrp-group 10 priority '100'--配置vrrp的優先級
set interfaces ethernet eth0 vrrp vrrp-group 10 sync-group 'asdf' ---配置vrrp的同步組
set interfaces ethernet eth0 vrrp vrrp-group 10 virtual-address '192.168.28.135/24' --配置vrrp的vip地址
set interfaces ethernet eth2 address '192.168.100.2/24'
set interfaces ethernet eth2 vrrp vrrp-group 100 priority '100'
set interfaces ethernet eth2 vrrp vrrp-group 100 sync-group 'asdf'
set interfaces ethernet eth2 vrrp vrrp-group 100 virtual-address '192.168.100.1/24'
配置完成后commit并保存。
隨后查看兩邊的vrrp狀態,如下
vyos@vyos-01:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
eth0 10 MASTER no no 22m52s asdf
eth2 100 MASTER no no 22m52s asdf
在切換的過程中會有三個包丟失,這個正反映出vrrp的hello報文在連續三個周期收不到后就啟動vrrp的切換。
斷開vyos-01的eth0口,再查看vrrp狀態如
從圖中可以看出vyos-01端口down后,vyos-01上的兩個vrrp組均變為fault狀態,而vyos-02上的則切換為master狀態。同步切換成功進行。
vyos-01的eth0恢復后再查看vrrp狀態如下:
vyos-01又恢復master,搶占模式設置成功。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。