IPv6 outbound static route via VRRP

Hi,

I’m using VRRP to provide a virtual IP for my upstream to route traffic to. That bit is working fine for IPv4, and inbound is fine for IPv6. However, with the IPv6 address assigned to the VRRP interface, RouterOS claims that there is no route when trying to use the default route. If I switch the IPv6 assignment from the VRRP interface to the underlying interface, the route is working with no issue.

Equipment used is two RB1100AHx4 running long-term v6.45.8.

Here is (what I believe) is the relevant part of the config. Two routers are set up the same, just with ff01 and ff02 used as the last part of the real IPv6 address.

/interface bridge
add name=external
/interface bridge port
add bridge=external interface=ether1
add bridge=external interface=ether2
/interface vrrp
add interface=external name=vrrpexternal v3-protocol=ipv6
/ipv6 address
add address=2a00:xxxx:yyyy:2b::ff02 advertise=no interface=external
add address=2a00:xxxx:yyyy:2b::ffff advertise=no interface=vrrpexternal
/ipv6 route
add distance=1 gateway=2a00:xxxx:yyyy:2b::1

What have I missed here?

EDIT: This affects the VRRP master only, the backup of course doesn’t have the VRRP IP assigned and is able to route out.

Looking at the IPv6 neighbour list, the gateway does not appear on the VRRP interface, only the underlying interface.

> /ping 2a00:xxxx:yyyy:2b::1%external
... echo reply
> /ping 2a00:xxxx:yyyy:2b::1%vrrpexternal
... no route to host
> /ipv6 route check ::0
     status: failed

With no IPv6 assigned on the VRRP interface:

> /ipv6 route check ::0
     status: ok
  interface: external
    nexthop: 2a00:xxxx:yyyy:2b::1

It should be the same as with IPv4, i.e. only single address on VRRP interface: 2a00:xxxx:yyyy:2b::ffff**/128**.

That fixes it… and I discover I’ve been setting up VRRP wrong all this time… (yet it mostly worked…) :open_mouth: :confused:

Although when using a /128, I can’t enable router advertising, so some of the benefit of VRRP is lost… I could add an explicit gateway to all hosts, I guess, but…

For connected hosts (downstream), you may not even need VRRP. If they don’t have static IP address as default gateway, they should get active router from RA.

MikroTik Support wrote:
For IPv4 as stated in the manual /32 should be used on vrrp interface if address on the vrrp interface is from the same subnet where vrrp protocol is running.
IPv6 is different, as it works using link local addresses, it does not matter what netmask you use on the vrrp interface.

Hello, what IPv6 address does the VRRP interface have? the :ffff? It doesn’t want to work for me, can someone help me how to solve it, a configuration example?