Hello all,
I’m just trying to set up IPv6 routing with OSPFv3 in my network using RouterOS v7.5 and I need some help. The network is composed of three routers in a hub-and-spoke topology, connected via Wireguard over the public Internet using IPv4, and internally it already runs IPv4 with OSPFv2 without any problems.
To configure the IPv6 network, I have assigned the global IPv6 addresses to each router interface, created the OPSFv3 instance in each router (in parallel to the OSPFv2 process), and added the interface templates for the relevant interfaces. For the templates I am using the interface instead of the network, as explained in the documentation. For the wireguard interfaces interconnecting the routers I select ptp network type and use the IPv6 area, whereas for the end networks on each router I select the interface (i.e., bridge), the IPv6 area, use broadcast as network type, and activate passive.
I can see the adjacencies forming between each pair of routers, the routing table being populated as expected and the network works (I can ping throughout the network), but there is something that bugs me; in the IPv6 Route List menu (or /ipv6/route/print) of each router I can see a duplicate entry for the public IPv6 address belonging to the bridge, but with different attributes, administrative distances and color. The first entry appears valid (black color), has the DAC attributes and a 0 administrative distance (directly connected), as expected. The second entry appears invalid (red color), has the DIUoH attributes and a 110 administrative distance, as shown next.
DAc xxxx:yyyy:zzzz:1::/64 bridge1 0
DIoH xxxx:yyyy:zzzz:1::/64 bridge1 110
To me it looks like the route is being re-learned through OSPF despite the fact that the interface is local and it becomes Invalid/unreachable as there is another route with lower administrative distance. Is there anything that I am missing here? The relevant part of the config is as follows:
/ipv6 address
add address=xxxx:yyyy:zzzz:1::1/64 advertise=yes interface=bridge1
/routing ospf instance
add disabled=no name=ospf-v3 originate-default=always router-id=loopback1 version=3
/routing ospf area
add disabled=no instance=ospf-v3 name=backbone-v3
/routing ospf interface-template
add area=backbone-v3 disabled=no interfaces=wireguard3 type=ptp
add area=backbone-v3 disabled=no interfaces=wireguard2 type=ptp
add area=backbone-v3 disabled=no interfaces=bridge1 type=broadcast passive
Please notice that wireguard2 and wireguard3 are the ptp interfaces that connect the routers over the public Internet. They do not have any IPv6 global address, only a link-local address.
Also take into account that the behavior repeats for every IPv6 address (attached to a router interface) that I try to distribute using OSPFv3 and it shows on the local table. On the remote routing tables the information appears correct and the network works as expected. Is this a bug? Or am I missing something?
Thanks in advance!
Best,
Pere