Redundante Default Routen und Lastverteilung unter Linux
Anders als viele glauben kann ein Linux “Router” nicht nur ein Default Gateway besitzen sondern mehrere. Das macht bei 2 Szenarien Sinn:
- 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.
- 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
aktivieren
Artikel als PDF exportieren. Anders als viele glauben kann ein Linux "Router" nicht nur ein Default Gateway besitzen sondern mehrere. Das macht bei 2 Szenarien Sinn:
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.
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
300Das 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
Verwandte Artikel
Dieser Beitrag wurde unter
Routing abgelegt und mit
Default Gatway,
Linux,
Routing verschlagwortet. Setze ein Lesezeichen auf den
Permalink.
Das Kernelfeature “CONFIG_IP_ROUTE_MULTIPATH” muss natürlich aktiviert sein, damit du zwei Gateways wg. Loadbalancing nutzen kannst. (ist es aber per default).
Vielleicht vermerkst du noch, dass es auch beim Loadbalancing nicht schadet “/proc/sys/net/ipv4/route/gc_timeout” auf “10″ zu setzen, damit bei einem Ausfall eines der beiden Gateways nicht 50% es Verkehrs für 5 Minuten verloren gehen.
Den Blog als persönliches Notizbuch zu führen, war wohl wirklich meine beste Idee. Meine eigenen Notizen werden werden durch die Kommentare von dritten immer besser. So habe ich schon einiges dazu gelernt. Vielen Dank für alle Kommentare!
Vielen Dank Christian. Ich ändere das gleich mal.
Pingback: Redundante Default Routen und Lastverteilung unter Linux | Costly's Blog
Hallo,
ich habe mir mal erlaubt, deinen Beitrag in meinem Blog zu kopieren
Nutze den Blog ebenfalls als Gedankenstütze und Notizbuch! Natürlich befindet sich ein Link zur Quelle im Beitrag.
mfg Stephan