虚拟路由冗余协议Virtual Router Redundancy Protocol (VRRP)
概要:
虚拟路由冗余协议Virtual Router Redundancy Protocol (VRRP) ,VRRP 协议是保证访问一些资源不会中断,即通过多台路由器组成一个网关集合,如果其中一台路由器出现故障,会自动启用另外一台。两个或多个路由器建立起一个动态的虚拟集合,每一个路由器都可以参与处理数据,这个集合最大不能超过255 个虚拟路由器( 可参考虚拟路由协议) 。一般现在的路由器都支持该协议。
规格
需要功能包: system
软件等级: Level1
操作路径: /ip vrrp
相关协议和标准: VRRP , AH , HMAC-MD5-96 within ESP and AH
属性
虚拟路由冗余协议是一种为路由提供高效率的路由选择协议。一个或多个IP 地址可以分配到一个虚拟路
由上,一个虚拟路由节点应该具备以下状态:
•MASTER 状态, 一个节点回答所有的请求给相应请求的IP 地址。仅只有一个MASTER 路由器在虚拟路由中。每隔一段时间这个主节点发出VRRP 广播包给所有backup 路由器。•BACKUP 状态, VRRP 路由器监视Master 路由器的状态。它不会回答任何来至相应IP 地址的请求,当MASTER 路由器无法工作时(假设至少三次VRRP 数据连接丢失),选择过程发生,新的
MASTER 会根据优先级产生。
VRRP Routers
操作路径: /ip vrrp
属性描述
name ( 名称) – VRRP 名称
interface ( 名称) –选择那个接口(interface )在VRRP 上运行。
vrid ( 整型: 0-255; 默认: 1 ) –虚拟路由的身份号( 必须是在接口(interface )上是唯一的) priority ( 整型: 1-255; 默认: 100 ) –当前节点的优先级( 高的数值代表高的优先级) interval ( 整型: 1-255; 默认: 1 ) – VRRP 更新间隔秒数。定义MASTER 经过多少时间未向VRRP 集
合节点发出广播数据。
preemption-mode (yes | no; 默认: yes ) –是否启用优先模式。
no –一个backup 节点在当前的master 失效之前,是不会选择master ,即使该backup 的优先高于
当前master 的级别
yes –该节点总是拥有最高优先级。
authentication (none | simple | ah; 默认: none ) –使用VRRP 的广播数据包的验证方法
none –没有验证
simple –纯文本的验证
ah –验证标题使用HMAC-MD5-96 算法
password ( 文本; 默认: "" ) –需要验证时的密码,不使用验证时可以被忽略。8 位字符长文本字符串(为纯文本验证方式);16 位字符长文本字符串(为需要128 位key 的AH 验证)on-backup ( 名称; 默认: "" ) –当节点为backup 状态时执行的脚步
on-master ( 名称; 默认: "" ) - 当节点为master 状态时执行的脚步
注:
所有同一个集合的节点,必须使相同的vrid , interval , preemption-mode , authentication 和password .
第255 的优先级被保留为真正的虚拟路由的主机IP 地址。
添加一个VRRP 事例在ether1 的接口上,一个虚拟路由的vrid 设置为 1 ,因为是虚拟路由的主机,
所有优先级为255 :
[admin@MikroTik] ip vrrp> add interface=ether1 vrid=1 priority=255
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 I name="vr1" interface=ether1 vrid=1 priority=255 interval=1
preemption-mode=yes authentication=none password="" on-backup=""
on-master=""
[admin@MikroTik] ip vrrp>
虚拟IP 地址
操作路径: /ip vrrp address
属性描述
address ( IP 地址) – IP 地址适用于虚拟路由belongs to the virtual router
network ( IP 地址) – IP 地址的子网掩码address of the network
broadcast ( IP 地址) – IP 地址广播段
virtual-router ( 名称) - VRRP 路由的名称
Notes
虚拟IP 地址应与每个节点的虚拟路由器相同。
在vr1 VRRP 路由器上添加虚拟地址192.168.1.1/24 :
admin@MikroTik] ip vrrp> address add address=192.168.1.1/24 \
\... virtual-router=vr1
[admin@MikroTik] ip vrrp> address print
Flags: X - disabled, A - active
# ADDRESS NETWORK BROADCAST VIRUAL-ROUTER
0 192.168.1.1/24 192.168.1.0 192.168.1.255 vr1
[admin@MikroTik] ip vrrp>
一个简单的VRRP 事例
让我们假设,我们有一个192.168.1.0/24 的网络,且我们需要为它提供高效率的Internet 连接。这个网络将作NAT ,我们连接了两个不同的ISP ,并且他们其中的一个优先选取(如:速度最快)。
这个例子在上面的图解中显示了如何用两个路由器配置VRRP. 这两个路由器被初始化为以下:接口以启用,每一个接口都配置了相应的IP 地址;路由表设置正确(应至少有一个默认路由);SRC-NAT 或伪
装应配置。如何设置这些配置,看各自的说明手册。
我们将假设这个接口的网段192.168.1.0/24 以连接,并在VRRP 路由器上命名为local
配置Master VRRP 路由器
首先将创建一个VRRP 项,我们将这个路由器设置为优先选取,使用255 的优先级
[admin@MikroTik] ip vrrp> add interface=local priority=255
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name="vr1" interface=local vrid=1 priority=255 interval=1
preemption-mode=yes authentication=none password="" on-backup=""
on-master=""
[admin@MikroTik] ip vrrp>
下一步,将虚拟IP 地址添加到这个VRRP 项目中
[admin@MikroTik] ip vrrp> address add address=192.168.1.1/24 \