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

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

Im 1. Teil der IP-Routing-Serie haben wir die Grundlagen des Linux-IP-Routings gelernt.

Der Route-Befehl wird zum Anzeigen/Manipulieren der IP-Routing-Tabelle verwendet. Es wird hauptsächlich verwendet, um statische Routen zu bestimmten Hosts oder Netzwerken über eine Schnittstelle einzurichten.

In diesem Artikel werden wir sehen, wie man die Routing-Tabellen in Linux mit dem route-Befehl manipuliert.

Wir erklären zunächst anhand einiger grundlegender Beispiele für Route-Befehle, wie Routing durchgeführt wird, und erklären dann anhand einer beispielhaften Netzwerkarchitektur, wie Sie Routen in Ihrem Netzwerk einrichten.

Ich. Wie erfolgt das Routing?

1. Vorhandene Routen anzeigen

Der Befehl route zeigt standardmäßig die Details der Kernel-Routing-Tabelleneinträge an. In diesem Beispiel lautet die IP-Adresse des Systems, auf dem der Route-Befehl ausgeführt wird, 192.168.1.157

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Der obige Befehl zeigt, dass, wenn das Ziel innerhalb des Netzwerkbereichs 192.168.1.0 – 192.168.1.255 liegt, das Gateway * ist, also 0.0.0.0.

Wenn Pakete innerhalb dieses IP-Bereichs gesendet werden, wird die MAC-Adresse des Ziels über das ARP-Protokoll gefunden und das Paket wird an die MAC-Adresse gesendet.

Wenn Sie nicht wissen, was ARP ist, sollten Sie zuerst verstehen, wie das ARP-Protokoll funktioniert.

Um Pakete an Ziele zu senden, die nicht innerhalb dieses IP-Bereichs liegen, werden die Pakete an ein Standard-Gateway weitergeleitet, das über das weitere Routing für dieses Paket entscheidet. Wir werden dies in Kürze sehen.

Standardmäßig zeigt der Befehl route den Hostnamen in seiner Ausgabe an. Wir können es anfordern, die numerische IP-Adresse mit der Option -n wie unten gezeigt anzuzeigen.

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.1.10    0.0.0.0         UG    0      0        0 eth0

2. Hinzufügen eines Standard-Gateways

Wir können angeben, dass die Pakete, die nicht innerhalb des Netzwerks sind, an eine Gateway-Adresse weitergeleitet werden müssen.

Der folgende route add-Befehl setzt das Standard-Gateway auf 192.168.1.10.

$ route add default gw 192.168.1.10

Nun zeigt der route-Befehl folgende Einträge an.

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
default         gateway.co.in   0.0.0.0         UG    0      0        0 eth0

Jetzt haben wir gerade ein Standard-Gateway zu unserer Maschine hinzugefügt. Um zu überprüfen, ob es ordnungsgemäß funktioniert, pingen Sie einen externen Host (z. B. google.com) an, um ein ICMP-Paket zu senden.

$ ping www.google.com

Das Folgende ist die Ereignissequenz, die passiert, wenn der obige Ping-Befehl ausgeführt wird.

  1. Erst wird der DNS-Server abgefragt, um die IP-Adresse von google.com zu erhalten (zum Beispiel:74.125.236.34)
  2. Die Zieladresse ( 74.125.236.34 ) liegt nicht innerhalb der Netzwerkreichweite.
  3. In Layer-3 (IP-Header) wird die ZIEL-IP also als „74.125.236.34“ festgelegt.
  4. In Layer-2 wird die ZIEL-MAC-Adresse als MAC-Adresse des Standard-Gateways (MAC 192.168.1.10) ausgefüllt. Der MAC wird wie zuvor beschrieben mithilfe von ARP gefunden.
  5. Wenn das Paket gesendet wird, sendet der Netzwerk-Switch (der auf Layer-2 arbeitet) das Paket an das Standard-Gateway, da die Ziel-MAC die des Gateways ist.
  6. Sobald das Gateway das Paket empfangen hat, leitet es die Pakete basierend auf seiner Routing-Tabelle weiter.

Die obigen 2 Beispiele hätten eine gute Vorstellung davon gegeben, wie das Routing innerhalb eines Netzwerks durchgeführt wird. Jetzt werden wir andere Befehlszeilenoptionen sehen, die mit dem Befehl route verfügbar sind.

3. Informationen zum Routing-Cache des Kernels auflisten

Der Kernel verwaltet die Routing-Cache-Informationen, um die Pakete schneller zu routen. Wir können die Routing-Cache-Informationen des Kernels auflisten, indem wir das Flag -C verwenden.

$ route -Cn
Kernel IP routing cache
Source          Destination     Gateway         Flags Metric Ref    Use Iface
192.168.1.157   192.168.1.51    192.168.1.51          0      0        1 eth0
192.168.1.157   74.125.236.69   192.168.1.10          0      0        0 eth0
.
.
.

4. Routing zu einem bestimmten Host oder Netzwerk ablehnen

Manchmal möchten wir das Routing der Pakete zu einem bestimmten Host/Netzwerk ablehnen. Fügen Sie dazu den folgenden Eintrag hinzu.

$ route add -host 192.168.1.51 reject

Wie Sie unten sehen, können wir nicht auf diesen bestimmten Host zugreifen (d. h. .51-Host, den wir gerade abgelehnt haben).

$ ping 192.168.1.51
connect: Network is unreachable

Wir können jedoch immer noch auf andere Hosts im Netzwerk zugreifen (z. B. ist der .52-Host immer noch zugänglich).

$ ping 192.168.1.53
PING 192.168.1.53 (192.168.1.53) 56(84) bytes of data.
64 bytes from 192.168.1.53: icmp_seq=1 ttl=64 time=7.77 ms

Wenn Sie ein ganzes Netzwerk ( 192.168.1.1 – 192.168.1.255 ) ablehnen möchten, fügen Sie den folgenden Eintrag hinzu.

$ route add -net 192.168.1.0 netmask 255.255.255.0 reject

Jetzt können Sie auf keinen der Hosts in diesem Netzwerk zugreifen (z. B.:.51, .52, .53 usw.)

$ ping 192.168.1.51
connect: Network is unreachable

$ ping 192.168.1.52
connect: Network is unreachable

$ ping 192.168.1.53
connect: Network is unreachable

II. Eine beispielhafte Netzwerkarchitektur (um das Routing zu verstehen)

Lassen Sie uns für die restlichen Beispiele die folgende beispielhafte Netzwerkarchitektur verwenden.

Im Diagramm unten haben wir 2 einzelne Netzwerke ( 192.168.1.0 und 192.168.3.0, mit der Subnetzmaske 255.255.255.0 ).

Wir haben auch eine „GATEWAY“-Maschine mit 3 Netzwerkkarten. Die 1. Karte ist mit 192.168.1.0 verbunden, die 2. Karte ist mit 192.168.3.0 verbunden und die 3. Karte ist mit der Außenwelt verbunden.

5. Machen Sie 192.168.3.* zugänglich von 192.168.1.*

Jetzt müssen wir einen Routing-Eintrag hinzufügen, damit wir 192.168.3 pingen können. Serie IP-Adressen von 192.168.1. Serie. Der gemeinsame Punkt, den wir haben, ist die GATEWAY-Maschine.

Daher wird auf jeder Maschine im 192.168.1.*-Netzwerk ein Standard-Gateway hinzugefügt, wie unten gezeigt.

$ route add default gw 192.168.1.10

Wenn jetzt 192.168.1.1 192.168.3.1 pingt, geht es über 192.168.1.10 zum GATEWAY.

Fügen Sie in GATEWAY den folgenden Routing-Eintrag hinzu.

$ route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.10

Jetzt werden alle Pakete, die an das 192.168.3.*-Netzwerk adressiert sind, über die 192.168.3.10-Schnittstelle weitergeleitet, die dann die Pakete an die adressierte Maschine liefert.

6. Machen Sie 192.168.1.* zugänglich von 192.168.3.*

Es ist dem, was wir früher gemacht haben, sehr ähnlich.

Daher wird auf jeder Maschine im 192.168.3.*-Netzwerk ein Standard-Gateway hinzugefügt, wie unten gezeigt.

$ route add default gw 192.168.3.10

Fügen Sie in GATEWAY den folgenden Routing-Eintrag hinzu.

$ route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.10

Jetzt können 192.168.3.*-Rechner 192.168.1.*-Rechner anpingen.

7. Internetzugang zulassen ( Außenwelt )

In den beiden vorherigen Beispielen haben wir die 2 verschiedenen Netzwerke miteinander verbunden.

Jetzt müssen wir von diesen 2 verschiedenen Netzwerken aus auf das Internet zugreifen. Dafür können wir der 125.250.60.59 ein Standard-Routing (wenn keine Routing-Regel zutrifft) hinzufügen, das wie folgt mit der Außenwelt verbunden ist.

$ route add default gw 125.250.60.59

So funktioniert es:

  1. Wenn Sie nun versuchen, von einem dieser Computer (z. B. von 192.168.3.2) auf das Internet zuzugreifen (z. B. pingen Sie google.com), geschieht Folgendes.
  2. Da das Ziel (google.com) nicht innerhalb der 3.*-Serie liegt, wird es über die 3.10-Schnittstelle an GATEWAY weitergeleitet
  3. Im GATEWAY prüft es, ob das Ziel innerhalb des 1.*-Bereichs liegt. In diesem Beispiel ist dies nicht der Fall.
  4. Es prüft dann, ob das Ziel innerhalb des Bereichs 2.* liegt. In diesem Beispiel ist es nicht
  5. Schließlich nimmt es die Standardroute, um die Pakete weiterzuleiten (d. h. über die Schnittstelle 125.250.60.59, die mit der Außenwelt verbunden ist).

Linux
  1. So fügen Sie eine neue statische Route unter RHEL7 Linux hinzu

  2. sa-Befehlsbeispiele in Linux

  3. ac-Befehlsbeispiele in Linux

  4. df-Befehlsbeispiele in Linux

  5. du-Befehlsbeispiele in Linux

So fügen Sie eine statische Route unter Linux mit IP Command hinzu und löschen sie

So verwenden Sie den Grep-Befehl unter Linux + Nützliche Grep-Beispiele

Linux Route Add-Befehl mit Beispielen

So fügen Sie eine Route unter Linux hinzu

id-Befehlsbeispiele in Linux

route-Befehlsbeispiele in Linux