Commande route Linux

Linux 命令大全Référence des commandes Linux


1. Aperçu de la commande route

La commande route est un outil puissant dans les systèmes Linux pour afficher et manipuler la table de routage IP. En tant que commande de base pour la configuration réseau, elle permet aux administrateurs de :

  • Afficher les informations actuelles de la table de routage
  • Ajouter/supprimer des routes statiques
  • Modifier les règles de routage existantes
  • Gérer le chemin de transmission des paquets réseau

Syntaxe de base

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

2. Concepts de base de la table de routage

1. Qu'est-ce qu'une table de routage

La table de routage est une structure de données maintenue par le noyau du système d'exploitation qui détermine comment les paquets réseau sont transmis de l'adresse source à l'adresse de destination. On peut la comparer à :

"Un système de navigation du trafic urbain : lorsque vous voulez vous rendre à une destination, le système vous indique quelle route prendre est la plus rapide et la plus efficace"

2. Champs clés de la table de routage

Viaroute -nLors de l'affichage de la table de routage, les colonnes importantes suivantes sont affichées :

Nom de colonne Description Valeur d'exemple
Destination Réseau ou hôte de destination 192.168.1.0
Passerelle Passerelle du saut suivant 192.168.1.1
Genmask Masque réseau 255.255.255.0
Indicateurs Indicateurs de route U (route activée)
Métrique Coût de la route 0
Iface Interface sortante eth0

3. Opérations courantes de la commande route

1. Afficher la table de routage

Exemple

# Afficher la table de routage complète (sans résoudre les noms d'hôtes)
route -n

# Exemple de sortie :
Table de routage IP du noyau
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. Ajouter une route

Exemple

# Ajouter une route vers un hôte spécifique
route add -host 192.168.1.100 dev eth0

# Ajouter une route vers un réseau
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

# Ajouter une passerelle par défaut
route add default gw 192.168.1.1

3. Supprimer une route

Exemple

# Supprimer une route spécifique
route del -net 192.168.2.0 netmask 255.255.255.0

# Supprimer la passerelle par défaut
route del default gw 192.168.1.1

4. Explication détaillée des options de commande

La commande route prend en charge les options courantes suivantes :

Option Description
-n Afficher les adresses sous forme numérique (ne pas résoudre les noms d’hôtes)
-e Afficher la table de routage au format netstat
-v Afficher des informations détaillées sur l'opération
-A famille Spécifier la famille d’adresses (inet, inet6, etc.)
-F Afficher la table de routage FIB du noyau
-C Afficher le cache de routes

Paramètres de commande spéciaux :

  • add: Ajouter une route
  • del: Supprimer une route
  • -host: L’opération cible un hôte spécifique
  • -net: L’opération cible un réseau entier
  • gw: Spécifier la passerelle
  • dev: Spécifiez l'interface réseau

5. Scénarios d'application pratiques

Scénario 1 : Configuration de route multi-NIC

Lorsqu'un serveur dispose de plusieurs interfaces réseau, vous devez spécifier l'interface de sortie pour différents réseaux :

Exemple

# Faire passer le trafic destiné à 10.0.0.0/24 par l'interface eth1
route add -net 10.0.0.0 netmask 255.255.255.0 dev eth1

Scénario 2 : Paramètres de route VPN

Après vous être connecté à un VPN, vous devez ajouter des routes spécifiques :

Exemple

# Laisser uniquement un sous-réseau spécifique passer par le tunnel VPN
route add -net 172.16.0.0 netmask 255.240.0.0 dev tun0

Scénario 3 : Test de route temporaire

Exemple

# Ajouter temporairement une route à des fins de test (elle sera perdue après redémarrage)
route add -host 8.8.8.8 gw 192.168.1.254
ping 8.8.8.8  # Vérifier si la route est effective
route del -host 8.8.8.8  # Supprimer une fois le test terminé

6. Configuration persistante des routes

Les routes ajoutées via la commande route seront perdues après un redémarrage. Pour qu'elles prennent effet de façon permanente :

1. Systèmes Debian/Ubuntu

Édition/etc/network/interfaces:

Exemple

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. Systèmes RHEL/CentOS

Créer un fichier de configuration de route/etc/sysconfig/network-scripts/route-eth0:

10.0.0.0/8 via 192.168.1.2

7. Dépannage des problèmes courants

1. Étapes à vérifier lorsqu'une route n'est pas effective

2. Résolution des erreurs typiques

Erreur 1:"SIOCADDRT: Network is unreachable"

  • Cause : La passerelle ne se trouve pas dans le domaine de diffusion directe du réseau local
  • Solution : Assurez-vous d'abord que vous pouvez ping l'adresse de la passerelle

Erreur 2:"RTNETLINK answers: File exists"

  • Cause : Tentative d'ajout d'une route déjà existante
  • Solution : Supprimez d'abord l'ancienne route, puis ajoutez-la, ou utilisez lareplaceoption

8. Commande alternative : ip route

Les systèmes Linux modernes recommandent d'utiliser laip routecommande :

Exemple

# Afficher la table de routage
ip route show

# Ajouter une route
ip route add 10.0.0.0/8 via 192.168.1.2

# Supprimer une route
ip route del 10.0.0.0/8

Bien queip routeest plus puissante, mais laroutecommande reste encore largement utilisée car elle est simple et intuitive.


Grâce à ce guide, vous devriez avoir maîtrisé l'utilisation essentielle de la commande route. Il est recommandé de pratiquer davantage ces commandes dans un environnement réel et d'observer l'impact des modifications de route sur les connexions réseau. Lorsque vous rencontrez des problèmes de routage complexes, vous pouvez les combiner avectracerouteetpinget d'autres outils pour un diagnostic complet.

Linux 命令大全Référence des commandes Linux

Autres extensions