简介


在企业级应用中,为了保证网络的高可用性,通常会使用多个路由器做热备,以避免网络中的单点故障。但是,如果不进行一些配置,即便是使用了多台路由器,在网络故障的时候,依旧不能自行切换起到热备的作用。我们可以使用 VRRP ,使得路由器可以自动进行故障转移。VRRP 中文全称是虚拟路由冗余协议,是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。


网络拓扑及说明


(1)拓扑说明

  • ER-3 和 ER-4 为两条运营商接入线路;
  • ER-1 和 ER-2 用作三层交换机(由于 UBNT 没有三层交换机,所以这里用 2 台路由器替代);
  • 用一台交换机将 ER-1、ER-2 和电脑连接起来,网段为 192.168.0.0/24
  • ER-1 和 ER-2 的 eth1 口连接在交换机上。

(3)需求 & 方案

  • 要求路由器或者路由器到交换机这一段链路中一旦出现故障,可以自主进行切换,用户无感知;
  • 通过配置 VRRP 来实现路由器的热备份。

配置


(1)首先将 ER-3 和 ER-4 的基本配置配置完成,确保 ER-3 和 ER-4 可以直接访问外网。

  • 在 ER-3 和 ER-4 上配置静态路由时,需要注意将 distance 改为 1,确保这条默认路由最优。

(2)配置 OSPF,可参考文章 如何配置 OSPF

R1

R1.png

R2

R2.png

R3

R3.png

R4

R4.png

(3)在 OSPF 中下发默认路由

set protocols ospf default-information originate always
  • 由于 ER-1 和 ER-2 需要访问外网,但是没有通过 ospf 学到默认路由,我们这边在 ospf 中下发一条默认。

(2)配置 VRRP

配置 ER-1

set interfaces ethernet eth1 vrrp vrrp-group 100 preempt true    //开启抢占
set interfaces ethernet eth1 vrrp vrrp-group 100 priority 100    //设置优先级为 100,优先级越大越优
set interfaces ethernet eth1 vrrp vrrp-group 100 virtual-address 10.255.1.254    //设置虚拟网关为 10.255.1.254

配置 ER-2

set interfaces ethernet eth1 vrrp vrrp-group 100 preempt true    //开启抢占
set interfaces ethernet eth1 vrrp vrrp-group 100 priority 50    //设置优先级为 50,优先级越大越优
set interfaces ethernet eth1 vrrp vrrp-group 100 virtual-address 10.255.1.254    //设置虚拟网关为 10.255.1.254

(3) 测试

ER-1

1__RYD02Q_X3IB_T84M7ELO.png

ER-2

NKB5___DIX_5D_419FL_1_A.png

  • 可以看到 ER-1 为 master ,ER-2 为 backup;
  • 我们可以拔掉 ER-1 连接交换机的网线,然后发现 ER-2 变成了 master,如果是 ping 外网的话,依旧可以 ping 通;
  • 我们可以尝试,在整个网络中,我们随便拔掉其中一根网线,整个网络依旧可以正常运行。