iBGP Madness
Broadcast over a non Broadcast network?
in the struggle to get OSPFv3 functional between Wireguard Endpoints I ran into a few problems Using CentOS 7 for the nodes I was seemingly unable to get the OSPF to converge. After many hours of tweaking configs I landed at a solution. Not at all helped by the fact that Wireguard did not like keeping the Link-Local Address persistent. The following is what I came up with do updated the remote node with the correct Link-Local when the tunnel comes up as part of the pre-up commands.
Replacing variables where necessary they should be easily adapted.
/etc/wireguard/updateLocal.sh
#!/bin/bash
sed -i -r -e "s/(define $1\s*=\s*).*/\1$2;/" /etc/bird/bird.conf
birdc configure
/etc/wireguard/updateUS_SFO1.sh
#!/bin/bash
localNode="CA_YYC1"
LinkLocal="$(ip addr show dn42-us-sfo1 | grep "scope link" | cut -d " " -f6 | cut -d "/" -f1);"
ssh root@dn42-us-sfo1 "/etc/wireguard/updateLocal.sh $localNode $LinkLocal"
The following excerpt was added in BIRD routing Damon as the OSPFv3 configurations on the remote node:
interface "dn42-us-sfo1" {
hello 5;
cost 100;
type nbma; #nonbroadcast Network
neighbors {
CA_YYC1 eligible; # Defined Varable that is edited by above script
};
};