Aller au contenu
Administration Linux medium

ip : administrer le réseau depuis la ligne de commande

34 min de lecture

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.

  • 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)

ip centralise la gestion réseau, mais d'autres commandes restent utiles pour des diagnostics spécifiques :

CommandeSpécialitéQuand l'utiliser
ipConfiguration et état réseauInterfaces, IP, routes, ARP
ssSockets et connexionsPorts en écoute, connexions établies
pingTest de connectivitéVérifier qu'un hôte répond
mtrTraceroute temps réelDiagnostiquer latence et pertes
digRequêtes DNSTester la résolution de noms

Correspondance avec les commandes dépréciées :

Ancienne commandeÉquivalent ip
ifconfigip addr, ip link
ifconfig eth0 upip link set eth0 up
route -nip route show
route add default gwip route add default via
arp -aip neigh show
netstat -iip -s link

🧠 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".

Modèle mental ip

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

1
ip addr ≠ ip link addr gère les adresses IP, link gère l'état physique de l'interface (up/down, MTU)
2
Toujours vérifier après modification ip addr show ou ip route show pour confirmer que le changement a pris effet
3
Les changements sont volatils Au reboot, tout est perdu sauf si configuré dans /etc/network/interfaces ou netplan

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).

Fenêtre de terminal
ip [OPTIONS] OBJET COMMANDE [ARGUMENTS]

Les 4 objets essentiels :

ObjetAbréviationCe qu'il gère
addraAdresses IP des interfaces
linklÉtat physique des interfaces (up/down, MTU)
routerTable de routage
neighnCache ARP/NDP (voisins réseau)

Les commandes principales :

CommandeCe qu'elle fait
show (ou s)Afficher (par défaut si omis)
addAjouter
delSupprimer
setModifier (pour link)
flushVider tout
replaceRemplacer si existe

Options globales utiles :

OptionDescriptionExemple
-cSortie coloréeip -c addr
-4 / -6IPv4 ou IPv6 uniquementip -4 addr
-oUne ligne par enregistrementip -o addr
-jSortie JSONip -j addr
-sStatistiques détailléesip -s link
-brFormat brief (résumé)ip -br addr
Fenêtre de terminal
# Afficher toutes les adresses IP
ip addr show
ip a # Forme courte
# Afficher la table de routage
ip route show
ip r # Forme courte
# Afficher les interfaces actives
ip link show up
# Ajouter une adresse IP
sudo ip addr add 192.168.1.100/24 dev eth0
# Activer une interface
sudo ip link set eth0 up
# Ajouter une route par défaut
sudo ip route add default via 192.168.1.1

L'objet addr gère les adresses IPv4 et IPv6 assignées aux interfaces.

Fenêtre de terminal
# Toutes les interfaces
ip addr show
# Une interface spécifique
ip 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/64
Fenêtre de terminal
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émentSignification
<UP,LOWER_UP>Interface activée, lien physique OK
mtu 1500Taille max des paquets (standard Ethernet)
state UPÉtat opérationnel
link/etherAdresse MAC
inet 192.168.1.50/24Adresse IPv4 avec masque
scope globalAdresse routable (vs link = locale)
inet6 ... scope linkAdresse IPv6 lien-local
Fenêtre de terminal
# Ajouter une adresse (le masque CIDR est obligatoire !)
sudo ip addr add 192.168.1.100/24 dev eth0
# Ajouter une adresse secondaire
sudo 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 eth0

L'objet link gère l'état physique des interfaces : activation, MTU, adresse MAC.

Fenêtre de terminal
# Toutes les interfaces
ip link show
# Seulement les interfaces UP
ip link show up
# Avec statistiques (paquets, erreurs)
ip -s link show eth0
Fenêtre de terminal
# Activer
sudo ip link set eth0 up
# Désactiver
sudo ip link set eth0 down
Fenêtre de terminal
# MTU standard : 1500
# Jumbo frames : 9000 (pour réseaux hautes performances)
sudo ip link set eth0 mtu 9000
# Vérifier
ip link show eth0 | grep mtu

L'objet route gère la table de routage : comment atteindre chaque réseau.

Fenêtre de terminal
# Table de routage complète
ip 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.50
ÉlémentSignification
default via 192.168.1.1Passerelle par défaut
192.168.1.0/24 dev eth0Réseau local accessible directement
proto kernelRoute créée automatiquement par le kernel
scope linkDestination sur le même lien physique
src 192.168.1.50Adresse source utilisée pour ce réseau
Fenêtre de terminal
# Ajouter la passerelle par défaut
sudo ip route add default via 192.168.1.1
# Ajouter une route vers un réseau distant
sudo 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 route
sudo 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.1

L'objet neigh gère le cache ARP (IPv4) et NDP (IPv6) : la correspondance entre adresses IP et adresses MAC.

Fenêtre de terminal
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 :

ÉtatSignification
REACHABLECommunication récente, entrée valide
STALEPas de communication récente, peut être obsolète
DELAYEn attente de confirmation
PROBEEnvoi de requêtes ARP
FAILEDRésolution échouée
PERMANENTEntrée statique
Fenêtre de terminal
# Ajouter une entrée statique
sudo ip neigh add 192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev eth0
# Supprimer une entrée
sudo ip neigh del 192.168.1.50 dev eth0
# Vider tout le cache (force la redécouverte)
sudo ip neigh flush all
Fenêtre de terminal
# Compteurs de paquets et erreurs
ip -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 0

Indicateurs à surveiller :

CompteurNormalProblème si élevé
errors0Problème physique (câble, driver)
dropped~0Saturation, buffer trop petit
overrun0CPU ne suit pas le débit
carrier0Problème de lien physique
collsns0 (full-duplex)Mauvaise négociation
Fenêtre de terminal
# Observer les événements réseau (nouvelles IP, changements de route...)
ip monitor all
# Filtrer par type
ip monitor address # Seulement les changements d'adresse
ip monitor route # Seulement les changements de route
ip monitor link # Seulement les changements d'interface
Fenêtre de terminal
# Toutes les adresses en JSON
ip -j addr show
# Parser avec jq
ip -j addr show | jq '.[].ifname' # Noms d'interfaces
ip -j addr show | jq '.[].addr_info[].local' # Toutes les IP
ip -j route show | jq '.[] | select(.dst=="default")' # Route par défaut

Voici vingt modèles ip prêts à l'emploi, regroupés par objet. Chacun donne sa formule générale et un exemple concret.

Voir l'état de toutes les interfaces réseau.

Fenêtre de terminal
ip addr show # formule
ip a # exemple (forme courte)

Voir les détails d'une seule interface.

Fenêtre de terminal
ip addr show dev <interface> # formule
ip addr show dev eth0 # exemple

Filtrer les interfaces en état UP.

Fenêtre de terminal
ip link show up # formule et exemple

Exclure les adresses IPv6 de l'affichage.

Fenêtre de terminal
ip -4 addr show # formule
ip -4 a # exemple

Attribuer une adresse à une interface.

Fenêtre de terminal
sudo ip addr add <ip>/<cidr> dev <interface> # formule
sudo ip addr add 192.168.1.100/24 dev eth0 # exemple
  • Le masque CIDR (/24) est obligatoire.

Retirer une adresse d'une interface.

Fenêtre de terminal
sudo ip addr del <ip>/<cidr> dev <interface> # formule
sudo ip addr del 192.168.1.100/24 dev eth0 # exemple

Supprimer toutes les IP en une commande.

Fenêtre de terminal
sudo ip addr flush dev <interface> # formule
sudo ip addr flush dev eth0 # exemple — à manier avec prudence

Passer une interface en état UP.

Fenêtre de terminal
sudo ip link set <interface> up # formule
sudo ip link set eth0 up # exemple

Passer une interface en état DOWN.

Fenêtre de terminal
sudo ip link set <interface> down # formule
sudo ip link set eth0 down # exemple
  • Ne jamais désactiver l'interface qui porte votre connexion SSH.

Modifier la taille maximale des paquets.

Fenêtre de terminal
sudo ip link set <interface> mtu <taille> # formule
sudo ip link set eth0 mtu 9000 # exemple (jumbo frames)

Voir toutes les routes configurées.

Fenêtre de terminal
ip route show # formule
ip r # exemple (forme courte)

Déterminer par où passent les paquets vers une IP — le diagnostic le plus utile.

Fenêtre de terminal
ip route get <destination> # formule
ip route get 8.8.8.8 # exemple

Créer une route vers un réseau distant.

Fenêtre de terminal
sudo ip route add <réseau>/<cidr> via <passerelle> # formule
sudo ip route add 10.0.0.0/8 via 192.168.1.1 # exemple

Configurer la route par défaut.

Fenêtre de terminal
sudo ip route add default via <passerelle> # formule
sudo ip route add default via 192.168.1.1 # exemple

Retirer une route de la table.

Fenêtre de terminal
sudo ip route del <réseau>/<cidr> # formule
sudo ip route del 10.0.0.0/8 # exemple

Voir les correspondances IP ↔ MAC connues.

Fenêtre de terminal
ip neigh show # formule
ip n # exemple (forme courte)

Forcer une association IP ↔ MAC.

Fenêtre de terminal
sudo ip neigh add <ip> lladdr <mac> dev <interface> # formule
sudo ip neigh add 192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev eth0 # exemple

Forcer la redécouverte des voisins réseau.

Fenêtre de terminal
sudo ip neigh flush all # formule et exemple

Voir les compteurs de paquets et d'erreurs.

Fenêtre de terminal
ip -s link show <interface> # formule
ip -s link show eth0 # exemple

Obtenir les données dans un format parsable.

Fenêtre de terminal
ip -j addr show # formule
ip -j addr show | jq '.[].ifname' # exemple — noms d'interfaces
  • -j produit du JSON ; jq permet de l'exploiter dans un script.

Huit erreurs reviennent constamment avec ip. Certaines peuvent vous couper l'accès à la machine.

Fenêtre de terminal
sudo ip addr add 192.168.1.100 dev eth0 # ❌ sans /CIDR

Symptôme : erreur Invalid argument, ou adresse créée en /32. Cause : sans masque, Linux ne sait pas dimensionner le réseau.

Fenêtre de terminal
sudo ip addr add 192.168.1.100/24 dev eth0 # ✅ masque explicite
Fenêtre de terminal
sudo ip link set eth0 down # ❌ si eth0 porte votre session SSH

Symptôme : connexion SSH perdue, accès console nécessaire. Cause : désactiver l'interface coupe toutes les connexions qui passent par elle.

Fenêtre de terminal
ip route get <votre_ip> # ✅ vérifier l'interface utilisée AVANT toute action
Fenêtre de terminal
sudo ip addr add 192.168.1.100/24 dev eth0 # ⚠️ perdu au prochain reboot

Symptôme : la configuration disparaît après redémarrage. Cause : ip modifie l'état en mémoire uniquement.

Fenêtre de terminal
# ✅ persister via l'outil de la distribution
sudo nano /etc/netplan/01-config.yaml && sudo netplan apply
Fenêtre de terminal
ip link show # ❌ pour voir les adresses IP

Symptôme : les adresses IP n'apparaissent pas. Cause : link gère l'état physique, addr gère les adresses IP.

Fenêtre de terminal
ip addr show # ✅ addr pour les adresses
Fenêtre de terminal
sudo ip route add default via 192.168.1.1 # ❌ "RTNETLINK answers: File exists"

Symptôme : erreur File exists. Cause : une route par défaut existe déjà.

Fenêtre de terminal
sudo ip route replace default via 192.168.1.1 # ✅ replace au lieu d'add
Fenêtre de terminal
sudo ip addr del 192.168.1.100/32 dev eth0 # ❌ alors que c'était un /24

Symptôme : erreur Cannot assign requested address. Cause : le masque doit correspondre exactement à celui de l'adresse ajoutée.

Fenêtre de terminal
ip addr show dev eth0 # ✅ vérifier le masque exact avant de supprimer
Fenêtre de terminal
sudo ip addr flush dev eth0 # ❌ retire TOUTES les IP, sans confirmation

Symptôme : toutes les adresses supprimées, machine injoignable. Cause : flush ne demande aucune confirmation.

Fenêtre de terminal
# ✅ double-vérifier l'interface, et garder un accès console de secours
ip -br addr show
Fenêtre de terminal
ifconfig eth0 192.168.1.100 # ❌ syntaxe dépréciée depuis 2009

Symptôme : fonctionne, mais sans notation CIDR native et avec des fonctions limitées. Cause : ifconfig (paquet net-tools) n'est plus maintenu.

Fenêtre de terminal
sudo ip addr add 192.168.1.100/24 dev eth0 # ✅ migrer vers ip

Rien ne remplace la pratique. Ce lab crée un namespace réseau isolé : vous expérimentez sans aucun risque pour la configuration réelle de la machine. À la fin, nettoyez avec le second script.

Ce script crée un namespace lab-ip relié à l'hôte par une paire d'interfaces virtuelles veth.

#!/bin/bash
# Créer un namespace réseau de test
sudo ip netns add lab-ip
# Créer une paire d'interfaces veth
sudo ip link add veth-host type veth peer name veth-lab
# Déplacer une extrémité dans le namespace
sudo ip link set veth-lab netns lab-ip
# Configurer l'interface côté hôte
sudo ip addr add 10.0.0.1/24 dev veth-host
sudo ip link set veth-host up
# Configurer l'interface côté namespace
sudo ip netns exec lab-ip ip addr add 10.0.0.2/24 dev veth-lab
sudo ip netns exec lab-ip ip link set veth-lab up
sudo ip netns exec lab-ip ip link set lo up
echo "Lab prêt — namespace lab-ip, IP hôte 10.0.0.1, IP lab 10.0.0.2"

Pour nettoyer à la fin :

Fenêtre de terminal
sudo ip netns del lab-ip
sudo ip link del veth-host 2>/dev/null
  1. Lister les interfaces. Affichez toutes les interfaces avec leurs adresses.

    Fenêtre de terminal
    ip addr show

    ip addr show (ou ip a) affiche chaque interface avec son état et ses adresses IPv4/IPv6 — dont veth-host.

  2. Filtrer une interface. Affichez uniquement veth-host.

    Fenêtre de terminal
    ip addr show dev veth-host

    Le paramètre dev cible une interface précise — état UP, adresse 10.0.0.1/24.

  3. Ajouter une adresse secondaire. Ajoutez 10.0.0.10/24 à veth-host.

    Fenêtre de terminal
    sudo ip addr add 10.0.0.10/24 dev veth-host

    Une interface peut porter plusieurs adresses (aliasing) — utile pour héberger plusieurs services.

  4. Vérifier la table de routage. Affichez la table de routage.

    Fenêtre de terminal
    ip route show

    En ajoutant une IP, Linux crée automatiquement une route vers le réseau correspondant.

  5. Tester la connectivité. Vérifiez que le namespace répond.

    Fenêtre de terminal
    ping -c 2 10.0.0.2

    Le namespace lab-ip répond : les deux extrémités du lien veth sont configurées.

  6. Consulter le cache ARP. Affichez les voisins réseau découverts.

    Fenêtre de terminal
    ip neigh show

    Après le ping, Linux a résolu l'adresse MAC de 10.0.0.2 et l'a mise en cache (REACHABLE).

  7. Désactiver une interface. Désactivez veth-host, puis réactivez-la.

    Fenêtre de terminal
    sudo ip link set veth-host down
    sudo ip link set veth-host up

    ip link set contrôle l'état physique : down coupe l'interface (le ping échoue), up la réactive.

  8. Supprimer une adresse. Retirez l'adresse secondaire 10.0.0.10/24.

    Fenêtre de terminal
    sudo ip addr del 10.0.0.10/24 dev veth-host

    del est l'inverse de add — le masque CIDR reste obligatoire.

Dix exercices pour valider votre maîtrise. Cherchez d'abord par vous-même, puis dépliez la solution pour vous corriger.

Exercice 1 — Trouver l'IP d'une interface. Affichez l'adresse IP de l'interface eth0 (ou son équivalent). Indice : ip addr show avec le paramètre dev.

Voir la solution
Fenêtre de terminal
ip addr show dev eth0

ip addr show dev <interface> affiche les détails d'une interface précise.

Exercice 2 — Identifier la passerelle par défaut. Trouvez l'adresse de votre passerelle par défaut. Indice : la ligne default via de la table de routage.

Voir la solution
Fenêtre de terminal
ip route show default

La route par défaut (0.0.0.0/0) indique où envoyer le trafic vers internet.

Exercice 3 — Ajouter une IP secondaire. Ajoutez l'adresse 192.168.100.10/24 à l'interface lo. Indice : ip addr add … dev lo.

Voir la solution
Fenêtre de terminal
sudo ip addr add 192.168.100.10/24 dev lo

On peut ajouter des adresses au loopback pour des tests, sans toucher aux vraies interfaces.

Exercice 4 — Lister les interfaces actives. Affichez uniquement les interfaces en état UP. Indice : ip link accepte un filtre d'état.

Voir la solution
Fenêtre de terminal
ip link show up

Le mot-clé up filtre les interfaces en état opérationnel.

Exercice 5 — Diagnostiquer une route. Trouvez par quelle interface et passerelle votre machine atteint 1.1.1.1. Indice : ip route get interroge le kernel.

Voir la solution
Fenêtre de terminal
ip route get 1.1.1.1

Cette commande simule le routage d'un paquet et montre le chemin choisi.

Exercice 6 — Extraire les noms d'interfaces. Listez uniquement les noms des interfaces, sans les détails. Indice : combinez ip -o avec awk.

Voir la solution
Fenêtre de terminal
ip -o link show | awk -F': ' '{print $2}'

-o produit une sortie « une ligne par enregistrement », plus simple à parser ; awk en extrait le 2ᵉ champ.

Exercice 7 — Créer une route statique. Ajoutez une route vers 10.20.30.0/24 via la passerelle 192.168.1.1. Indice : ip route add <réseau> via <gateway>.

Voir la solution
Fenêtre de terminal
sudo ip route add 10.20.30.0/24 via 192.168.1.1

Les routes statiques définissent des chemins spécifiques vers certains réseaux.

Exercice 8 — Sortie JSON et parsing. Extrayez les adresses IPv4 de toutes les interfaces via JSON et jq. Indice : ip -j addr show | jq ….

Voir la solution
Fenêtre de terminal
ip -j addr show | jq -r '.[].addr_info[] | select(.family=="inet") | .local'

La sortie JSON permet un parsing précis et fiable pour l'automatisation.

Exercice 9 — Script de diagnostic réseau. Écrivez un script qui affiche IPs, routes, voisins ARP et statistiques de l'interface principale. Indice : enchaînez plusieurs commandes ip dans un script bash.

Voir la solution
#!/bin/bash
echo "=== INTERFACES ==="
ip -c addr show
echo -e "\n=== ROUTES ==="
ip -c route show
echo -e "\n=== VOISINS ==="
ip -c neigh show
IFACE=$(ip route get 1.1.1.1 | grep -oP 'dev \K\S+')
echo -e "\n=== STATS $IFACE ==="
ip -s link show "$IFACE"

Un script de diagnostic centralise les informations utiles en cas d'incident réseau.

Exercice 10 — Surveiller les événements réseau. Lancez une surveillance temps réel des changements réseau. Indice : ip monitor.

Voir la solution
Fenêtre de terminal
ip monitor all

Utile pour déboguer des problèmes dynamiques (DHCP, bascule de lien, changements de route).

Quand une commande ip échoue, le message RTNETLINK indique presque toujours la cause. Voici comment diagnostiquer.

Fenêtre de terminal
# Lister toutes les interfaces (sortie colorée)
ip -c addr show
# Voir par quelle interface et passerelle passent les paquets
ip route get 8.8.8.8
# Détecter les problèmes physiques (erreurs, paquets perdus)
ip -s link show eth0
# Observer les événements réseau en temps réel
ip monitor
# Vérifier la résolution ARP
ip neigh show
Message d'erreurCause probableSolution
RTNETLINK answers: Operation not permittedCommande sans sudo, ou conteneur restreintAjouter sudo, vérifier les capabilities du conteneur
RTNETLINK answers: File existsAdresse ou route déjà présenteSupprimer l'existant, ou utiliser replace
RTNETLINK answers: No such deviceNom d'interface incorrectLister les interfaces : ip link show
RTNETLINK answers: Network is unreachableAucune route, ou interface downAjouter une route ou activer l'interface
RTNETLINK answers: Invalid argumentSyntaxe incorrecte, masque CIDR manquantCorriger la syntaxe, ajouter le /CIDR
Cannot assign requested addressAdresse inexistante ou mauvais masque à la suppressionVérifier l'adresse exacte avec ip addr show
FormeRôleExemple
ip [objet] [commande]Structure de baseip addr show
ip aAlias de ip addr showip a
ip rAlias de ip route showip r
ip lAlias de ip link showip l
ip nAlias de ip neigh showip n
OptionRôleExemple
-cSortie coloréeip -c addr
-4 / -6IPv4 ou IPv6 uniquementip -4 addr
-oUne ligne par enregistrementip -o addr
-jSortie JSONip -j addr
-sStatistiques détailléesip -s link
-brFormat bref (résumé)ip -br addr
CommandeRôleExemple
ip addr showAfficher toutes les adressesip addr show
ip addr show dev XAdresses d'une interfaceip addr show dev eth0
ip addr add IP/CIDR dev XAjouter une adresseip addr add 10.0.0.1/24 dev eth0
ip addr del IP/CIDR dev XSupprimer une adresseip addr del 10.0.0.1/24 dev eth0
ip addr flush dev XSupprimer toutes les adressesip addr flush dev eth0
CommandeRôleExemple
ip link showÉtat des interfacesip link show
ip link show upInterfaces actives uniquementip link show up
ip link set X upActiver une interfaceip link set eth0 up
ip link set X downDésactiver une interfaceip link set eth0 down
ip link set X mtu NChanger le MTUip link set eth0 mtu 9000
CommandeRôleExemple
ip route showTable de routageip route show
ip route get IPRoute vers une destinationip route get 8.8.8.8
ip route add NET via GWAjouter une routeip route add 10.0.0.0/8 via 192.168.1.1
ip route add default via GWRoute par défautip route add default via 192.168.1.1
ip route del NETSupprimer une routeip route del 10.0.0.0/8
ip route replace …Remplacer une route existanteip route replace default via 192.168.1.1
CommandeRôleExemple
ip neigh showCache ARP / NDPip neigh show
ip neigh add IP lladdr MAC dev XEntrée ARP statiqueip neigh add 10.0.0.5 lladdr aa:bb:cc:dd:ee:ff dev eth0
ip neigh del IP dev XSupprimer une entrée ARPip neigh del 10.0.0.5 dev eth0
ip neigh flush allVider le cache ARPip neigh flush all

Vous maîtrisez ip lorsque vous pouvez cocher chacun de ces points :

  • Je sais afficher les adresses IP de toutes les interfaces
  • Je sais identifier la passerelle par défaut
  • Je sais ajouter et supprimer des adresses IP
  • Je sais créer et supprimer des routes statiques
  • Je sais activer et désactiver une interface
  • Je sais diagnostiquer un problème de routage avec ip route get
  • Je sais consulter le cache ARP
  • Je sais utiliser la sortie JSON pour scripter
/etc/netplan/01-config.yaml
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]
Fenêtre de terminal
# Appliquer
sudo netplan apply

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

8 questions
5 min.
80% requis

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

  1. Syntaxe unifiée : ip OBJET COMMANDE — cohérent pour tout le réseau
  2. 4 objets essentiels : addr (IP), link (interface), route (routage), neigh (ARP)
  3. Abréviations : ip a = ip addr show, ip r = ip route show
  4. Masque CIDR obligatoire : 192.168.1.100/24, jamais sans le /24
  5. Modifications temporaires : tout est perdu au reboot sans persistance
  6. ip route get : le diagnostic le plus utile pour comprendre le routage
  7. JSON avec -j : parfait pour l'automatisation et le scripting
  8. Remplace tout : ifconfig, route, arp, netstat -i sont obsolètes

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn