当前,MikroTik没有用于硬件同步和设备切换的可堆叠解决方案或协议。 具有多条电源线的解决方案并不多。 因此,如果您有一项使硬件冗余的任务,则MikroTik的选项非常少(它们将无法按需工作),其中之一就是vrrp。
您需要对VRRP表示什么
VRRP (虚拟路由器冗余协议)是一种开放标准,用于将一组路由器组合到一个虚拟路由器中以提高可用性。 维基百科说“默认网关”,但实际上它可以是任何路由器。
MikroTik支持vrrp协议的两个版本(v2和v3),在3个版本中支持IPv6,但是身份验证不起作用(至少它写在Wiki上)。
创建vrrp接口时,必须指定虚拟路由器的ID(VRID),它可以采用0-255的值。 一台真实路由器可以是多个VRRP虚拟路由器的一部分。
VRID中的每个路由器必须设置为“优先级”。 优先级最高的路由器将被选为主服务器,并成为虚拟ip(网络上其他设备将与路由器通信的地址)的持有者。
主路由器每秒一次(可以更改)将有关其活动的消息发送到多播地址224.0.0.18(IPv6:FF02:0:0 0:0:0:0:0:12)00:00:5E被指定为接收者mac: 00:01:XX(IPv6:00:00:5E:00:02:XX),其中XX是VRID的十六进制表示形式。
虚拟IP-在vrrp接口上配置的虚拟路由器的地址。
一个虚拟路由器可以具有两个以上的路由器,而该标准是开放的,并且从理论上讲,您可以使用其他供应商的设备。
还有更多评论
VRRP不负责同步配置或连接状态。 而且,MikroTik没有用于此类功能的内置工具。 您可以通过日志将更改捕获到master,创建具有更改部分的文件,使用访存将文件发送到备份,这将通过计时器检查文件并执行它们。 或使用第三方差异服务器,该服务器每天比较一次配置并将更改上载到备份,但这一切超出了vrrp的范围。
下文描述的方案的主要应用是使用由不同(独立)电源线供电的两个(或更多)路由器,并在其中一条出现问题的情况下进行无缝切换。
方案1.与两个提供商的预订

MikrotTik主站初步配置:
/interface ethernet set [ find default-name=ether1 ] name=eth1-wan set [ find default-name=ether2 ] name=eth2-vrrp /ip address add address=1.1.1.2/30 interface=eth1-wan /ip route add distance=1 gateway=1.1.1.1 /system identity set name=vrrp-master
Mikrotik Backup的初步配置:
/interface ethernet set [ find default-name=ether1 ] name=eth1-wan set [ find default-name=ether2 ] name=eth2-vrrp /ip address add address=2.2.2.2/30 interface=eth1-wan /ip route add distance=1 gateway=2.2.2.1 /system identity set name=vrrp-backup
将vrrp添加到vrrp-master:
[接口]-> [VRRP]-> [+]
名称:vrrp100(可能的话)
接口:eth2-lan
VRID:100
优先级:150
身份验证:啊
通过:testvrrp
版本:2
VRRP运行在LAN接口上,因此设置身份验证以防止破坏是很有意义的。
添加服务IP:
[IP]-> [地址]-> [+]
接口:eth2-vrrp
地址:10.10.10.1/32
在此配置中,无需使用/ 32个地址,因为 工作子网地址和vrrp服务地址不相交。 当使用来自工作子网的地址(例如,192.168.100.251-主站; 192.168.100.252-备份)时,必须使用/ 32,否则,您可能具有到lan子网的ECMP路由,并且所有工作都会非常差。
如果服务和真实地址匹配,则还有另一个功能。 不论优先级如何,在实际接口上将配置虚拟IP的路由器都被视为主路由器。
添加一个有效的IP:
VRRP术语中的虚拟IP。
[IP]-> [地址]-> [+]
接口:vrrp100-lan
地址:192.168.100.1/24

控制台选项:
/interface vrrp add authentication=ah interface=eth2-vrrp name=vrrp100-lan password=testvrrp priority=150 version=2 vrid=100 /ip address add address=10.10.10.1/32 interface=eth2-vrrp add address=192.168.100.1/24 interface=vrrp100-lan
将vrrp添加到vrrp-backup:
[接口]-> [VRRP]-> [+]
名称:vrrp100-lan
接口:eth2-vrrp
VRID:100
优先级:100(低于主级)
抢占方式:关闭
身份验证:啊
通过:testvrrp
版本:2
抢占模式-备用路由器的设置。 如果启用,当路由器出现在网络上时,它不会将控制权交还给高优先级的路由器。
添加服务IP:
[IP]-> [地址]-> [+]
接口:eth2-vrrp
地址:10.10.10.2/32
添加一个有效的IP:
[IP]-> [地址]-> [+]
接口:vrrp100-lan
地址:192.168.100.1/24

控制台选项:
/interface vrrp add authentication=ah interface=eth2-vrrp name=vrrp100-lan password=testvrrp priority=100 version=2 vrid=100 preemption-mode=no /ip address add address=10.10.10.2/32 interface=eth2-vrrp add address=192.168.100.1/24 interface=vrrp100-lan
配置后,将进行协调-路由器将交换问候,并确定优先级更高。
Vrrp主状态([R]运行中,[M]翠菊)

状态vrrp-backup([B]确认)

上面,我尝试尽可能清楚地命名接口,以便在添加防火墙规则等时不会造成混乱。vrrp100-lan接口负责本地网络。 eth2-vrrp接口负责技术性vrrp通信。 如果在LAN接口上使用vlan,则必须在vrrp接口上对其进行配置。
方案2.在两个提供者的参与下进行保留和平衡

先前的方案效果很好,但是其中一个提供程序挂在了空中,几乎从未使用过,您可以使用网络上的多个默认路由来纠正这种情况。 您可以使用dhcp或通过使用静态驱动器将各种默认路由器分发给用户。 无论如何,配置都不灵活。 但是此示例很好地展示了该路由器在多个虚拟vrrp路由器中的操作。
我们以之前的方案为基础,并添加了额外的vrrp接口。
在vrrp-master上:

控制台选项:
/interface vrrp add authentication=ah interface=eth2-vrrp name=vrrp200-lan password=testvrrp priority=100 version=2 vrid=200 preemption-mode=no /ip address add address=192.168.100.2/24 interface=vrrp200-lan
在vrrp-backup上:

控制台选项:
/interface vrrp add authentication=ah interface=eth2-vrrp name=vrrp200-lan password=testvrrp priority=150 version=2 vrid=200 /ip address add address=192.168.100.2/24 interface=vrrp200-lan
使用术语主/备份并不完全合适,因为 现在,这两个路由器同时处于不同的vrid上。
vrrp-master的结果:

vrrp-backup的结果:

方案3:一位供应商参与预订

初步的MikroTik主配置:
/interface ethernet set [ find default-name=ether1 ] name=eth1-wan set [ find default-name=ether2 ] name=eth2-vrrp /ip address add address=1.1.1.2/30 interface=eth1-wan /ip route add distance=1 gateway=1.1.1.1 /system identity set name=vrrp-master
Mikrotik Backup的初步配置:
/interface ethernet set [ find default-name=ether1 ] name=eth1-wan disabled=yes set [ find default-name=ether2 ] name=eth2-vrrp /ip address add address=1.1.1.2/30 interface=eth1-wan /ip route add distance=1 gateway=1.1.1.1 /system identity set name=vrrp-backup
重要说明:在mikrotik vrrp-backup上,默认情况下禁用eth1-wan接口。
VRRP的基本配置类似于具有两个提供程序的情况。
配置vrrp-master:
使用vrrp,一切都差不多。

但是,[System]-> [Schedulers]中会出现一个附加脚本,该脚本在加载时会禁用wan界面几秒钟。 这样可以避免冲突(如果Mac已更改为备份)或操作员开关被禁止。

控制台选项:
/interface vrrp add authentication=ah interface=eth2-vrrp name=vrrp100-lan password=testvrrp priority=150 version=2 vrid=100 /ip address add address=10.10.10.1 interface=eth2-vrrp add address=192.168.100.1/24 interface=vrrp100-lan /system scheduler add name=wan-off on-event="/interface set eth1-wan disabled=yes\r\ \n:delay 3\r\ \n/interface set eth1-wan disabled=no" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup
配置vrrp-backup:
一切都相似,但是在vrrp脚本中显示了用于切换eth1-wan状态的操作。

并且添加了sheduller,它在引导时禁用了eth1-wan(如有必要,vrrp会自行将其打开)。

控制台选项:
/interface vrrp add authentication=ah interface=eth2-vrrp name=vrrp100-lan on-backup="/interface set eth1-wan disabled=yes\r\ \n" on-master="/interface set eth1-wan disabled=no" password=testvrrp preemption-mode=no version=2 vrid=100 /ip address add address=10.10.10.2 interface=eth2-vrrp add address=192.168.100.1/24 interface=vrrp100-lan /system scheduler add name=wan-off on-event="/interface set eth1-wan disabled=yes" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup
如果提供程序限制对mac的访问,请不要忘记在备份路由器接口上进行更改。
在此方案中,我们有一个弱点-WAN接口前面的开关。 可能会与提供商达成共识,它将引导您两条线,并且它们将通过VLAN转发等连接到其网络的不同网段。 或者...放一个被动的发球台 ,但这是可怕的色情内容,并且在任何路由器的开始处都会发生一些冲突,但是它是有功能的(如果您不用手打开备用路由器上的eth1-wan)。
当然,您可以在wan接口上使用vrrp(如果设置是静态的),但是随后将无法安装其他交换机或与提供商进行协商。
方案4.在一名WISP提供商的参与下进行预订

在您看来,vrrp是一个奇怪的误解,您无法想到没有拐杖就可以在实验室外使用。 实际上,有一种方案,与前一种方案非常相似,但是建立在无线网桥上。
提供者具有ap-bridge(最好具有广泛的覆盖范围)。 在客户端,有两块板(例如,带有一个醚的SXT)在不同的桅杆(或建筑物的角落)中隔开,它们由不同的电源线供电,但可为同一子网提供Internet访问。
设置与以前的方案完全相似,只有wan接口将成为wlan1,而lan接口ether1。 可以将板配置为尽可能静态的,并且可以在板后面的其他设备上控制所有流量。 这是一个完全有效的防破坏方案,无需与提供者进行其他交互。