Hi, I have this script that configures routes for me between different
routers and servers.
I have a few routers that have down in the wan and connect with the mesh
network.
How can I dynamically change the gateway?
Example: if the wan drops, use the mesh as the gateway.
# Configure logging
log syslog all;
log "/var/log/bird.log" all;
log stderr all;
router id from "br-lan";
# Sync bird routing table with kernel
protocol kernel kernel4 {
description "Kernel protocol for IPv4";
metric 50;
ipv4 {
table master4;
export filter {
if proto = "lan" then reject;
accept;
};
import all;
};
};
protocol kernel kernel6 {
description "Kernel protocol for IPv6";
metric 300;
ipv6 {
table master6;
export filter {
if proto = "lan" then reject;
accept;
};
import all;
};
};
protocol device {
description "Device protocol";
};
protocol direct lan {
description "LAN protocol";
ipv4;
ipv6;
interface "br-lan";
check link;
}
protocol babel ninux {
description "Babel protocol for NINUX network";
ipv4 {
export where (source = RTS_DEVICE) || (source = RTS_BABEL);
};
ipv6 {
export where (source = RTS_DEVICE) || (source = RTS_BABEL);
};
interface "vpnbas" {
check link;
};
## Used to connect with other neighbours on the same layer 2 network.
## Decomment the config to use it, not this comments of course!
## Use the correct name interface, not the logical openwrt/(l)uci one.
## You can define more interfaces maches using * in regex (like "ifnet*")
## or "ifnet1", "ifnet2", "ifnetN", "otherifnetnames" form.
## You can also define more interfaces with other parameters, please refer to:
##https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.1
## After, reload the bird daemon with: /etc/init.d/bird reload
## or if you perefer, reastart with: /etc/init.d/bird restart
interface "mesh" {
type wireless; # or wired
check link;
};
}