GNU/Linux >> LINUX-Kenntnisse >  >> Linux

IP-Routing:Linux-Routen-Flags (U – Up, G – Gateway, H – Host)

Im vorherigen Artikel dieser Serie haben wir die Grundprinzipien des IP-Routing und die Schritte zum IP-Routing besprochen.

In diesem Artikel werden wir uns einige der anderen Aspekte im Zusammenhang mit IP-Routing etwas genauer ansehen.

Linux-IP-Routing-Reihe:Teil 1, Teil 2, Teil 3 (dieser Artikel).

Beginnen wir die Diskussion mit der Erläuterung der Flags in den Routing-Tabelleneinträgen.

Die Flaggen

Es folgt die Liste der Flags und ihrer Bedeutung in der Routing-Tabelle:

  • U :Dieses Flag zeigt an, dass die Route oben ist
  • G:Dieses Flag zeigt an, dass die Route zu einem Gateway führt. Wenn dieses Flag nicht vorhanden ist, können wir sagen, dass die Route zu einem direkt verbundenen Ziel führt
  • H :Dieses Flag zeigt an, dass die Route zu einem Host führt, was bedeutet, dass das Ziel eine vollständige Hostadresse ist. Wenn dieses Flag nicht vorhanden ist, kann davon ausgegangen werden, dass die Route zu einem Netzwerk führt und das Ziel eine Netzwerkadresse wäre.
  • D :Dieses Flag zeigt an, dass diese Route durch eine Umleitung erstellt wurde.
  • M :Dieses Flag zeigt an, dass diese Route durch eine Umleitung geändert wird.

Direkter Weg, indirekter Weg und das „G“-Flag

  • Eine direkte Route ist diejenige, bei der das Ziel direkt mit dem Weiterleitungshost verbunden ist, während bei einer indirekten Route der Zielhost nicht direkt mit dem Weiterleitungshost verbunden ist.
  • Bei einer direkten Route sind die Ziel-IP-Adresse und die Link-Layer-Adresse im Datagramm die des Zielhosts, während bei einer indirekten Route die Ziel-IP im Datagramm unverändert bleibt, aber die Link-Layer-Adresse ändert sich zu der von der nächste Router, an den dieses Datagramm geliefert wird.
  • Hier kommt das „G“-Flag ins Spiel. Das „G“-Flag oben zeigt an, dass dies eine indirekte Route ist. Für eine direkte Route ist das Flag „G“ nicht gesetzt.

Die „G“-Flagge vs. die „H“-Flagge

Nun, wie wir alle wissen, kennzeichnet das „G“-Flag die Route. Die Route kann, wie oben erläutert, direkt oder indirekt sein.

Aber das „G“-Flag sollte nicht mit dem „H“-Flag verwechselt werden. Dieses Flag zeigt an, dass die Zieladresse im Eintrag eine Hostadresse oder eine Netzwerkadresse ist.

Wie bereits im vorherigen Teil dieser Artikelserie besprochen, wird bei der Suche nach der Ziel-IP-Adresse aus dem empfangenen Datagramm in der Routing-Tabelle zunächst die vollständige Adresse abgeglichen.

Wenn der vollständige Adressabgleich fehlschlägt, wird die Netzwerk-ID abgeglichen, um zu sehen, ob die Routing-Tabelle einen Eintrag für ein Netzwerk enthält, zu dem die Ziel-IP-Adresse des Datagramms gehört.

Wir sehen also, dass im Falle einer vollständigen IP-Adressenübereinstimmung der Eintrag das „H“-Flag enthalten würde, während im Falle einer Netzwerk-ID-Übereinstimmung der Eintrag das „H“-Flag nicht enthalten würde.

Routing-Tabellenkomplexität

Eine Routing-Tabelle kann sowohl ziemlich einfach als auch sehr komplex sein. Die Komplexität einer Routing-Tabelle hängt von der Topologie des Netzwerks ab, mit dem der Host kommuniziert. Lassen Sie uns einige praktische Fälle betrachten und sehen, wie sie die Routing-Tabelle eines Hosts beeinflussen.

  • Ein sehr einfacher Fall wäre der eines eigenständigen Hosts, der überhaupt nicht mit einem Netzwerk verbunden ist. In diesem Fall kann der TCP/IP-Stack weiterhin vom Host verwendet werden, jedoch nur bei der Kommunikation zu sich selbst. In diesem Fall würde die Routing-Tabelle also einen einzigen Eintrag enthalten, und das wäre die Loopback-Schnittstelle.
  • Für einen Host, der mit einem einzelnen LAN verbunden ist, würde die Routing-Tabelle ein paar Einträge enthalten. Ein Eintrag (wie bereits oben diskutiert) wäre das der Loopback-Schnittstelle, während der andere Eintrag das des LAN wäre.
  • Nehmen Sie nun an, dass der Host mit dem Internet verbunden ist. In diesem Fall enthält die Router-Tabelle (neben dem Loopback-Eintrag) einen Eintrag für den Standard-Router, über den der Host mit dem Internet verbunden ist.
  • Wenn der Host über verschiedene Schnittstellen mit verschiedenen Netzwerken verbunden ist, enthält die Routing-Tabelle einzelne Einträge für alle verschiedenen Netzwerke, mit denen der Host verbunden ist. Außerdem wird es einen Loopback-Eintrag geben und es könnte einen Default-Router-Eintrag geben.

Initialisierung der Routing-Tabelle

Bis jetzt haben wir über die Routing-Tabelleneinträge diskutiert, was sie enthalten, ihre Komplexität usw. Lassen Sie uns nun kurz über die Erstellung dieser Einträge diskutieren.

  • Wenn eine Schnittstelle initialisiert wird, wird ein Eintrag für eine direkte Route in der dieser Schnittstelle entsprechenden Routing-Tabelle erstellt.
  • Routen zu Netzwerken und Hosts, die nicht direkt verbunden sind, können über Befehle hinzugefügt werden.
  • Der Befehl „route“ wird zu diesem Zweck verwendet.
  • Zum Beispiel würde ein grundlegender Routenbefehl wie folgt aussehen:route add
  • Wenn die „Metrik“ nicht Null ist, wird das „G“-Flag gesetzt, sonst nicht.

Dieser Route-Befehl kann beim Hochfahren des Systems aus den Initialisierungsdateien ausgelöst werden. Das Problem dabei ist, dass es keine Standarddatei gibt, die für alle Betriebssysteme verwendet wird, die den Routenbefehl enthält. Unter 4.4BSD und BSD/386 ist es /etc/netstart, unter SVR4 ist es /etc/inet/rc.inet, unter Solaris 2.x ist es /etc/rc2.d/S69inet, SunOS 4.1.x verwendet /etc /rc.local und AIX 3.2.2 verwendet /etc/rc.net.

Es gibt noch ein paar andere Möglichkeiten, eine Routing-Tabelle zu initialisieren. Wie das Ausführen eines Routing-Daemons oder die Verwendung des Router-Discovery-Protokolls, aber wir werden diese in diesem Artikel nicht weiter ausführen.

HINWEIS:Sie sollten auch verstehen, wie Sie den Befehl route effektiv verwenden.

ICMP-Host oder ICMP-Netzwerk nicht erreichbar

Diese Fehler treten auf, wenn der Host oder das Netzwerk (für das das IP-Datagramm bestimmt ist) ausgefallen sind. Angenommen, Host A ist mit Host B verbunden und die Verbindung zu Host B ist unterbrochen.

Wenn in diesem Fall Host A ein IP-Datagramm für Host B empfängt, sendet Host A einen „Host nicht erreichbar“-Fehler zurück an den Host, von dem dieses IP-Datagramm stammt.

In diesem Fall wird davon ausgegangen, dass auf Host A kein Standard-Router-Eintrag vorhanden ist. Das Gleiche gilt für den Fehler „Netzwerk nicht erreichbar“.


Linux
  1. Linux Source Routing, starkes Endsystemmodell / starkes Hostmodell?

  2. Linux:Routing basierend auf Domänennamen

  3. Linux-Routing-Fehler?

  4. Das Hinzufügen einer Route zu einem bestimmten Host geht über eine bestimmte Schnittstelle aus

  5. Welche Metrik hat unter Linux eine Route ohne Metrik?

Host-Befehl unter Linux

So fügen Sie eine Route unter Linux hinzu

Nutzung eines Windows 11 Linux-Hosts als IT-Administrator

7 Beispiele für Linux-Route-Befehle (So fügen Sie eine Route unter Linux hinzu)

route-Befehlsbeispiele in Linux

Hostet den Dateiumschalter unter Linux