Redundante Default Routen und Lastverteilung unter Linux

Von | 7. Januar 2010

Anders als viele glauben kann ein Linux „Router“ nicht nur ein Default Gateway besitzen sondern mehrere. Das macht bei 2 Szenarien Sinn:

  1. Autofailover
    Definiert man 2 Default Routen etwa mit:

    route add default gw 172.16.1.1 dev eth1
    route add default gw 172.16.2.1 dev eth2
    

    So wird die zweite Default Route dann verwendet, wenn die erste einen Timeout liefert.

  2. Loadbalancing
    Das geht auch ganz einfach:

    ip route del default
    ip route add default equalize nexthop via 172.16.1.1 dev eth1 nexthop via 172.16.2.1 dev eth2 

    . Am besten trägt man das in /etc/rc.d/rc.local ein. Dann übersteht es auch einen Reboot.

Beiden Methoden ist übrigens gemein, dass der Timeout einer ausgefallenen Default Route noch angepasst werden muss. Der Default Timeout liegt bei stolzen 300 Sekunden.

cat /proc/sys/net/ipv4/route/gc_timeout
300

Das bedeutet, dass erst nach 5 Minuten die entsprechende Route deaktiviert wird. Umstellen kann man diesen Wert über sysctl. Also in /etc/sysctl.conf folgendes eintragen:

net.ipv4.route.gc_timeout = 10

und mit

sysctl -p

aktivieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.