Linux route-Befehl

Linux 命令大全Linux-Befehlsreferenz


1. Überblick über den route-Befehl

Der route-Befehl ist ein leistungsstarkes Werkzeug in Linux-Systemen zum Anzeigen und Manipulieren der IP-Routing-Tabelle. Als grundlegender Befehl für die Netzwerkkonfiguration ermöglicht er Administratoren:

  • Aktuelle Routing-Tabelleninformationen anzeigen
  • Statische Routen hinzufügen/löschen
  • Bestehende Routing-Regeln ändern
  • Den Übertragungsweg von Netzwerkpaketen verwalten

Grundlegende Syntax

route [选项] [操作] [目标] [命令参数]

2. Grundkonzepte der Routing-Tabelle

1. Was ist eine Routing-Tabelle

Die Routing-Tabelle ist eine vom Betriebssystemkernel verwaltete Datenstruktur, die bestimmt, wie Netzwerkpakete von der Quelladresse zur Zieladresse übertragen werden. Sie kann verglichen werden mit:

"Ein städtisches Verkehrsnavigationssystem: Wenn Sie zu einem Ziel gelangen möchten, sagt Ihnen das System, welche Straße zu nehmen die schnellste und effizienteste ist"

2. Wichtige Felder der Routing-Tabelle

Überroute -nBeim Anzeigen der Routing-Tabelle werden die folgenden wichtigen Spalten angezeigt:

Spaltenname Beschreibung Beispielwert
Ziel Zielnetzwerk oder Host 192.168.1.0
Gateway Next-Hop-Gateway 192.168.1.1
Genmask Netzmaske 255.255.255.0
Flags Routen-Flags U (Route ist aktiviert)
Metrik Routen-Kosten 0
Iface Ausgehende Schnittstelle eth0

3. Häufige Operationen des route-Befehls

1. Routing-Tabelle anzeigen

Beispiel

# Vollständige Routing-Tabelle anzeigen (ohne Auflösen von Hostnamen)
route -n

# Example output:
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    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

2. Eine Route hinzufügen

Beispiel

# Eine Route zu einem bestimmten Host hinzufügen
route add -host 192.168.1.100 dev eth0

# Eine Route zu einem Netzwerk hinzufügen
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

# Standard-Gateway hinzufügen
route add default gw 192.168.1.1

3. Eine Route löschen

Beispiel

# Eine bestimmte Route löschen
route del -net 192.168.2.0 netmask 255.255.255.0

# Das Standard-Gateway löschen
route del default gw 192.168.1.1

4. Detaillierte Erklärung der Befehlsoptionen

Der Befehl route unterstützt die folgenden gängigen Optionen:

Option Beschreibung
-n Adressen in numerischer Form anzeigen (Hostnamen nicht auflösen)
-e Routing-Tabelle im netstat-Format anzeigen
-v Detaillierte Vorgangsinformationen anzeigen
-A Familie Adressfamilie angeben (inet, inet6, usw.)
-F Kernel-FIB-Routing-Tabelle anzeigen
-C Route-Cache anzeigen

Spezielle Befehlsparameter:

  • add: Route hinzufügen
  • del: Route löschen
  • -host: Operation zielt auf einen bestimmten Host ab
  • -net: Operation zielt auf ein gesamtes Netzwerk ab
  • gw: Gateway angeben
  • dev: Netzwerkschnittstelle angeben

5. Praktische Anwendungsszenarien

Szenario 1: Multi-NIC-Routenkonfiguration

Wenn ein Server über mehrere Netzwerkschnittstellen verfügt, müssen Sie für verschiedene Netzwerke den Ausgang angeben:

Beispiel

# Verkehr für 10.0.0.0/24 über die eth1-Schnittstelle leiten
route add -net 10.0.0.0 netmask 255.255.255.0 dev eth1

Szenario 2: VPN-Routeneinstellungen

Nach dem Verbinden mit einem VPN müssen Sie bestimmte Routen hinzufügen:

Beispiel

# Nur ein bestimmtes Subnetz durch den VPN-Tunnel leiten
route add -net 172.16.0.0 netmask 255.240.0.0 dev tun0

Szenario 3: Temporäre Routentests

Beispiel

# Vorübergehend eine Route zum Testen hinzufügen (geht nach dem Neustart verloren)
route add -host 8.8.8.8 gw 192.168.1.254
ping 8.8.8.8  # Testen, ob die Route wirksam ist
route del -host 8.8.8.8  # Nach Abschluss des Tests löschen

6. Persistente Routenkonfiguration

Mit dem Befehl route hinzugefügte Routen gehen nach einem Neustart verloren. Um sie dauerhaft wirksam zu machen:

1. Debian/Ubuntu-Systeme

Bearbeiten/etc/network/interfaces:

Beispiel

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.2

2. RHEL/CentOS-Systeme

Eine Routenkonfigurationsdatei erstellen/etc/sysconfig/network-scripts/route-eth0:

10.0.0.0/8 via 192.168.1.2

7. Fehlerbehebung bei häufigen Problemen

1. Schritte zur Überprüfung, wenn eine Route nicht wirksam ist

2. Typische Fehlerbehebung

Fehler 1:"SIOCADDRT: Network is unreachable"

  • Ursache: Das Gateway liegt nicht innerhalb der direkten Broadcast-Domäne des lokalen Netzwerks
  • Lösung: Stellen Sie zuerst sicher, dass Sie die Gateway-Adresse anpingen können

Fehler 2:"RTNETLINK answers: File exists"

  • Ursache: Es wird versucht, eine bereits vorhandene Route hinzuzufügen
  • Lösung: Löschen Sie zuerst die alte Route und fügen Sie sie dann hinzu, oder verwenden Sie denreplaceoption

8. Alternativer Befehl: ip

Moderne Linux-Systeme empfehlen die Verwendung vonip routecommand:

Beispiel

# Routing-Tabelle anzeigen
ip route show

# Route hinzufügen
ip route add 10.0.0.0/8 via 192.168.1.2

# Route löschen
ip route del 10.0.0.0/8

Obwohlip routeist leistungsfähiger, aber derrouteBefehl wird nach wie vor häufig verwendet, weil er einfach und intuitiv ist.


In dieser Anleitung sollten Sie die Kernnutzung des route-Befehls beherrschen. Es wird empfohlen, diese Befehle häufiger in einer realen Umgebung zu üben und die Auswirkungen von Routenänderungen auf Netzwerkverbindungen zu beobachten. Bei komplexen Routing-Problemen können Sie sie mittracerouteundpingund anderen Tools für eine umfassende Diagnose kombinieren.

Linux 命令大全Linux-Befehlsreferenz

Andere Erweiterungen