Michele Salerno <mikysa...@gmail.com> writes: > Hi, > I am new to ML and also to using bird2. > I use bird2 with babel protocol for routing the vpn server and openwrt > router. > The openwrt routers have a mesh wifi interface. > My question is, if the wan (default gw) is down, can bird use the better > mesh as the default gw? > > If the wan is restored, can it come back as default gw?
Yes! I have a setup similar to this on one of my routers, except the opposite (the default is to use the babel-default route, wan is backup). Your setup is actually simpler: you just need to connect Bird to a separate routing table in the kernel and have that used with a lower priority than the default; then, if the wan link goes down (making the route disappear), the kernel will automatically switch over to the other route. In OpenWrt, adding such a rule is quite simple - just add something like this in /etc/config/network (see https://openwrt.org/docs/guide-user/network/routing/ip_rules - you can use any numeric value instead of '42', just make sure to pick one that's not used for anything else): config rule option priority '50000' option lookup '42' config rule6 option priority '50000' option lookup '42' Then, configure bird to use table '42' instead of the default table (add 'kernel table 42'to the 'protocol kernel' stanza), and that should be it. Note, however, that this will make *all* routes from Babel have a lower priority than the wan link, so you won't be able to reach any hosts on the mesh while the LAN is up. If you want to do the above for *only* the default route, you'll need to have two separate 'protocol kernel' instances in bird, one with 'kernel table 42' and one without, and add filters so that only the default route goes to 'table 42'. You'll need to configure another DNS server to get DNS lookup to work on the OpenWrt box itself. I just added servers to the 'lan' interface config like: option dns '1.1.1.1 8.8.8.8' And then you'll need to have a node on the mesh network that actually exports 0.0.0.0/0 over Babel, of course. -Toke