DHCPからのゲートウェイに従ってルートを変更する

DHCPからのゲートウェイに従ってルートを変更する

私はルーターで BGP を設定しました (Entware を使用)。これにより、VPN 経由でいくつかのルートを送信できます。これは機能しました。ただし、今度は 1 つのデバイスを除外する必要がありました (VPN トンネルを経由しない必要があります)。

私の鳥の設定

log syslog all;
log stderr all;

router id x.x.x.x; 

function martians()
{
    return net ~ [ 100.64.0.0/10+,
                   169.254.0.0/16+,
                   172.16.0.0/12+,
                   192.168.0.0/16+,
                   10.0.0.0/8+,
                   127.0.0.0/8+,
                   224.0.0.0/4+,
                   240.0.0.0/4+,
                   0.0.0.0/32-,
                   0.0.0.0/0{0,7}
                 ];
}

protocol device {
    scan time 15;
}

protocol kernel kernel_routes {
    scan time 60;
    import none;
    export all;
    kernel table 1000; # kernel routing table number
}

protocol static static_routes {
    import all;
    #route 192.168.2.62/32 via "eth3";
}

protocol bgp antifilter {
    import filter {
        if martians() then reject;
        gw = 1.0.0.1; # override route nexthop
        accept;
    };
    export none;
    local as 64999; # local default as-number
    neighbor y.y.y.y as 65432;
    multihop;
    hold time 240;
}

VPN接続が確立したときに作成されるテーブル1000

ip rule add iif br0 table 1000

SBR に次のコマンドを実行しようとしました:

ip rule add from 192.168.2.62 table 120
ip route add default dev eth3 table 120

しかし、結果は「ネットワークが利用できません」です。

今これを試してみた

ip rule add from 192.168.2.62 table 120
ip route add default via x.x.x.x dev eth3 table 120

そしてそれはうまくいきました。しかし、実行時ではなくキャリアからのゲートウェイがわかりません。DHCPによって来ます。DHCPからの新しい情報に従ってテーブル120のデフォルトルートを変更するにはどうすればよいでしょうか?または、Birdの設定でそれを除外するにはどうすればよいでしょうか?

答え1

mainDHCP デフォルト ルートを必要とするホストのテーブルを要求するだけです。

ip rule add pref 100 from 192.168.2.62 table main
ip rule add pref 200 iif br0 table 1000

関連情報