Quand vous devez diagnostiquer un problème réseau, ajouter une adresse IP ou configurer une route, la commande ip est l’outil moderne et officiel sous Linux. Elle remplace les commandes historiques ifconfig, route, arp et netstat, dépréciées depuis 2009. Avec une syntaxe cohérente OBJET + COMMANDE, ip permet de gérer tous les aspects du réseau depuis un seul outil.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Afficher et interpréter la configuration réseau (interfaces, IP, routes)
- Ajouter, modifier et supprimer des adresses IP
- Gérer les routes statiques et la passerelle par défaut
- Activer/désactiver des interfaces réseau
- Diagnostiquer les problèmes de connectivité
- Consulter le cache ARP (voisins réseau)
La commande ip dans l’écosystème réseau
Section intitulée « La commande ip dans l’écosystème réseau »ip centralise la gestion réseau, mais d’autres commandes restent utiles pour des diagnostics spécifiques :
| Commande | Spécialité | Quand l’utiliser |
|---|---|---|
ip | Configuration et état réseau | Interfaces, IP, routes, ARP |
ss | Sockets et connexions | Ports en écoute, connexions établies |
ping | Test de connectivité | Vérifier qu’un hôte répond |
mtr | Traceroute temps réel | Diagnostiquer latence et pertes |
dig | Requêtes DNS | Tester la résolution de noms |
Correspondance avec les commandes dépréciées :
| Ancienne commande | Équivalent ip |
|---|---|
ifconfig | ip addr, ip link |
ifconfig eth0 up | ip link set eth0 up |
route -n | ip route show |
route add default gw | ip route add default via |
arp -a | ip neigh show |
netstat -i | ip -s link |
Comprendre la commande ip en 2 min
Section intitulée « Comprendre la commande ip en 2 min »🧠 Modèle mental — ip : le couteau suisse réseau moderne
La commande ip suit une structure cohérente : vous choisissez un OBJET (ce que vous voulez gérer) puis une COMMANDE (ce que vous voulez faire). C'est comme parler à un administrateur : "ip, sur l'OBJET adresse, fais l'ACTION show".
Points clés
- ip remplace ifconfig, route, arp et netstat — commandes dépréciées depuis 2009
- Tout est OBJET + COMMANDE : ip addr show, ip route add, ip link set
- Les objets ont des abréviations : addr→a, link→l, route→r, neigh→n
- Les modifications sont temporaires sauf si persistées dans la config système
Règles d'or
Vocabulaire essentiel
- addr
- Objet pour gérer les adresses IP (IPv4/IPv6) des interfaces
- link
- Objet pour gérer l'état et les propriétés des interfaces (up/down, MTU, MAC)
- route
- Objet pour gérer la table de routage (routes statiques, passerelle)
- neigh
- Objet pour gérer le cache ARP/NDP (voisins réseau)
- CIDR
- Notation IP/masque comme 192.168.1.10/24 (équivalent netmask 255.255.255.0)
- scope
- Portée de l'adresse : global (routable), link (locale), host (loopback)
📚 Pour aller plus loin — 4 options avancées
- netns
- Objet pour gérer les namespaces réseau (isolation réseau conteneurs)
- vrf
- Virtual Routing and Forwarding — tables de routage séparées
- xfrm
- Framework de transformation IPsec (tunnels chiffrés)
- maddr
- Adresses multicast des interfaces
La logique de ip est simple : vous choisissez ce que vous voulez gérer (l’objet) puis ce que vous voulez faire (la commande).
Syntaxe complète
Section intitulée « Syntaxe complète »ip [OPTIONS] OBJET COMMANDE [ARGUMENTS]Les 4 objets essentiels :
| Objet | Abréviation | Ce qu’il gère |
|---|---|---|
addr | a | Adresses IP des interfaces |
link | l | État physique des interfaces (up/down, MTU) |
route | r | Table de routage |
neigh | n | Cache ARP/NDP (voisins réseau) |
Les commandes principales :
| Commande | Ce qu’elle fait |
|---|---|
show (ou s) | Afficher (par défaut si omis) |
add | Ajouter |
del | Supprimer |
set | Modifier (pour link) |
flush | Vider tout |
replace | Remplacer si existe |
Options globales utiles :
| Option | Description | Exemple |
|---|---|---|
-c | Sortie colorée | ip -c addr |
-4 / -6 | IPv4 ou IPv6 uniquement | ip -4 addr |
-o | Une ligne par enregistrement | ip -o addr |
-j | Sortie JSON | ip -j addr |
-s | Statistiques détaillées | ip -s link |
-br | Format brief (résumé) | ip -br addr |
Exemples fondamentaux
Section intitulée « Exemples fondamentaux »# Afficher toutes les adresses IPip addr showip a # Forme courte
# Afficher la table de routageip route showip r # Forme courte
# Afficher les interfaces activesip link show up
# Ajouter une adresse IPsudo ip addr add 192.168.1.100/24 dev eth0
# Activer une interfacesudo ip link set eth0 up
# Ajouter une route par défautsudo ip route add default via 192.168.1.1Gestion des adresses IP (ip addr)
Section intitulée « Gestion des adresses IP (ip addr) »L’objet addr gère les adresses IPv4 et IPv6 assignées aux interfaces.
Afficher les adresses
Section intitulée « Afficher les adresses »# Toutes les interfacesip addr show
# Une interface spécifiqueip addr show dev eth0
# Format résumé (plus lisible)ip -br addr show
# Sortie exemple :# lo UNKNOWN 127.0.0.1/8 ::1/128# eth0 UP 192.168.1.50/24 fe80::1/64Interpréter la sortie
Section intitulée « Interpréter la sortie »2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff inet 192.168.1.50/24 brd 192.168.1.255 scope global eth0 inet6 fe80::5054:ff:fe12:3456/64 scope link| Élément | Signification |
|---|---|
<UP,LOWER_UP> | Interface activée, lien physique OK |
mtu 1500 | Taille max des paquets (standard Ethernet) |
state UP | État opérationnel |
link/ether | Adresse MAC |
inet 192.168.1.50/24 | Adresse IPv4 avec masque |
scope global | Adresse routable (vs link = locale) |
inet6 ... scope link | Adresse IPv6 lien-local |
Ajouter et supprimer des adresses
Section intitulée « Ajouter et supprimer des adresses »# Ajouter une adresse (le masque CIDR est obligatoire !)sudo ip addr add 192.168.1.100/24 dev eth0
# Ajouter une adresse secondairesudo ip addr add 192.168.1.101/24 dev eth0
# Supprimer une adresse (masque obligatoire aussi)sudo ip addr del 192.168.1.100/24 dev eth0
# Supprimer TOUTES les adresses d'une interface (⚠️ danger)sudo ip addr flush dev eth0Gestion des interfaces (ip link)
Section intitulée « Gestion des interfaces (ip link) »L’objet link gère l’état physique des interfaces : activation, MTU, adresse MAC.
Afficher l’état des interfaces
Section intitulée « Afficher l’état des interfaces »# Toutes les interfacesip link show
# Seulement les interfaces UPip link show up
# Avec statistiques (paquets, erreurs)ip -s link show eth0Activer/désactiver une interface
Section intitulée « Activer/désactiver une interface »# Activersudo ip link set eth0 up
# Désactiversudo ip link set eth0 downModifier le MTU
Section intitulée « Modifier le MTU »# MTU standard : 1500# Jumbo frames : 9000 (pour réseaux hautes performances)sudo ip link set eth0 mtu 9000
# Vérifierip link show eth0 | grep mtuGestion du routage (ip route)
Section intitulée « Gestion du routage (ip route) »L’objet route gère la table de routage : comment atteindre chaque réseau.
Afficher les routes
Section intitulée « Afficher les routes »# Table de routage complèteip route show
# Sortie exemple :# default via 192.168.1.1 dev eth0# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.50
# Route vers une destination spécifique (très utile pour le diagnostic)ip route get 8.8.8.8# 8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.50Interpréter la table de routage
Section intitulée « Interpréter la table de routage »| Élément | Signification |
|---|---|
default via 192.168.1.1 | Passerelle par défaut |
192.168.1.0/24 dev eth0 | Réseau local accessible directement |
proto kernel | Route créée automatiquement par le kernel |
scope link | Destination sur le même lien physique |
src 192.168.1.50 | Adresse source utilisée pour ce réseau |
Ajouter et supprimer des routes
Section intitulée « Ajouter et supprimer des routes »# Ajouter la passerelle par défautsudo ip route add default via 192.168.1.1
# Ajouter une route vers un réseau distantsudo ip route add 10.0.0.0/8 via 192.168.1.254
# Ajouter une route via une interface (sans gateway)sudo ip route add 172.16.0.0/12 dev eth1
# Supprimer une routesudo ip route del 10.0.0.0/8
# Remplacer une route existante (évite l'erreur "File exists")sudo ip route replace default via 192.168.1.1Gestion des voisins ARP (ip neigh)
Section intitulée « Gestion des voisins ARP (ip neigh) »L’objet neigh gère le cache ARP (IPv4) et NDP (IPv6) : la correspondance entre adresses IP et adresses MAC.
Afficher le cache ARP
Section intitulée « Afficher le cache ARP »ip neigh show
# Sortie exemple :# 192.168.1.1 dev eth0 lladdr 00:11:22:33:44:55 REACHABLE# 192.168.1.100 dev eth0 lladdr aa:bb:cc:dd:ee:ff STALEÉtats possibles :
| État | Signification |
|---|---|
REACHABLE | Communication récente, entrée valide |
STALE | Pas de communication récente, peut être obsolète |
DELAY | En attente de confirmation |
PROBE | Envoi de requêtes ARP |
FAILED | Résolution échouée |
PERMANENT | Entrée statique |
Manipuler le cache
Section intitulée « Manipuler le cache »# Ajouter une entrée statiquesudo ip neigh add 192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev eth0
# Supprimer une entréesudo ip neigh del 192.168.1.50 dev eth0
# Vider tout le cache (force la redécouverte)sudo ip neigh flush allStatistiques et diagnostic
Section intitulée « Statistiques et diagnostic »Statistiques d’interface
Section intitulée « Statistiques d’interface »# Compteurs de paquets et erreursip -s link show eth0
# Sortie (extrait) :# RX: bytes packets errors dropped overrun mcast# 1234567 8901 0 0 0 123# TX: bytes packets errors dropped carrier collsns# 7654321 4567 0 0 0 0Indicateurs à surveiller :
| Compteur | Normal | Problème si élevé |
|---|---|---|
errors | 0 | Problème physique (câble, driver) |
dropped | ~0 | Saturation, buffer trop petit |
overrun | 0 | CPU ne suit pas le débit |
carrier | 0 | Problème de lien physique |
collsns | 0 (full-duplex) | Mauvaise négociation |
Surveiller en temps réel
Section intitulée « Surveiller en temps réel »# Observer les événements réseau (nouvelles IP, changements de route...)ip monitor all
# Filtrer par typeip monitor address # Seulement les changements d'adresseip monitor route # Seulement les changements de routeip monitor link # Seulement les changements d'interfaceSortie JSON pour scripts
Section intitulée « Sortie JSON pour scripts »# Toutes les adresses en JSONip -j addr show
# Parser avec jqip -j addr show | jq '.[].ifname' # Noms d'interfacesip -j addr show | jq '.[].addr_info[].local' # Toutes les IPip -j route show | jq '.[] | select(.dst=="default")' # Route par défautLes modèles de commandes courants
Section intitulée « Les modèles de commandes courants »Ces recettes couvrent les cas d'usage les plus fréquents. Cliquez sur un pattern pour voir la formule complète et un exemple prêt à copier.
Lister toutes les interfaces Base Voir l'état de toutes les interfaces réseau
ip a
ip addr show ip a Afficher une interface spécifique Base Voir les détails d'une seule interface
ip addr show dev eth0
ip addr show dev <interface> ip addr show dev eth0 -
interface— Nom de l'interface (eth0, ens33, enp0s3...)
Lister uniquement les interfaces UP Base Filtrer les interfaces actives
ip link show up
ip link show up ip link show up Afficher les adresses IPv4 uniquement Base Exclure les adresses IPv6 de l'affichage
ip -4 a
ip -4 addr show ip -4 a Ajouter une adresse IP Base Attribuer une adresse IP à une interface
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip addr add <ip>/<cidr> dev <interface> sudo ip addr add 192.168.1.100/24 dev eth0 -
ip— Adresse IP à attribuer -
cidr— Masque en notation CIDR (24 = 255.255.255.0) -
interface— Interface cible
Supprimer une adresse IP Base Retirer une adresse IP d'une interface
sudo ip addr del 192.168.1.100/24 dev eth0
sudo ip addr del <ip>/<cidr> dev <interface> sudo ip addr del 192.168.1.100/24 dev eth0 -
ip/cidr— Adresse exacte avec son masque -
interface— Interface concernée
Vider toutes les adresses d'une interface Inter. Supprimer toutes les IP d'un coup
sudo ip addr flush dev eth0
sudo ip addr flush dev <interface> sudo ip addr flush dev eth0 -
interface— Interface à vider
Activer une interface Base Passer une interface en état UP
sudo ip link set eth0 up
sudo ip link set <interface> up sudo ip link set eth0 up -
interface— Interface à activer
Désactiver une interface Base Passer une interface en état DOWN
sudo ip link set eth0 down
sudo ip link set <interface> down sudo ip link set eth0 down -
interface— Interface à désactiver
Changer le MTU Inter. Modifier la taille maximale des paquets
sudo ip link set eth0 mtu 9000
sudo ip link set <interface> mtu <taille> sudo ip link set eth0 mtu 9000 -
interface— Interface cible -
taille— MTU en octets (1500 par défaut, 9000 pour jumbo frames)
Afficher la table de routage Base Voir toutes les routes configurées
ip r
ip route show ip r Voir la route vers une destination Base Déterminer par où passent les paquets vers une IP
ip route get 8.8.8.8
ip route get <destination> ip route get 8.8.8.8 -
destination— IP ou réseau de destination
Ajouter une route statique Inter. Créer une route vers un réseau distant
sudo ip route add 10.0.0.0/8 via 192.168.1.1
sudo ip route add <réseau>/<cidr> via <passerelle> sudo ip route add 10.0.0.0/8 via 192.168.1.1 -
réseau/cidr— Réseau de destination -
passerelle— IP du routeur vers ce réseau
Définir la passerelle par défaut Base Configurer la route par défaut (gateway)
sudo ip route add default via 192.168.1.1
sudo ip route add default via <passerelle> sudo ip route add default via 192.168.1.1 -
passerelle— IP du routeur par défaut
Supprimer une route Inter. Retirer une route de la table
sudo ip route del 10.0.0.0/8
sudo ip route del <réseau>/<cidr> sudo ip route del 10.0.0.0/8 -
réseau/cidr— Route à supprimer
Afficher le cache ARP Base Voir les correspondances IP ↔ MAC connues
ip n
ip neigh show ip n Ajouter une entrée ARP statique Avancé Forcer une association IP ↔ MAC
sudo ip neigh add 192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev eth0
sudo ip neigh add <ip> lladdr <mac> dev <interface> sudo ip neigh add 192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev eth0 -
ip— Adresse IP du voisin -
mac— Adresse MAC (format aa:bb:cc:dd:ee:ff) -
interface— Interface réseau
Vider le cache ARP Inter. Forcer la redécouverte des voisins
sudo ip neigh flush all
sudo ip neigh flush all sudo ip neigh flush all Statistiques d'interface Base Voir les compteurs de paquets et erreurs
ip -s link show eth0
ip -s link show <interface> ip -s link show eth0 -
interface— Interface à analyser
Sortie JSON pour scripts Inter. Obtenir les données en format parsable
ip -j addr show | jq '.[].ifname'
ip -j addr show ip -j addr show | jq '.[].ifname' Aucune recette ne correspond à votre recherche.
Les pièges à éviter
Section intitulée « Les pièges à éviter »Ces erreurs courantes peuvent faire perdre du temps ou causer des dégâts. Les pièges les plus critiques sont affichés en premier.
Couper sa propre connexion SSH sudo ip link set eth0 down (sur la connexion SSH en cours)
Danger
sudo ip link set eth0 down (sur la connexion SSH en cours)
ip route get <votre_ip> # Pour vérifier l'interface utilisée Flush sur la mauvaise interface sudo ip addr flush dev eth0
Danger
sudo ip addr flush dev eth0
Oublier le masque CIDR sudo ip addr add 192.168.1.100 dev eth0
Attention
sudo ip addr add 192.168.1.100 dev eth0
sudo ip addr add 192.168.1.100/24 dev eth0 Modifications non persistantes sudo ip addr add ... (puis reboot)
Attention
sudo ip addr add ... (puis reboot)
# Ubuntu: éditer /etc/netplan/*.yaml puis netplan apply Mauvais masque lors de la suppression sudo ip addr del 192.168.1.100/32 dev eth0 (alors que c'était /24)
Attention
sudo ip addr del 192.168.1.100/32 dev eth0 (alors que c'était /24)
ip addr show dev eth0 # Vérifier le masque exact Confondre link et addr ip link show pour voir les adresses IP
Info
ip link show pour voir les adresses IP
ip addr show Route default déjà existante sudo ip route add default via 192.168.1.1
Info
sudo ip route add default via 192.168.1.1
sudo ip route replace default via 192.168.1.1 Utiliser ifconfig au lieu de ip ifconfig eth0 192.168.1.100
Info
ifconfig eth0 192.168.1.100
sudo ip addr add 192.168.1.100/24 dev eth0 Dépannage
Section intitulée « Dépannage »🔧 Quand ça ne marche pas
Méthodes de debug
Lister toutes les interfaces
Voir l'état de chaque interface réseau
ip -c addr show Vérifier le routage vers une IP
Voir par quelle interface et passerelle passent les paquets
ip route get 8.8.8.8 Afficher les statistiques d'erreur
Détecter les problèmes physiques (erreurs, drops)
ip -s link show eth0 Surveiller les changements en temps réel
Observer les événements réseau
ip monitor Vérifier les voisins réseau
Voir si la résolution ARP fonctionne
ip neigh show Erreurs fréquentes
RTNETLINK answers: Operation not permitted
- Commande exécutée sans sudo
- Capacités réseau restreintes (conteneur)
- Vérifier si root/sudo
- Vérifier les capabilities du conteneur
Ajouter sudo ou vérifier les permissions du conteneur
sudo ip addr show RTNETLINK answers: File exists
- Adresse IP déjà assignée
- Route déjà existante
- ip addr show dev <interface>
- ip route show
Supprimer l'existant ou utiliser replace
ip route replace default via <gateway> RTNETLINK answers: No such device
- Nom d'interface incorrect
- Interface non créée
- ip link show pour lister les interfaces existantes
Vérifier le nom exact de l'interface
ip link show RTNETLINK answers: Network is unreachable
- Pas de route vers le réseau
- Interface down
- ip route show
- ip link show <interface>
Ajouter une route ou activer l'interface
ip route get <destination> RTNETLINK answers: Invalid argument
- Syntaxe incorrecte
- Masque CIDR manquant ou invalide
- Vérifier la syntaxe de la commande
- Vérifier le format de l'IP
Corriger la syntaxe, ajouter le masque CIDR
man ip-address Cannot assign requested address
- Adresse inexistante lors de la suppression
- Mauvais masque CIDR
- ip addr show dev <interface> pour voir les adresses exactes
Utiliser l'adresse et le masque exacts
ip addr show dev eth0 Cheatsheet
Section intitulée « Cheatsheet » 📋
Cheatsheet ip
📝 Syntaxe :
ip [objet] [commande] Structure de base ip a Alias de ip addr show ip r Alias de ip route show ip l Alias de ip link show ip n Alias de ip neigh show 🚀 Commandes types :
ip a ip addr show dev eth0 ip link show up ip -4 a sudo ip addr add 192.168.1.100/24 dev eth0 ⚙️ Options
-c | Sortie colorée | ip -c addr |
-4 / -6 | IPv4 ou IPv6 uniquement | ip -4 addr |
-o | Une ligne par enregistrement | ip -o addr |
-j | Sortie JSON | ip -j addr |
-s | Statistiques détaillées | ip -s link |
-br | Format brief (résumé) | ip -br addr |
🔍 Filtres
scope global | Adresses routables | ip addr show scope global |
scope link | Adresses locales au lien | ip addr show scope link |
state UP/DOWN | État de l'interface | ip link show state UP |
Persistance de la configuration
Section intitulée « Persistance de la configuration »network: version: 2 ethernets: eth0: addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]# Appliquersudo netplan applyauto eth0iface eth0 inet static address 192.168.1.100/24 gateway 192.168.1.1 dns-nameservers 8.8.8.8# Appliquersudo systemctl restart networking# Configurer avec NetworkManagernmcli con mod "Wired connection 1" \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8" \ ipv4.method manual
# Appliquernmcli con up "Wired connection 1"Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »- Syntaxe unifiée :
ip OBJET COMMANDE— cohérent pour tout le réseau - 4 objets essentiels :
addr(IP),link(interface),route(routage),neigh(ARP) - Abréviations :
ip a=ip addr show,ip r=ip route show - Masque CIDR obligatoire :
192.168.1.100/24, jamais sans le/24 - Modifications temporaires : tout est perdu au reboot sans persistance
ip route get: le diagnostic le plus utile pour comprendre le routage- JSON avec
-j: parfait pour l’automatisation et le scripting - Remplace tout :
ifconfig,route,arp,netstat -isont obsolètes