IPv6 link local address on WireGuard

I am trying to figure out why my OpenWrt router isn't sending OSPFv3 hellos over a wireguard interface, but the remote Vyos router is. I think it's because the Vyos router assigns link-local addresses in addition to the static addresses, openwrt does not seem to assign these link-local addresses like it does to "real" interfaces.

How do I add link-local on interfaces, even if I need to create a hotplug script?

Just create a random link local address or choose one, and use list ip6addr instead of option ip6addr to set multiple addresses on an interface.

I didn't know that link local addresses could be assigned manually/ TIL

This resolved the issue and I now can ping public IPv6 from my home network for the first time in my life. Thank you

1 Like

Just as some background info: wireguard is layer 3 and maintainer of wireguard is pretty strict against any layer 2 and multicast handling for/within wireguard.

Anyway, your are not alone with your setup and requirement. I use ospf on wireguard links too :wink:

I use BGP for my site to site tunnels, but in this one case I just wanted to get OSPF setup because was quick and dirty...I'll probably move to BGP for this situation eventually, using BFD for fast link detection.

You can f.i. use bird. Ospfv3 P2P on the wireguard link incl. Bfd to distribute your loopback address and then set up bgp on top.
Bird2 is pretty small and config is rather clean and simple. At least I prefer it heavily over frr.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.