I have two sites connected at L3 by Wireguard, with allowedips
containing only the Wireguard subnet 172.30.100.0/24
.
There is also a VXLAN device vx0
attached to bridge br0
along with ens18
.
The VXLAN tunnel establishes provided I install a static route 10.X.0.0/24 dev br0
at each site. I'm now trying to make use of iBGP to provide control plane learning, but since BGP shares routes I am wondering if I am able to have it install this route to the neighbors.
A vtysh -c 'show ip route'
indicates that BGP has learned the route is...
B>* 10.X.0.0/24 [200/0] via 172.30.100.X, wg0, weight 1, 00:08:17
... which doesn't work, because that network isn't in the allowedIPs
:
ping: sendmsg: Required key not available
If I add the 10. network to the allowed IPs, traffic just routes directly via Wireguard and not VXLAN encapsulated.
I figure this is probably down to the IPs being used in the bgpd.conf (which is most likely going to be a bit of a dog's breakfast given I've scraped it together from various sources). Hoping someone can assist in me cleaning it up. Some of the lines I picked up are for setups with route reflectors which may be redundant, as I'm currently only running one BGP instance at each site. If I can still make use of peer-groups without route reflectors that'll be handy for adding additional sites (possibly need to add a listen range
?)
!
router bgp 65000
bgp router-id 172.30.100.A
no bgp default ipv4-unicast
neighbor fabric peer-group
neighbor fabric remote-as 65000
neighbor fabric capability extended-nexthop
neighbor fabric update-source 172.30.100.A
neighbor 172.30.100.B peer-group fabric
!
address-family ipv4 unicast
neighbor fabric activate
redistribute connected
nexthop-self
!
address-family l2vpn evpn
neighbor fabric activate
advertise-all-vni
nexthop-self
!
!