Probleme mit asymmetrischer Routenführung

Kategorien anzeigen

Probleme mit asymmetrischer Routenführung

4 min gelesen

Übersicht #

Dieser Artikel erklärt, wie man die Ursache erkennt und behebt. asymmetrische Routing-Probleme in einem RELIANOID Bereitstellung, wenn der Load Balancer über mehrere Netzwerkschnittstellen verfügt, die mit verschiedenen Subnetzen verbunden sind.

Diese Situation kann auftreten, wenn Frontend-Clients auf Backend-Dienste zugreifen müssen, die sich in einem anderen Subnetz befinden, während der Load Balancer Schnittstellen in beiden Netzwerken besitzt.

relianoid_asimetric_routing

Fehlerhaftes Routingverhalten kann dazu führen, dass der Antwortverkehr über eine andere Schnittstelle als die für die eingehende Anfrage verwendete ausgegeben wird, was zu asymmetrischem Routing führt.

Beschreibung des Problems #

In einigen Einsatzszenarien RELIANOID Der Load Balancer ist mit mehreren Schnittstellen konfiguriert, die mit verschiedenen Netzwerken verbunden sind.

Die folgende Konfiguration ist eine Beispielumgebung, die zu Demonstrationszwecken verwendet wird.

Interface Netzwerk Zweck
eth0 192.168.1.0/24 Verwaltung
eth1 192.168.110.0/24 Frontend
eth2 192.168.100.0/24 Anwendung / Backend

Die Backend-Server befinden sich im Subnetz 192.168.100.0/24 und werden über auf dem Load Balancer konfigurierte Serverfarmen aufgerufen.

Allerdings müssen einige Clients im Netzwerk 192.168.110.0/24 auch auf Dienste zugreifen, die im Netzwerk 192.168.100.0/24 gehostet werden.

Da der Load Balancer über eine Schnittstelle in beiden Netzwerken verfügt und die IP-Weiterleitung standardmäßig aktiviert ist, kann das System den Antwortverkehr direkt über die Frontend-Schnittstelle (eth1) leiten , anstatt ihn über das erwartete Gateway zu leiten.

Dies führt zu asymmetrischem Routing , was Verbindungsfehler oder Paketverluste zur Folge haben kann.

Beispielhafte Schnittstellenkonfiguration #

relianoid_example_interface_configuration

Was ist asymmetrisches Routing? #

Asymmetrisches Routing tritt auf, wenn der eingehende und ausgehende Datenverkehr derselben Verbindung unterschiedlichen Netzwerkpfaden folgt.

Beispielablauf #

Zielpfad: 192.168.110.11 über eth2 (Client) > 192.168.100.100 (Load Balancer) > 192.168.100.42 (Backend)

Rückpfad (falsch): 192.168.100.42 (Backend) > 192.168.100.100 (Load Balancer) > 192.168.110.11 über eth1 (Client)

Da der Rückverkehr über eine andere Schnittstelle abläuft, können zwischengeschaltete Geräte wie Firewalls oder Router die Pakete verwerfen.

Wie Routingtabellen funktionieren #

RELIANOID verwendet Routingtabellen pro Schnittstelle um zu steuern, wie der Datenverkehr zwischen Netzwerken weitergeleitet wird.

Jede Schnittstelle generiert automatisch ihre eigene Routingtabelle.

Beispielhafte Routingtabellen: table_eth1, table_eth2

Diese Routingtabellen definieren:

  • Routen, die mit der Schnittstelle verknüpft sind
  • Gateways, die zur Weiterleitung des Datenverkehrs verwendet werden
  • Schnittstellen, die den Datenverkehr weiterleiten dürfen

Innerhalb jeder Routingtabelle können Schnittstellen wie folgt konfiguriert werden:

Verwaltete Schnittstellen #

Schnittstellen, die berechtigt sind, Datenverkehr innerhalb der Routingtabelle mithilfe der IP-Weiterleitungsfunktion zu leiten.

Nicht verwaltete Schnittstellen #

Schnittstellen, die von Routing-Entscheidungen für diese Tabelle ausgeschlossen sind, und die IP-Weiterleitung wird für diese Schnittstellen nicht angewendet.

Durch die Kontrolle darüber, welche Schnittstellen verwaltet oder nicht verwaltet werden, können Administratoren Einfluss darauf nehmen, wie der Datenverkehr durch den Load Balancer fließt und Routing-Konflikte verhindern.

Beispiel einer Routingtabelle #

relianoid_example_routing_table

Lösung #

Um das Problem der asymmetrischen Weiterleitung zu lösen, muss die konfliktbehaftete Schnittstelle aus der Routing-Tabelle des Backend-Netzwerks ausgeschlossen werden.

In diesem Szenario, eth1 sollte aus der Routingtabelle entfernt werden. table_eth2, um sicherzustellen, dass der Datenverkehr über das richtige Gateway geleitet wird.

relianoid_simetric_routing

Lösung über die Web-Benutzeroberfläche #

  1. Navigieren Sie zu: Netzwerk > Routing
  2. Wählen Sie die Routingtabelle aus, die der Backend-Schnittstelle zugeordnet ist: table_eth2
  3. Scrollen Sie zum Ende der Seite.
  4. Suchen Sie den Verwaltete Schnittstellen .
  5. Verschieben Sie die Benutzeroberfläche eth1 ab Verwaltete Schnittstellen zu Nicht verwaltete Schnittstellen.

Dadurch wird verhindert, dass der Datenverkehr direkt über die Frontend-Schnittstelle geleitet wird, wenn die Backend-Routingtabelle verwendet wird.
Lösung mit Web-GUI

Lösung über die Befehlszeile #

Die gleiche Konfiguration kann auch mit folgendem angewendet werden: RELIANOID CLI.

Schritt 1: API-Zugriff aktivieren #

Navigieren Sie zu: System > Benutzereinstellungen

Aktivieren Sie den API-Zugriff und konfigurieren Sie einen API-Schlüssel. Sie können entweder einen eigenen Schlüssel definieren oder einen zufälligen generieren.

Nachdem Sie den Schlüssel erstellt haben, kopieren und speichern Sie ihn, da er beim ersten Zugriff auf die CLI mit noid-cli benötigt wird.

Schritt 2: Zugriff RELIANOID CLI #

Führen Sie in der Systemkonsole folgenden Befehl aus:

noid-cli

Geben Sie den API-Schlüssel ein, wenn Sie dazu aufgefordert werden.

Schritt 3: Schnittstelle aus der Routingtabelle entfernen #

Führen Sie den folgenden Befehl aus:

network-routing-table-unmanaged add table_eth2 -interface eth1

Dieser Befehl verhindert, dass der Datenverkehr über diese Route geleitet wird. eth1 bei Verwendung einer Routingtabelle table_eth2.

Schritt 4: Konfiguration rückgängig machen (optional) #

Bei Bedarf kann die Konfiguration mit folgendem Befehl rückgängig gemacht werden:

Netzwerk-Routingtabelle (nicht verwaltet) entfernen Tabelle_eth2 eth1

Praxisbeispiele #

  • Führen Sie Routingänderungen durch während Zeiten mit geringem Verkehrsaufkommen oder Wartungsfenster.
  • Überprüfen Sie die Konnektivität nach der Konfiguration.
  • Stellen Sie sicher, dass andere Dienste durch die Routingänderungen nicht beeinträchtigt werden.

Fazit #

Probleme mit asymmetrischem Routing können auftreten, wenn ein Load Balancer mit mehreren Netzwerken verbunden ist und der Datenverkehr über eine andere Schnittstelle zurückfließt als die, die für die eingehende Verbindung verwendet wurde.

In RELIANOIDDieses Problem kann durch Anpassen der Routingtabellenkonfigurationen und Ausschließen von in Konflikt stehenden Schnittstellen aus bestimmten Routingtabellen behoben werden.

Dadurch wird sichergestellt, dass der Datenverkehr dem richtigen Netzwerkpfad folgt und Verbindungsprobleme vermieden werden.

📄 Laden Sie dieses Dokument im PDF-Format herunter #

    EMAIL: *

    Bereitgestellt von BetterDocs