Linux : Comment trouver la passerelle par défaut

Pour vérifier la passerelle par défaut sous Linux, exécutez ip -4 route show default. L'adresse après via dans la sortie est la passerelle suivante pour cette route par défaut, et l'IPv6 peut être vérifié séparément avec ip -6 route show default.

Qu'est-ce qu'une passerelle par défaut ?

Une passerelle par défaut est le prochain saut utilisé pour transférer les paquets lorsqu'il n'y a pas de route plus spécifique correspondant à la destination. Dans les réseaux domestiques ou de petite taille, il s'agit souvent d'une adresse de routeur, mais dans les serveurs, les machines virtuelles ou les environnements VPN, cela peut être un autre appareil ou une interface virtuelle. L'adresse de la passerelle et l'adresse IP de votre ordinateur sont des valeurs différentes.

Les commandes suivantes interrogent les informations de routage et ne modifient pas les paramètres réseau. Elles peuvent généralement être exécutées sans privilèges administratifs. Les adresses et noms d'interface donnés sont des exemples, et les résultats réels dans votre environnement peuvent différer.

Vérification de la route par défaut IPv4

Exécutez la commande suivante dans le terminal.

ip -4 route show default

Ce qui suit est un exemple de sortie possible.

default via 192.0.2.1 dev enp1s0 proto dhcp metric 100
  • default : Indique la route par défaut.
  • via 192.0.2.1 : L'adresse du saut suivant pour transférer les paquets.
  • dev enp1s0 : L'interface réseau utilisée pour cette route.
  • proto dhcp : Dans cet exemple, cela indique une route obtenue via DHCP. D'autres valeurs telles que des réglages manuels sont également possibles.
  • metric 100 : La valeur utilisée pour la priorité de la route. Lors de la comparaison de routes ayant les mêmes conditions, en général, la valeur la plus petite prévaut.

Il peut y avoir plusieurs routes par défaut. Dans les cas de VPN ou de multiples interfaces, vous devriez également vérifier quelle est la destination du trafic et le routage par politique. Vous pouvez consulter la signification des routes et des métriques dans le manuel ip-route.

Vérification de la route par défaut IPv6

Les routes IPv6 sont consultées séparément des routes IPv4.

ip -6 route show default

Par exemple, elles peuvent s'afficher comme suit.

default via fe80::1 dev enp1s0 proto ra metric 100

Dans cet exemple, fe80::1 est une adresse locale au lien, elle est donc interprétée avec dev enp1s0 sur la même interface. Si l'IPv6 n'est pas utilisé ou si une route par défaut n'est pas définie, il se peut qu'aucune sortie ne soit affichée. Les passerelles pour IPv4 et IPv6 n'ont pas nécessairement à être les mêmes ni à exister simultanément.

Vérifiez la route à utiliser pour une destination spécifique

Le fait qu'une route par défaut soit affichée ne signifie pas que toutes les destinations utilisent cette route. S'il existe une route plus spécifique ou un routage basé sur des politiques, la route sélectionnée peut être différente. La commande suivante vérifie la route choisie par le noyau pour une destination donnée.

ip route get 198.51.100.25

Si via apparaît dans le résultat, cela indique le saut suivant, et dev indique l'interface à utiliser. Les destinations directement connectées peuvent ne pas avoir de via. Cette vérification n'envoie pas réellement de paquets, il ne s'agit donc pas d'un test pour confirmer le succès de la connexion. Remplacez l'adresse de destination par l'adresse réelle que vous souhaitez vérifier.

Dans un environnement utilisant le routage par politique, ip route show affiche par défaut la table main, tandis que ip route get effectue une recherche de route en utilisant les règles applicables. Utilisez la commande suivante pour examiner les règles et l'ensemble de la table, et effectuez la recherche en tenant compte des conditions réelles du trafic, telles que la source si nécessaire.

ip rule show
ip route show table all

Lorsqu'il n'y a pas de sortie ou qu'un accès n'est pas possible

  • Pas de route par défaut : Vérifiez l'état de la connexion de l'interface et l'adresse avec ip addr show, et vérifiez les paramètres DHCP ou ceux du gestionnaire réseau. Dans les systèmes qui nécessitent uniquement des routes spécifiques, une configuration sans route par défaut peut être intentionnelle.
  • La route existe mais la communication échoue : Le simple fait qu'une adresse de passerelle apparaisse ne garantit pas la connectivité Internet ou vers la destination. Vérifiez les interfaces, les pare-feu, les prochains sauts et le DNS dans l'ordre.
  • Routes par défaut multiples : Vérifiez les interfaces, les métriques, les règles de politique, et les résultats de ip route get ensemble. Les VPN ou les conteneurs peuvent utiliser des routes séparées.

Envoyer ping à la passerelle peut aider à vérifier la connectivité, mais dans les réseaux où les réponses sont bloquées, l'échec ne signifie pas nécessairement un problème de connectivité. Avant de modifier les paramètres de routage d'un serveur distant, vérifiez la possibilité de déconnexion et les voies de récupération.

Vérification avec la commande route traditionnelle

Vous pouvez également utiliser route -n sur les systèmes plus anciens. Vérifiez le Gateway et le Iface de la ligne où Destination est 0.0.0.0 dans la sortie. -n affiche une adresse numérique au lieu d'un nom.

route -n

Si route n'est pas installé, essayez d'utiliser le ip route déjà fourni avant d'ajouter un nouveau package. Les outils réseau et la sortie de la distribution peuvent varier en fonction de la version.