Dynamisches Routing (FRR)
Dynamisches Routing (unter Verwendung von Routing-Protokollen) wird über ein externes Plugin unterstützt. Routing-Protokolle unterstützen Ihr Netzwerk-Equipment dabei, den besten verfügbaren Pfad für Ihre Pakete zu finden. Wir verwenden Free Range Routing (FRR), um die verschiedenen verfügbaren Protokolle für dynamisches Routing zu implementieren.
Diese Routing-Protokolle werden verwendet, um:
Verbesserung der Fehlertoleranz (wenn eine Verbindung abbricht, wird nach Möglichkeit eine neue Route gefunden)
Vereinfachung der Administration (Sie müssen weniger Routen manuell hinzufügen)
In den folgenden Szenarien ist es nicht ratsam, dynamisches Routing zu verwenden:
Wenn Ihr Netzwerk klein ist (es wäre also besser, statische Routen zu verwenden)
Wenn Sie in einer stark isolierten Umgebung arbeiten, in der Sie die Kontrolle über alles haben müssen, was in Ihrem Netzwerk passiert
Zu den vom Plugin unterstützten Routing-Protokollen gehören:
RIPv1 und RIPv2
OSPFv2 und v3
BGPv4
Nicht alle Routing-Protokolle funktionieren in jedem Setup, da sie möglicherweise direkte Nachbarn sein müssen. Berücksichtigen Sie die Einschränkungen eines Routing-Protokolls, bevor Sie es verwenden.
Es wird dringend empfohlen, den Wert für kern.ipc.maxsockbuf über Tunables zu erhöhen. Gehen Sie zu System ‣ Einstellungen ‣ Tunables und prüfen Sie, ob es bereits eine Einstellung für maxsockbuf gibt, und setzen Sie sie auf 16777216, falls sie niedriger ist. Andernfalls fügen Sie eine neue mit obigem Namen und dem angegebenen Wert hinzu.
Das Deaktivieren eines laufenden Routing-Daemons kann gefährlich sein, da es zu einem unzugänglichen Rechner führen kann. Wenn Sie einen laufenden Routing-Daemon deaktivieren möchten, stellen Sie sicher, dass Sie keine Routen verlieren, die für Ihre Verbindung zu diesem Rechner erforderlich sind (z. B. bei Verwendung von SSH).
Installation
Wählen Sie zunächst im Menü Plugins:
Auf dieser Seite können Sie das FRR-Plugin installieren, indem Sie auf das Symbol (+) klicken:
Allgemeine Einrichtung
Um eines oder mehrere der enthaltenen Protokolle zu verwenden, muss man das Plugin in Routing ‣ Allgemein aktivieren. Ohne dass ein anderer Dienst aktiviert ist, stellt dies sicher, dass der Zebra-Dienst konfiguriert wird, der der koordinierende Master-Dienst ist, der generische Funktionen wie Protokollierung und Zugriff auf das Kernel-Routing verwaltet.
Standardmäßig sollte die Protokollierung aktiviert sein, die Meldungen an die lokale Protokollierung sendet und die Fernprotokollierung über syslog anbietet. Achten Sie immer darauf, eine sinnvolle Protokollierungsebene zu wählen (Standard ist Benachrichtigungen) und überprüfen Sie das Protokoll in Routing ‣ Diagnose ‣ Protokoll
Da der Schulrouter Plus derzeit keine Form des Nachladens der Konfiguration unterstützt, kann es beim Speichern der Einstellungen zu einem vorübergehenden Dienstverlust kommen. Normalerweise ist dies nur eine kleine Störung, aber in stark frequentierten Bereichen sollte dies bei der Wartung in Betracht gezogen werden.
Dynamisches Routing und hohe Verfügbarkeit
In Unternehmensnetzwerken muss oft sichergestellt werden, dass die Dienste gegen alle Arten von Ausfällen geschützt sind. Dynamisches Routing ist in diesem Fall sehr hilfreich, um einen geeigneten Pfad für die zu transportierenden Pakete bereitzustellen, aber diese Knoten selbst müssen möglicherweise robuster konfiguriert werden, um einzelne Ausfallpunkte an den Rändern Ihres Netzwerks zu verhindern.
Im Schulrouter Plus sind Hochverfügbarkeit und Failover rund um carp organisiert, so dass es auch hier eine logische Wahl ist, beide Technologien zu kombinieren.
Es werden verschiedene Strategien unterstützt, um beide Technologien zu kombinieren, von der Deaktivierung des Daemons im Karpfenmodus bis hin zu einer feinkörnigeren Steuerung der Weiterleitung von Routen, wenn sich ein Rechner im Backup-Modus befindet.
CARP-Failover-Modus
Der einfachste verfügbare Modus. Wenn ein Modus den Backup-Status erreicht, fährt er die Dienste herunter, wenn er zum Master geht, startet er sie alle.
Aufgrund der Art dieser Option kann sie nicht mit anderen verfügbaren Karpfenoptionen kombiniert werden.
OSPF: CARP degradieren
Diese Option registriert einen Statusmonitor zusätzlich zum FRR-Logging-Feed, um Änderungen im Link-Status zu erkennen. Wenn OSPF seine Nachbarn nicht finden kann, macht es diese Maschine weniger attraktiv, indem es den Herabstufungsfaktor erhöht.
Die Funktion ist inspiriert von OpenBSDs Handhabung der Karpfenabstufung in ospfd (https://man.openbsd.org/ospfd.conf.5).
Da die relevanten Nachbarschaftsverhandlungsmeldungen nur protokolliert werden, wenn die Protokollebene auf Debug konfiguriert ist, wird das Protokoll bei Verwendung dieser Funktion lauter sein. Bei Verwendung einer niedrigeren Protokollebene wird erwartet, dass der Statusmonitor keine relevanten Ereignisse abfängt.
OSPF: Beeinflussung der Schnittstellenkosten basierend auf dem CARP-Status
FRR unterstützt nativ keine Interaktion mit dem Karpfenstatus, wie es die Variante in openbsd tut (Karpfenhinweis im Schlüsselwort „depend on“ https://man.openbsd.org/ospfd.conf.5), hier kommt unsere nächste Option ins Spiel.
Über die Schnittstelleneinstellungen einer OSPF-Schnittstelle können Sie wählen, ob die Kosten für diese Schnittstelle basierend auf dem Karpfenstatus der ausgewählten virtuellen Adresse angepasst werden sollen. Gehen Sie zu Routing ‣ OSPF ‣ Schnittstelle und wählen Sie eine Schnittstelle, hier finden Sie die folgenden Optionen, die das Verhalten beeinflussen:
Abhängig von (Karpfen)
Wählen Sie eine virtuelle Adresse aus, auf die diese Schnittstelle angewiesen ist. Wenn sich dieses Ziel nicht im MASTER-Modus befindet, wird die ausgewählte Schnittstelle als demoted betrachtet.
Kosten (bei Degradierung)
Passen Sie die Kosten auf diesen Wert an, wenn Sie in den degradierten Zustand gehen, normalerweise würde man hier einen hohen Wert verwenden, um andere Routen zuerst zu bevorzugen
Kosten
Die Standardkosten, wenn angegeben, werden unter normalen Bedingungen verwendet. Wenn es leer gelassen wird, werden die FRR-Standardwerte verwendet, zu denen auch zurückgerollt wird, wenn in den Master-Modus gewechselt wird.