介绍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路由器必须配置相同的发布时间间隔。如果时间间隔不匹配,路由器将丢弃收到的通告报文。
虚拟路由器(Virtual Router)由一台Owner路由器和一台或多台属于同一网络的备份路由器组成。
VR包括:
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地址,则将这些地址添加到链路本地地址之后的发布报文中。
对于给定的虚拟现实主机响应ARP请求与虚拟现实分配的MAC地址。虚拟MAC地址也作为Master发送的广告报文的源MAC地址。对于非虚拟IP地址的ARP请求,地址路由器以系统MAC地址响应。备份路由器对虚拟ip的ARP请求没有响应。
您可能知道,在IPv6网络中,使用邻居发现协议来代替ARP。当路由器成为Master时,每个与该虚拟路由器关联的IPv6地址都会主动发送带有router Flag的ND邻居通告。
从图中可以看出,每个VRRP节点可以处于以下三种状态之一:
此状态的目的是等待Startup事件。当接收到此事件时,将采取以下操作:
当处于备份状态时,
路由器的主要任务是接收通告报文并检查主节点是否可用。
在两种情况下,备用路由器将自己传输到主状态:
过渡到Master状态节点后为:
在其他情况下,广告报文将被丢弃。当接收到shutdown事件时,转换到Init状态。
如果所有者路由器可用,则忽略抢占模式。
设置MASTER状态时,该节点作为VR关联的IPv4/IPv6地址的转发路由器。
在IPv4网络中,Master节点响应针对虚拟现实关联的IPv4地址的ARP请求。在IPv6网络中,主节点:
如果主节点收到通告报文:
当收到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-tracking
和preemption-mode
使能,VRRP优先级高的路由器上线,连接先同步,优先级高的路由器才成为VRRP主用路由器。
如果在两个VRRP接口之间配置了多个VRRP接口,则只需要在一个VRRP接口(最好是主VRRP接口)上使能“sync-connection-tracking=yes”即可。
虚拟路由器的设置非常简单,只需要创建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
要使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发布报文的认证方式。
|
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时,才会使用远端地址。显式设置远程地址有以下好处:
同步连接跟踪使用UDP端口8275。 |
v3协议(Ipv4 | ipv6;默认值:ipv4) | VRRPv3将要使用的协议。仅当的版本是3。 |
版本(整数[2,3];默认值:3.) | 使用VRRP的版本号。 |
vrid(整数:1 . . 255;默认值:1) | 虚拟路由器标识符。每个虚拟路由器必须有唯一的id号 |
sync-connection-tracking(字符串;默认值:没有) | 同步连接跟踪条目从主设备到备份设备。VRRP连接跟踪同步需要RouterOSl雷竞技连接跟踪正在运行。 |