原文地址:Routeros实现双机热备份(VRRP)
作者:天海星痕
好多时候都担心ros出问题,估计不会有人希望半夜或其他什么不方便的时候被人叫去解决问题,关键是单一的路由一旦出现问题,网络瘫痪导致的损失可能不是大多数人能承受的,最好的解决方法就是双机热备,ros提供了一个非常简便且强大的协议VRRP,全称是虚拟路由冗余协议,这个协议可以最大使用255台路由设备作热备份,在当前路由出现故障时自动切换到备用路由,保证网络的通畅。
使用环境及相关问题:
- 官方教程是双线双机备份,下面给出的设置只是双机vrrp的设置。
-
外网双线的原因:
- vrrp实际上是一种内网保证策略,它提供的多路由检测都是从内网进行的,保障的也是内网服务的正常提供,并不保障外网线路的正常,鉴于外网故障依然会导致访问问题,所以使用双线是另外的一重保险。
- 如果没有双线,最少也需要两个公网ip:这点主要从可能出现的问题做的要求。单线单ip和单线单账户拨号都可能导致切换后路由无法访问网络的问题,即使用脚本也很难解决。如果不明白,这里提示下,假设下面情况,两台路由做vrrp,都接入交换机,主路由的交换机端口出现问题,造成主路由与内网失去联系,备用路由在与主路由失去联系后自动切换到主路由状态,这时的情况是:原来的路由除了不能访问内网外其他都正常,它并不知道问题出现的位置,所以他依然工作在master状态下,新的备份路由切换到master状态后,问题出现了,它们两个使用了相同的外网ip或外网帐号。当然你可能已经想到了另外的一个解决办法,不过这需要某些设备,这里就不讨论了。
VRRP设置步骤:
- 每个路由需要单独测试代理上网的设置能够正常工作。
- 假设VRRP的虚拟网关ip是192.168.1.254,所有客户机的网关应设为此ip。
-
主路由:
- /interface vrrp add name="vrrp1" interface=Lan priority=200
- /ip address add address=192.168.1.254/32 interface=vrrp1
-
副路由:
- /interface vrrp add name="vrrp1" interface=Lan priority=100
- /ip address add address=192.168.1.254/32 interface=vrrp1
-
选项释义:
- Vrrp中的interface是内网网卡的名称。
- priority是优先级,从1-255,数越大级别越高,主路由级别要高于备份路由。如果有一台路由的内网ip也是192.168.1.254,等同于虚拟ip,那么它的优先级默认就是255,也就是最高级,这台设备被称作owner。
- vrid默认是1,可以认为是vrrp组的编号。
- interval:vrrp状态更新间隔,单位秒,默认为1
- preemption-mode:这个选项如果勾选,主路由在恢复正常后会拿回控制权,否则不会。
- authentication:认证选项,联合password可以使用密码。
- version:这个比较特殊,3.30版本没有这个选项,5.6版本存在,具体不知道在哪个版本开始加上的,5.6的默认值是3,支持ipv6协议,但3.30不支持,假设3.30和5.6混合组vrrp,那么5.6的那个这个选项要选择2。
- 同一组的路由vrid、interval、preemption-mod、authentication都必须选择一样的。
- Ip设置中使用了/32,有人说是必须用,官方教程没有特别说明,/24的没有测试。