作者:Netlea 感谢朋友:筱岚的文档翻译
有时候为了保证我们网络的稳定性和可靠性,可能会申请两条出口链路或用一条出口链路接防火墙后接两台RouterOS做热备份路由,当主路由器(ROS A)功能出现故障时, VRRP(虚拟路由器冗余协议, RFC2338)由另外一个路由器(ROS B)来接管相应的工作。通过设置虚拟路由器为缺省路由器,用户在路由器发生故障时可以继续通信。
如图所示的配置, 利用同一个以太网中的两台路由器设置一台虚拟路由器。 在实际运行中, 两台路由器中的任一台成为主路由器, 该主路由器模拟虚拟路由器。备份路由器监控主由器状态。一旦主路由器出现故障影响网络运行, 备份路由器立即进入主路由器状态以模拟虚拟路由器。
IP地址被分配给虚拟路由器。 指定虚拟路由器IP地址为缺省路由器的服务器将不会觉察主路由器的切换而继续进行正常通信。
利用RouterOS的VRRP设置如下:
下面这个例子展示如何配置图中所示两个路由器之上的VRRP。路由器一定有初始配置:接口(LAN)配置为有效,主及备份路由器接口(LAN)有适当的IP地址(注意两个路由器接口中的任意一个都应该有一个IP地址),路由表被正确设置(它至少应该有一个默认路由)。SRC-NAT也应该在之前正确配置。
我们假设接口(LAN)10.10.10.0/24网络连接到局部的所有的VRRP主和备份路由器上。
我们要设置好主VRRP路由器的LAN口IP为10.10.10.1/24
及设置好备份VRRP备份路由器的LAN口IP为10.10.10.2/24
完成以上设置后,测试主或备份RouterOS的路由器的LAN口网关都可以上网。
下面我们将要配置由VRRP模拟虚拟路由器生成网关为10.10.10.3/24给客户机或三层交换机连接及上网
第一, 配置Master VRRP路由器(主路由器)
首先,我们应该在这个路由器上创建一个VRRP路由,假设这个路由器的优先级是255,因为它应该是首选的路由器
注:优先级(整数:0..255;默认:100)-当前节点的优先级(值越大表示优先级越高)255-RFC要求拥有赋值IP地址给主路由器的优先级是255
下面的interval(即是时间间隔的意思)(整数:0..255;默认:1)-VRRP每秒更新时间间隔。定义聚集的Master以何种频度发送VRRP广告数据包。即其中备份路由器超过1秒钟后收不到主路由器具广告数据包时,备份路由器将接替主路由器的工作。
[admin@MikroTik] ip vrrp> add interface=LAN priority=255
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name="vr1" interface=LAN vrid=1 priority=255 interval=1
preemption-mode=yes authentication=none password="" on-backup=""
on-master=""
[admin@MikroTik] ip vrrp>
注:LAN是你的LAN卡名称即本地网卡
红色为命令的输入
接下来,虚拟IP地址应该被添加到这个VRRP路由中
[admin@MikroTik] ip vrrp> address add address=10.10.10.3/24 \ \... virtual-router=vr1 [admin@MikroTik] ip vrrp> address print Flags: X - disabled, A - active # ADDRESS NETWORK BROADCAST VIRTUAL-ROUTER 0 10.10.10.3/24 10.10.10.0 10.10.10.255 vr1 [admin@MikroTik] ip vrrp>现在这个地址应该出现在/IP地址列表中:
[admin@MikroTik] ip address> print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK BROADCAST INTERFACE 0 10.0.0.1/24 10.0.0.0 10.0.0.255 WAN 1 10.10.10.1/24 10.10.10.0 10.10.10.255 LAN 2 D 10.10.10.3/24 10.10.10.0 10.10.10.255 LAN [admin@MikroTik] ip address>第二,配置备份 VRRP路由器
现在我们创建具有低优先级的VRRP路由(我们可以使用默认值100),这个路由器将会作为首选路由器的后备。
[admin@MikroTik] ip vrrp> add interface=LAN
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 B name="vr1" interface=local vrid=1 priority=100 interval=1
preemption-mode=yes authentication=none password="" on-backup=""
on-master=""
[admin@MikroTik] ip vrrp>
现在我们应该添加这个虚拟地址,就像添加到master节点一样:
[admin@MikroTik] ip vrrp> address add address=10.10.10.3/24 \
\... virtual-router=vr1
[admin@MikroTik] ip vrrp> address print
Flags: X - disabled, A - active
# ADDRESS NETWORK BROADCAST VIRTUAL-ROUTER
0 10.10.10.3/24 10.10.10.0 10.10.10.255 vr1
[admin@MikroTik] ip vrrp>
注意,这个地址将不会出现在/ip地址列表中:
[admin@MikroTik] ip address> print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK BROADCAST INTERFACE 0 10.0.0.100/24 10.0.0.0 10.0.0.255 WAN 1 10.10.10.2/24 10.10.10.0 10.10.10.255 LAN [admin@MikroTik] ip address>第三,测试我们配置后的成果
现在,我们将断开master(主)路由(我们测试时可以断开LAN口的网线来测试),这时其中一个备份路由将切换成master状态,即内网会经过备份路由器来上网,当主VRRP路由器恢复后,备份路由器的工作将恢复后主路由器来接替:
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name="vr1" interface=LAN vrid=1 priority=100 interval=1
preemption-mode=yes authentication=none password="" on-backup=""
on-master=""
[admin@MikroTik] ip vrrp> /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.0.0.100/24 10.0.0.0 10.0.0.255 WAN
1 10.10.10.2/24 10.10.10.0 10.10.10.255 LAN
2 D 10.10.10.3/24 10.10.10.0 10.10.10.255 LAN
[admin@MikroTik] ip vrrp>