Präferenzen von Routen im „Bird“


#1

Fortsetzung der Diskussion von Admintagebuch - Dokumentation der Admintätigkeiten:

Das Rätzel wird hier gelöst: Protocol options

preference expr
Sets the preference of routes generated by this protocol. Default: protocol dependent.

Eine Route kann über verschieden Protokolle gelernt werden. Bird entscheidet anhand der Präferenz der Protokolls welche Route genutzt wird. Folgende Werte kann man finden:

DIRECT 240 /* Directly connected /
STATIC 200 /
Static route /
OSPF 150 /
OSPF intra-area, inter-area and type 1 external routes /
RIP 120 /
RIP /
BGP 100 /
BGP /
PIPE 70 /
Routes piped from other tables /
INHERITED 10 /
Routes inherited from other routing daemons */

Quelle: http://bird.mpls.in/projects/mpls-bird/wiki/Bird_cheatsheet - Zu jeder Route kann die Prefrenz geändert werden. Beispiel:

protocol static 'staticffnet' {
    table ffnet;
    import filter {
        if  net = 0.0.0.0/0  then { preference = 149; }
        accept;
    };
    export none;
    route 0.0.0.0/0 via 134.0.124.33;
};

Hier wird eine statische route angelegt. Diese wäre mit preference 200 in den Kernel importiert worden. Damit würde eine Route vom OSPF überschrieben. Da die statische Route nur Backup sein soll, wird hier die preference auf 149, geändert. Die OSPF Route (preference 150) wird so bevorzugt.


#2

Ist das der IPv4-Fallback?

Das machen wir hier in Münster denke ich nicht, zumindest ich hätte da Bedenken.

Grüße
Matthias


#3

Das (die statische Route) ist mein Tunnel in die Firma. Wir sind ISP und ich will früher oder später immer noch lokalen Exil machen. Ist aber off-toppic.


#4

Ja ziemlich cool auf jeden Fall. Hast du rausgefunden, wie man pauschal die Präferenzen für die Protokolle ändert, sodass z.B. OSPF immer niedriger ist als BGP? Das würde in unserem Fall ja Sinn machen, sodass dann OSPF zwar lokal genutzt wird, weil es eben spezifischere Routen sind und die Uplinks dann aber im wesentlichen von BGP gesetzt werden.

Wenn du lokal ausleitest, könnten wir das ja auch als Reserve für uns schalten ;). Bzw. wenn man es mit den Präferenzen richtig macht, geschieht das ganz automatisch.

Grüße
Matthias


#5

Schätze so:

protocol static 'staticffnet' {
    table ffnet;
    import filter {
        preference = 149;
        accept;
    };
    export none;
    route 0.0.0.0/0 via 134.0.124.33;
};

Eigentlich geht es dir aber nur um die über BGP gelernte default-route, oder? ich würde an der defaults nicht ändern. Nur im Einzelfall…