总结

介绍RouterOS对VRRP (Virtual Router Redundancy Protocol)协议的支持。l雷竞技

主要是在较大的局域网动态路由协议(OSPF)上但是,有许多因素可能会导致不希望使用动态路由协议。一种替代方法是使用静态路由,但是如果静态配置的第一跳失败,那么主机将无法与其他主机通信。

在IPv6网络中,主机通过接收路由器所使用的Router advertisement来了解路由器邻居发现(ND)协议。ND已经有一个内置的机制来确定不可达的路由器。然而,它可能需要38秒来检测一个不可达的路由器。改变参数使检测更快是可能的,但是这会增加ND流量的开销,特别是在主机很多的情况下。VRRP允许在3秒内检测到不可达的路由器,而不会产生额外的流量开销。

VRRP (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)提供了一种解决方案,它将多个路由器组合成一个逻辑组,称为虚拟路由器(VR)。VRRP在RouterOS中的实现基于VRRPl雷竞技v2的RFC 3768和VRRPv3的RFC 5798。

建议使用相同VRID的所有设备使用相同版本的RouterOS。l雷竞技

VRRP v3不支持按RFC认证

协议概述

VRRP的目的是与该虚拟路由器ID关联的所有VRRP路由器通信,并通过优先选举过程支持路由器冗余。

所有的消息传递都是通过IPv4或IPv6多播数据包使用协议112 (VRRP)完成的。IPv4报文的目的地址为224.0.0.18对于IPv6来说是这样的FF02:0:0:0:0:0:0:12.报文的源地址总是发送报文的接口的主IP地址。在IPv6网络中,源地址为接口的链路本地地址。

这些数据包总是以TTL=255发送,并且不由路由器转发。如果由于任何原因,路由器接收到一个TTL较低的数据包,则该数据包将被丢弃。

每个VR节点都有一个分配的MAC地址。这个MAC地址用作Master发送的所有周期性消息的源。

虚拟路由器由VRID定义,是IPv4或IPv6地址的映射集。主路由器被称为老板映射的IPv4/IPv6地址。对于IPv4和IPv6使用相同的VRID没有限制,但是,它们将是两个不同的虚拟路由器。

只有主路由器周期性发送通告报文,使流量最小化。只有当备份具有更高的优先级并且不禁止抢占时,备份才会尝试抢占主服务器。

属于同一虚拟现实的所有VRRP路由器必须配置相同的发布时间间隔。如果时间间隔不匹配,路由器将丢弃收到的通告报文。

虚拟路由器(VR)

虚拟路由器(Virtual Router)由一台Owner路由器和一台或多台属于同一网络的备份路由器组成。

VR包括:

  • 每个VRRP路由器上配置的VRID
  • 在每个路由器上使用相同的虚拟IP
  • 每个路由器上配置的所有者和备份。在一个给定的VR中,只能有一个Owner。

虚拟MAC地址

VRRP根据VRRP报文的标准MAC前缀和VRID号自动为VRRP接口分配MAC地址。前5个字节为00:00:5E:00:01,最后一个字节为VRID。例如,虚拟路由器VRID为49,则虚拟MAC地址为00:00:5E: 00:01:31

虚拟mac地址不能手工设置和编辑。

老板

虚拟现实的Owner路由器是默认的Master路由器,作为虚拟现实中所有子网的Owner。所有者路由器上的优先级必须是最高的255,并且虚拟IP与真实IP相同(拥有虚拟IP地址)。

l雷竞技RouterOS不能配置为Owner。除非将非routeros设备设置为所有者,否则纯虚拟IP配置是唯一有效的配置。l雷竞技

虚拟现实中的主路由器是为其配置的网络的物理网关。Master的选择由优先级值控制。主状态描述主路由器的行为。比如网络,R1是主路由器。当R1不再可用时,R2成为主服务器。

备份

虚拟现实中至少需要一个备份路由器。备份路由器必须配置相同的配置虚拟IP作为VR的Master。缺省情况下,备份路由器的优先级为100。当当前主路由器不再可用时,具有最高优先级的备份路由器将成为当前主路由器。每次当具有较高优先级的路由器可用时,它就切换到主路由器。有时这种行为是不必要的。重写它抢占模式应该是禁用的。

虚拟地址


与VR相关联的虚拟IP必须相同,并在所有VR节点上设置。所有的虚地址和实地址都应该来自同一个网络。

l雷竞技RouterOS不能配置为Owner。VRRP地址和真实IP地址不能相同。

如果Master of VR关联了多个IP地址,那么属于同一虚拟现实的备份路由器也必须关联同一组虚拟IP地址。如果Master上的虚拟地址不在Backup上,则说明配置错误,VRRP发布报文将被丢弃。

可以配置所有Virtual Router成员,使虚拟IP与物理IP不相同。这种虚拟地址可以称为浮动IP地址或纯虚拟IP地址。这种设置的优点是为管理员提供了灵活性。由于虚拟IP地址不是任何一台参与路由器的真实地址,因此管理员可以更改这些物理路由器或它们的地址,而无需重新配置虚拟路由器本身。

在IPv6网络中,第一个地址总是与VR相关联的链路本地地址。如果配置了多个IPv6地址,则将这些地址添加到链路本地地址之后的发布报文中。

IPv4地址转换协议

对于给定的虚拟现实主机响应ARP请求与虚拟现实分配的MAC地址。虚拟MAC地址也作为Master发送的广告报文的源MAC地址。对于非虚拟IP地址的ARP请求,地址路由器以系统MAC地址响应。备份路由器对虚拟ip的ARP请求没有响应。

IPv6 ND

您可能知道,在IPv6网络中,使用邻居发现协议来代替ARP。当路由器成为Master时,每个与该虚拟路由器关联的IPv6地址都会主动发送带有router Flag的ND邻居通告。

VRRP状态机

从图中可以看出,每个VRRP节点可以处于以下三种状态之一:

  • 初始化状态
  • 备份状态
  • 主状态

初始化状态

此状态的目的是等待Startup事件。当接收到此事件时,将采取以下操作:

  • 如果priority为255,
  • *用于IPv4发送广告报文和广播ARP请求
  • *对于IPv6,为每个与虚拟路由器关联的IPv6地址发送主动ND邻居通告,并将目标地址设置为与VR关联的link-local地址。
  • *中转至主状态;
  • 否则转到备份状态。

备份状态

当处于备份状态时,

  • 在IPv4网络中,某个节点不响应ARP请求,不转发与虚拟现实关联的IP地址的流量。
  • 在IPv6网络中,某个节点不响应ND Neighbor Solicitation报文,也不发送ND Router Advertisement报文给与vr相关的IPv6地址。

路由器的主要任务是接收通告报文并检查主节点是否可用。

在两种情况下,备用路由器将自己传输到主状态:

  • 如果广告报文的优先级为0;
  • 当“Preemption_Mode”设置为“yes”且“ADVERTISEMENT”中的“Priority”低于“local Priority”时

过渡到Master状态节点后为:

  • 在IPv4广播中免费ARP请求;
  • 在IPv6中,为每个关联的IPv6地址发送主动ND邻居通告。

在其他情况下,广告报文将被丢弃。当接收到shutdown事件时,转换到Init状态。

如果所有者路由器可用,则忽略抢占模式。

主状态

设置MASTER状态时,该节点作为VR关联的IPv4/IPv6地址的转发路由器。

在IPv4网络中,Master节点响应针对虚拟现实关联的IPv4地址的ARP请求。在IPv6网络中,主节点:

  • 响应ND邻居请求报文,请求关联的IPv6地址;
  • 为关联的IPv6地址发送ND Router通告。


如果主节点收到通告报文:

  • 如果优先级为0,则立即发送广告;
  • 如果通告报文的优先级大于节点的优先级,则传输到备份状态
  • 如果通告报文的优先级等于节点的优先级,且发送方的主IP地址大于本地的主IP地址,则转移到备份状态
  • 在其他情况下忽略广告

当收到shutdown事件时,发送优先级为0的通告报文,传输到初始化状态。

连接跟踪同步

类似于不同的高可用性特性,RouterOl雷竞技S v7支持VRRP连接跟踪同步。

VRRP连接跟踪同步需要RouterOSl雷竞技连接跟踪正在运行。默认情况下,连接跟踪正在工作汽车模式。如果VRRP设备中没有防火墙规则,则需要手动开启连接跟踪。

/ ip /防火墙/联系/跟踪/设置启用= yes

为了同步连接跟踪表项,需要对设备进行如下配置:

/interface/vrrp/set vrrp1 sync-connection-tracking=yes

验证日志部分中的配置:

16:14:06 vrrp,info vrrp1 now MASTER, MASTER down timer 16:14:06 vrrp,info vrrp1 stop CONNTRACK 16:14:06 vrrp,info vrrp1 starting CONNTRACK MASTER

连接跟踪表项只从主设备同步到备份设备。

当两个sync-connection-trackingpreemption-mode使能,VRRP优先级高的路由器上线,连接先同步,优先级高的路由器才成为VRRP主用路由器。

如果在两个VRRP接口之间配置了多个VRRP接口,则只需要在一个VRRP接口(最好是主VRRP接口)上使能“sync-connection-tracking=yes”即可。

配置VRRP

IPv4

虚拟路由器的设置非常简单,只需要创建VRRP接口和设置虚拟路由器的IP地址。

例如,配置VRRP为ether1,配置VRRP的地址为192.168.1.1

/interface VRRP add name=vrrp1 interface=ether1 /ip address add address=192.168.1.2/24 interface=ether1 /ip address add address=192.168.1.1/32 interface=vrrp1

注意,在添加VRRP时只指定了“interface”参数。这是唯一需要手动设置的参数。其他参数如果未指定,将设置为其默认值:vrid = 1,优先级= 100身份验证=没有

如果VRRP配置的地址与其他接口的地址属于同一网段,则该接口的地址必须为/32 netmask。

VRRP正常运行前,需要在ether1上配置正确的IP地址。在这个例子中,它是192.168.1.2/24

IPV6

要使VRRP在IPv6网络中工作,必须启用几个额外的选项-需要v3支持并且协议类型应设置为IPv6:

/interface VRRP add name=vrrp1 interface=ether1 version=3 v3-protocol=ipv6

现在,在配置VRRP接口时,可以添加全局地址并使能ND发布:

/ipv6 address add address=FEC0:0:0:FFFF::1/64 advertise=yes interface=vrrp1

在IPv4的情况下,不需要额外的地址配置。IPv6使用链路本地地址在节点间通信。

参数

财产 描述
arp关闭|启用| proxy-arp | reply-only;默认值:启用 ARP解析协议模式
arp-timeout(整数;默认值:汽车)
身份验证啊|没有|简单;默认值:没有一个 VRRP发布报文的认证方式。
  • 没有一个-仅在安全性较低的网络中使用(例如局域网中有两个VRRP节点)。
  • - IP认证头。该算法提供了强大的保护,防止配置错误、重放攻击和数据包损坏/修改。当对LAN上节点的管理控制有限时推荐使用。
  • 简单的-使用明文密码。防止本地网络中路由器的意外错误配置。
group-master接口;默认值:没有一个

允许多个VRRP接口合并,使组内VRRP状态保持一致。例如,VRRP实例运行在局域网和广域网中,两者之间存在NAT转换。如果同一设备上一个VRRP实例为Master,另一个VRRP实例为Backup,则由于NAT转换失败导致整个网络出现故障。将LAN和WAN VRRP接口分组,确保两者都是VRRP Master或Backup。

在VRRP备份组中,VRRP控制流量只能由master组发送。因此,在典型的WAN+LAN组网中,建议使用LAN网络作为组主网络,使VRRP控制流量保持在内部网络中。

/interface VRRP add name= VRRP -wan interface=sfp-sfpplus1 vrid=1 priority=100 add name= VRRP -lan interface=bridge1 vrid=2 priority=100 set [find] group-master= VRRP -lan
接口字符串;默认值: 将要运行VRRP实例的接口名称
时间间隔时间[10 ms . . 4 m15];默认值:1 VRRP更新间隔,单位为秒。定义主机发送广告包的频率。
mtu整数;默认值:1500 Layer3 MTU大小。从Routel雷竞技rOS v7.7开始,VRRP接口一直使用从接口MTU
名字字符串;默认值: VRRP接口名称
备份字符串;默认值: 切换到备份状态时执行的脚本
字符串;默认值: 当节点切换到主状态时执行的脚本
on-fail字符串;默认值: 当节点故障时执行的脚本
密码字符串;默认值: 身份验证所需的密码。如果不使用身份验证,可以忽略。
preemption-mode是b|不是;默认值:是的 主节点是否总是具有优先级。当设置为“no”时,备份节点将不会被选为主节点,直到当前主节点失败,即使备份节点的优先级高于当前主节点。此设置被忽略,如果own路由器可用
优先级整数:1 . . 254;默认值:One hundred. Master选举算法中VRRP节点的优先级。数字越高,优先级越高。“255”保留给拥有VR IP的路由器,“0”保留给Master路由器,表示它正在释放责任。
远程地址IPv4;默认值:)

用于同步连接跟踪的另一台VRRP路由器的对端地址。如果不配置,系统将通过VRRP自动检测对端地址。只有当sync-connection-tracking=yes时,才会使用远端地址。显式设置远程地址有以下好处:

  • 由于不需要等待VRRP的初始消息交换来检测远端地址,因此连接同步开始得更快。
  • 加快VRRP Master的选择速度。
  • 允许通过不同的网络接口(例如,两个路由器之间的专用安全线路)发送连接跟踪数据。

同步连接跟踪使用UDP端口8275。

v3协议Ipv4 | ipv6;默认值:ipv4 VRRPv3将要使用的协议。仅当版本是3。
版本整数[2,3];默认值:3. 使用VRRP的版本号。
vrid整数:1 . . 255;默认值:1 虚拟路由器标识符。每个虚拟路由器必须有唯一的id号
sync-connection-tracking字符串;默认值:没有 同步连接跟踪条目从主设备到备份设备。VRRP连接跟踪同步需要RouterOSl雷竞技连接跟踪正在运行。
  • 没有标签