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;
    };
}

Reply via email to