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

Linux Route Add-Befehl mit Beispielen

Routing ist die Art und Weise, wie Computer in einem lokalen Netzwerk oder über das Internet kommunizieren. Um über ein Netzwerk zu kommunizieren, müssen Computer wissen, an welches Gateway sie Daten senden sollen. Ein Gateway könnte ein Router in Ihrem Netzwerk sein.

Der route-Befehl wird unter Linux verwendet, um die IP-Routing-Tabelle anzuzeigen und zu ändern.

In diesem Tutorial werde ich erklären, wie man den route-Befehl verwendet, um statische Routen über ein Gateway hinzuzufügen, um Datenverkehr zu senden.

1) Zeige die Routing-Tabelle

Bevor Sie die Routing-Tabelle bearbeiten, sollten Sie sich die Standardtabelle mit den vorhandenen Routen auf Ihrem Linux-Kernel ansehen.

Verwenden Sie den Routenbefehl mit dem -n Option zum Anzeigen der aktuellen Kernel-IP-Routing-Tabelle. Dieser Befehl hilft, die lokal angeschlossenen Netzwerke mit ihrer Route zu identifizieren.

Der folgende Befehl zeigt die Routing-Tabelle an:

$ route -n
Kernel IP routing table
Destination   Gateway      Genmask         Flags  Metric Ref  Use Iface
0.0.0.0       192.168.1.1  0.0.0.0         UG     600      0  0   eno1
169.254.0.0   0.0.0.0      255.255.0.0     U      1000     0  0   eno1
172.16.20.0   0.0.0.0      255.255.255.0   U      0        0  0   vmnet8
172.17.0.0    0.0.0.0      255.255.0.0     U      0        0  0   docker0
172.18.0.0    0.0.0.0      255.255.0.0     U      0        0  0   br-707c8e2f7441
192.168.1.0   0.0.0.0      255.255.255.0   U      600      0  0   eno1
192.168.161.0 0.0.0.0      255.255.255.0   U      0        0  0   vmnet1

Sie können auch netstat -nr verwenden Befehl zum Drucken von Netzwerkverbindungen, Routing-Tabellen, Schnittstellenstatistiken, Masquerade-Verbindungen und Multicast-Mitgliedschaften.

Zeigen Sie die Routing-Tabelle mit dem netstat-Befehl an:

$ netstat -nr
 Kernel IP routing table
 Destination    Gateway      Genmask        Flags  MSS  Window irtt Iface
 0.0.0.0        192.168.1.1  0.0.0.0        UG     0    0      0    eno1
 169.254.0.0    0.0.0.0      255.255.0.0    U      0    0      0    eno1
 172.16.20.0    0.0.0.0      255.255.255.0  U      0    0      0    vmnet8
 172.17.0.0     0.0.0.0      255.255.0.0    U      0    0      0    docker0
 172.18.0.0     0.0.0.0      255.255.0.0    U      0    0      0    br-707c8e2f7441
 192.168.1.0    0.0.0.0      255.255.255.0  U      0    0      0    eno1
 192.168.161.0  0.0.0.0      255.255.255.0  U      0    0      0    vmnet1

Jetzt haben wir den ip-Befehl, um Routen anzuzeigen

$ ip route show

2) Neue Route hinzufügen

Wie wir oben gesagt haben, verwenden wir zum Bearbeiten der Routing-Tabelle den route add Befehl (add ist die Option), um manuell einen statischen Pfad anzugeben, den die Pakete durch das Netzwerk verwenden werden. Es wird verwendet, um eine temporäre statische Route zuzuweisen, die sich nur ändert, wenn der Administrator die Werte der neuen Route manuell ändert.

Es gibt viele Möglichkeiten, das route add zu nutzen Befehl.

Wir sollten das Zielnetzwerk, die Subnetzmaske des Netzwerks und das zu verwendende Gateway angeben.

route add -net <network_address> gw <gateway> <interface_name>

Alternativ können Sie jetzt ip route verwenden Befehl, Syntax wie folgt:

ip route add <network_address> via <gateway> dev <interface_name>

Fügen wir beispielsweise ein neues Routennetzwerk 10.0.0.0/8 und die Gateway-IP-Adresse 192.168.1.1 hinzu:

# route add -net 10.0.0.0/8 gw 192.168.1.1 eno1

Jetzt können wir die Routing-Tabelle mit route -n anzeigen :

# route -n
Kernel IP routing table
Destination   Gateway      Genmask      Flags  Metric Ref Use Iface
0.0.0.0       192.168.1.1  0.0.0.0       UG     600    0   0   eno1
10.0.0.0      192.168.1.1  255.0.0.0     UG     0      0   0   eno1
169.254.0.0   0.0.0.0      255.255.0.0   U      1000   0   0   eno1
172.16.20.0   0.0.0.0      255.255.255.0 U      0      0   0   vmnet8
172.17.0.0    0.0.0.0      255.255.0.0   U      0      0   0   docker0
172.18.0.0    0.0.0.0      255.255.0.0    U      0      0   0   br-707c8e2f7441
192.168.1.0   0.0.0.0      255.255.255.0  U      600    0   0   eno1
192.168.161.0 0.0.0.0      255.255.255.0  U      0      0   0   vmnet1

Sie können netmask hinzufügen Option, wenn Sie einen Netzmaskenwert hinzufügen möchten. Wenn nicht angegeben, findet der Befehl route automatisch den Wert von netmask.

# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.100 eth0
Kernel IP routing table
Destination  Gateway       Genmask       Flags Metric Ref Use Iface
192.168.1.0  192.168.1.100 255.255.255.0 UG    0      0   0   eth0
192.168.1.0  *             255.255.255.0 U     0      0   0   eth0
169.254.0.0  *             255.255.0.0   U     0      0   0   eth0
10.0.0.0     192.168.1.254 255.0.0.0     UG    0      0   0   eth0
default      192.168.1.1   0.0.0.0       UG    0      0   0   eth0

Um eine Route zu einem bestimmten Host hinzuzufügen, verwenden Sie -host Möglichkeit. Wir müssen nur das zu verwendende Gateway angeben.

route add -host <host_IP_address> gw <gateway>

Lassen Sie uns beispielsweise einen bestimmten Host „10.0.0.10“ hinzufügen und dann die Routing-Tabelle anzeigen

# route add -host 10.0.0.10 gw 192.168.1.1 eno1
# route -n
 Kernel IP routing table
 Destination   Gateway      Genmask         Flags Metric Ref Use Iface
 0.0.0.0       192.168.1.1  0.0.0.0         UG    600    0   0   eno1
 10.0.0.0      192.168.1.1  255.0.0.0       UG    0      0   0   eno1
 10.0.0.10     192.168.1.1  255.255.255.255 UGH   0      0   0   eno1
 169.254.0.0   0.0.0.0      255.255.0.0     U     1000   0   0   eno1
 172.16.20.0   0.0.0.0      255.255.255.0   U     0      0   0   vmnet8
 172.17.0.0    0.0.0.0      255.255.0.0     U     0      0   0   docker0
 172.18.0.0    0.0.0.0      255.255.0.0     U     0      0   0   br-707c8e2f7441
 192.168.1.0   0.0.0.0      255.255.255.0   U     600    0   0   eno1
 192.168.161.0 0.0.0.0      255.255.255.0   U     0      0   0   vmnet1

In den obigen Beispielen hat die Flag-Spalte unterschiedliche Werte und das kann unverständlich sein.

Die möglichen Flags und ihre Definition:

U - Weg steht
H - Ziel ist ein Host
G - Gateway verwenden
R - Route für dynamisches Routing wiederherstellen
D - Dynamisch installiert durch Daemon oder Redirect
M - geändert vom Routing-Daemon oder Redirect
A - von addrconf installiert
C - Cache-Eintrag
! - Route ablehnen

3) Ablehnen und Löschen einer Route

Wir können die Routing-Tabelle manipulieren, um nicht nur statische Routen hinzuzufügen, sondern auch um eine Route, die wir früh einfügen, zu löschen oder abzulehnen.

Um ein Zielnetzwerk aus der Routing-Tabelle zu löschen, verwenden Sie route del Befehl:

route del -net <network_address> gw <gateway> <interface_name>

Zum Beispiel, um die Route zu unserem Netzwerk 10.0.0.0/8 zu löschen:

# route del -net 10.0.0.0/8 gw 192.168.1.1 eno1

Ausgabe

# route -n
 Kernel IP routing table
 Destination   Gateway     Genmask         Flags Metric Ref Use Iface
 0.0.0.0       192.168.1.1 0.0.0.0         UG    600    0   0   eno1
 10.0.0.10     192.168.1.1 255.255.255.255 UGH   0      0   0   eno1
 169.254.0.0   0.0.0.0     255.255.0.0     U     1000   0   0   eno1
 172.16.20.0   0.0.0.0     255.255.255.0   U     0      0   0   vmnet8
 172.17.0.0    0.0.0.0     255.255.0.0     U     0      0   0   docker0
 172.18.0.0    0.0.0.0     255.255.0.0     U     0      0   0   br-707c8e2f7441
 192.168.1.0   0.0.0.0     255.255.255.0   U     600    0   0   eno1
 192.168.161.0 0.0.0.0     255.255.255.0   U     0      0   0   vmnet1

Eine IP-Adresse zu bannen steht aber trotzdem auf der Routing-Tabelle. Beachten Sie, dass wir immer noch den Parameter add option verwenden, aber am Ende des Befehls müssen wir reject verwenden Möglichkeit. Wir können unser Gateway beibehalten oder nicht, aber wir erwähnen nicht die Ausgabeschnittstelle.

route  add -host <host_IP_address> reject

Im folgenden Befehl lehnen wir unseren Host „10.0.0.10“ ab:

# route add -host 10.0.0.10 reject

Routing-Tabelle nach den Änderungen anzeigen:

# route -n
 Kernel IP routing table
 Destination   Gateway     Genmask         Flags Metric Ref Use Iface
 0.0.0.0       192.168.1.1 0.0.0.0         UG    600    0   0   eno1
 10.0.0.10      -          255.255.255.255 !H    0      -   0    -
 10.0.0.10     192.168.1.1 255.255.255.255 UGH   0      0   0   eno1
 169.254.0.0   0.0.0.0     255.255.0.0     U     1000   0   0   eno1
 172.16.20.0   0.0.0.0     255.255.255.0   U     0      0   0   vmnet8
 172.17.0.0    0.0.0.0     255.255.0.0     U     0      0   0   docker0
 172.18.0.0    0.0.0.0     255.255.0.0     U     0      0   0   br-707c8e2f7441
 192.168.1.0   0.0.0.0     255.255.255.0   U     600    0   0   eno1
 192.168.161.0 0.0.0.0     255.255.255.0   U     0      0   0   vmnet1

Die mit den obigen Befehlen hinzugefügten Routen bleiben bei einem Neustart nicht bestehen, daher haben wir der Konfigurationsdatei statische Routen hinzugefügt, um sie dauerhaft zu halten.

Um persistente statische Routen für jede Linux-Distribution hinzuzufügen, können Sie die generische Datei /etc/rc.local.

verwenden

Verwenden Sie für Ubuntu und Debian die Datei „/etc/network/interfaces“ und für RHEL/CentOS „/etc/sysconfig/network-scripts/route-ethX“.

Schlussfolgerung

In diesem Tutorial haben wir gelernt, wie man statische Routen in Linux mit dem Befehl route add hinzufügt. Wir müssen beachten, dass sich die Route bei dieser Methode nicht ändert, es sei denn, Sie ändern sie. Es ist wichtig, nicht benötigte Routen zu löschen.

Related Read: How to Permanently add Static Route in Linux

Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux-Sortierungsbefehl mit Beispielen

  3. Linux Tee-Befehl mit Beispielen

  4. Linux-Kopfbefehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux-Uhrbefehl mit Beispielen

Wartebefehl in Linux mit Beispielen

Linux-IP-Befehl mit Beispielen

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

route-Befehlsbeispiele in Linux