Einfaches Router Failover mit gc_timeout für Debian

Um ausgehende Verbindungen bei Ausfall der primären Defaultroute über eine zweite Defaultroute lenken zu können (wie im folgenden abgebildet), braucht es nicht viel mehr als zwei Kommandozeilen Befehle.

1. Das externe Netzwerkinterface in der Datei /etc/network/interfaces um einen Eintrag ergänzen:

# Failover
post-up route add default gw failover metric 1	

Entscheidend hier ist die Metrik der Route. Die erste Defaultroute hat eine Metrik von 0, wird also vor der zweiten Route mit Metrik 1 bevorzugt. Fällt die erste Route aus, wird die Garbage Collection des Kernels aktiv und wählt die zweite Defaultroute.

Der zweite Befehl beeinflusst die Routingtabellen Garbage Collection des Kernels, damit der Ausfall schneller erkannt wird. Dafür wird eingestellt, den Routen Cache alle zehn Sekunden zu erneuern.

2. Öfter Routen Cache aktualisieren

# Routen Cache alle 10 Sekunden neu aufbauen
sysctl -w net.ipv4.route.gc_timeout=10
# echo "net.ipv4.route.gc_timeout=10" >> /etc/sysctl.conf um die Änderung permanent einzurichten.

Die Lösung ist nicht optimal, weil nicht festgestellt wird, ob der Router oder die Anbindung des Routers ausgefallen ist. Dafür würde sich ein Skript eignen, dass den Ausfall auch schneller erkennen könnte. Erfahrungswerte mit dieser Lösung liegen bei ungefähr 3-5 Minuten für das Failover, was im SoHo-Bereich ausreichend ist.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.