Accueil Technologie

Comment utiliser la commande ip pour gérer les réseaux sous Linux

La partie la plus fondamentale de l’administration et du dépannage de Linux consiste à vérifier la configuration IP d’un système pour s’assurer que le système a une IP valide et est accessible sur le réseau local.


La commande ip de Linux est un outil puissant qui permet non seulement d’afficher l’adresse IP actuelle d’un système mais aussi de visualiser et de gérer la configuration actuelle des interfaces réseau, des adresses IP, des routes et des tables ARP.

Examinons certains des cas d’utilisation courants de la commande ip sous Linux.


Trouver l’adresse IP sous Linux

Pour trouver l’adresse IP de votre système Linux, utilisez la commande ip suivie de adresse, addrou a option :

 ip address 

Ceci affichera la configuration de toutes les interfaces réseau, y compris leurs adresses IP.

Dans l’exemple suivant, vous pouvez voir que le système possède trois interfaces réseau : lo (adresse de bouclage), ens33et ens37. La sortie comprend les informations suivantes :

  • Informations de la couche 1 telles que la capacité de l’interface et l’état de connectivité de la couche physique, le MTU, l’état opérationnel de l’interface (par exemple, UP ou DOWN), et la longueur de la file d’attente de transmission (qlen).
  • Des informations de couche 2 comme l’adresse MAC de l’interface.
  • Les informations de la couche 3 comprennent l’adresse IP et son type (adressage IP dynamique ou adressage IP statique).
commande ip addr

Pour afficher de brèves informations sur les interfaces réseau, utilisez la commande ip avec le paramètre –brief comme suit :

 ip --brief address show 
affichage bref des adresses IP

Pour afficher uniquement les informations relatives aux adresses IPv4, utilisez la commande suivante :

 ip -4 addr 

Pour connaître les informations relatives à l’adresse IP d’une interface réseau particulière, utilisez la syntaxe suivante :

 ip address show dev [interface] 

Par exemple, pour afficher l’adresse IP d’une interface réseau ens33la commande serait :

 ip address show dev ens33 

Afficher et modifier l’adresse MAC

À l’aide de la commande ip, vous pouvez également afficher et modifier l’adresse MAC de votre système.

Pour afficher l’adresse MAC de votre système Linux, utilisez la commande suivante :

 ip --brief link show 
ip link show brief output

Pour afficher l’adresse MAC d’une interface particulière, utilisez :

 ip --brief link show dev [interface] 

Pour modifier l’adresse MAC, il faut d’abord mettre l’interface hors service :

 sudo ip link set dev [interface] down 

Ensuite, utilisez la commande suivante pour changer l’adresse MAC de votre interface :

 sudo ip link set dev [interface] address [new-mac-adddress] 

Après cela, faites apparaître l’interface :

 sudo ip link set dev [interface] up
changer l'adresse mac

Afficher les statistiques de l’interface réseau

À l’aide de la commande ip, vous pouvez également afficher les statistiques d’une interface réseau. Utilisez la commande ip suivante pour afficher les statistiques de toutes les interfaces réseau de votre système :

 ip -s link 
interface statistcis

La sortie comprend des statistiques telles que les octets/paquets transmis et reçus, les erreurs, les paquets abandonnés, le multicast, etc. Pour afficher les statistiques d’une interface particulière, utilisez la syntaxe suivante :

 ip -s link show dev [interface] 

Pour faire apparaître une interface, utilisez la commande ip suivante :

 sudo ip link set [interface] up 

Pour faire descendre l’interface, exécutez la commande suivante

 sudo ip link set [interface] down 

Vous pouvez également modifier le MTU (maximum transmission unit) d’une interface à l’aide de la commande suivante :

 sudo ip link set mtu [number] dev [interface] 

Par exemple, pour définir le MTU d’une interface réseau ens33 à 8000la commande serait :

 sudo ip link set mtu 8000 dev ens33 
set mtu of interface

Ajouter/supprimer une adresse IP sous Linux

Pour ajouter une adresse IP à une interface réseau, utilisez la syntaxe suivante :

 ip addr add [ip-address] dev [interface] 

Pour ajouter une adresse IP 192.168.42.140/24 vers l’interface réseau ens33la commande serait :

 ip addr add 192.168.42.140/24 dev ens33 
ajouter une adresse IP à l'interface

Utilisez la syntaxe de la commande suivante pour supprimer l’adresse IP d’une interface :

 ip addr del [ip-address] dev [interface] 

Pour supprimer l’adresse IP 192.168.42.140/24 de l’interface ens33la commande serait :

 ip addr del 192.168.42.140/24 dev ens33 

Afficher la table de routage sous Linux

La commande ip route est utilisée pour afficher et modifier les routes dans un système Linux. Pour afficher la table de routage de votre système, utilisez la commande ip route sans aucune option :

 ip route 
commande ip route

Chaque ligne de la sortie représente un itinéraire configuré. Une route se compose d’une adresse réseau de destination, d’un saut suivant (c’est-à-dire l’adresse IP du routeur), d’une interface par laquelle le paquet sera envoyé, et de la métrique (une valeur utilisée pour déterminer la route préférée lorsqu’il existe plusieurs routes disponibles vers la destination). Dans ce cas, la route avec la métrique la plus basse est préférée.

Dans l’exemple ci-dessus, les deux premières entrées représentent la route par défaut, qui est utilisée lorsqu’aucune autre route n’est disponible pour l’adresse de destination. 192.168.42.2 et 192.168.10.1 sont les adresses IP du routeur. Le dév ens33 et ens37 indique l’interface qui sera utilisée pour envoyer les paquets au routeur. L’adresse proto dhcp indique que la route par défaut est apprise par DHCP.

La deuxième entrée représente l’adresse APIPA (Automatic Private IP Addressing). 169.254.0.0/16. Lorsqu’un hôte ne parvient pas à obtenir une adresse IP auprès d’un serveur DHCP, il s’attribue une adresse IP aléatoire provenant de ce réseau. Cela lui permet de communiquer avec d’autres hôtes du sous-réseau qui n’ont pas non plus réussi à obtenir l’adresse IP.

Les troisième et quatrième entrées indiquent les adresses des réseaux locaux auxquels le système est connecté. Le site 192.168.10.0 est le réseau que l’interface ens37 est attaché à tandis que le 192.168.42.0 est le réseau ens33 est attaché à.

Le site src indique l’adresse IP de l’interface utilisée comme adresse source lors de l’envoi de paquets via cette route.

Modifier la table de routage à l’aide de ip

Pour ajouter manuellement une route, utilisez la commande ip route suivie de l’adresse réseau de destination et de l’IP de la passerelle :

 sudo ip route add [network-id] via [gateway-ip] 

Par exemple, pour ajouter une route qui envoie tout le trafic destiné au réseau 192.168.20.0 réseau vers la passerelle à 192.168.10.16vous devez utiliser la commande suivante :

 sudo ip route add 192.168.20.0/24 via 192.168.10.16 
commande ip route

Utilisez la commande suivante pour ajouter une route par défaut :

 sudo ip route add default via [ip-address] dev [interface] 

Par exemple, pour ajouter la route par défaut qui dirige le trafic vers le routeur à l’adresse 192.168.10.1 via ens33la commande serait :

 sudo ip route add default via 192.168.10.1 dev ens33
ip route get [ip-address]

Pour supprimer une entrée de table de routage, utilisez la syntaxe suivante :

 sudo ip route delete [network-address] via [gateway-ip] 

Vous pouvez également afficher la route qu’une adresse empruntera en utilisant la syntaxe suivante :

 ip route get [ip-address] 
afficher l'itinéraire d'une adresse IP

Gérer la table des voisins sous Linux

Vous pouvez utiliser la commande ip neigh sous Linux pour afficher et modifier la table des voisins, également connue sous le nom de table ARP. Pour afficher les entrées actuelles de la table des voisins, utilisez la commande suivante :

 ip neigh show 
commande ip neighbour

Pour ajouter une nouvelle entrée dans la table des voisins, utilisez la syntaxe suivante :

 sudo ip neigh add [ip-address] lladdr [mac-address] dev [interface] 

Pour supprimer une entrée de la table des voisins, utilisez la syntaxe suivante :

 sudo ip neigh del [ip-address] dev [interface] 

Ajouter de la couleur à la sortie de la commande ip

Pour rendre la sortie plus facile et plus rapide à comprendre, vous pouvez ajouter de la couleur à la sortie de la commande ip à l’aide de la commande -c option :

 ip -c a 
ajouter la couleur à la commande ip

Gestion des réseaux et des adresses IP sous Linux

La commande ip sous Linux est un outil utile pour administrer et dépanner les connexions réseau. De l’affichage des interfaces réseau et de la modification des propriétés des liens à la recherche des adresses IP et à la gestion des routes, la commande ip vous permet d’effectuer plusieurs tâches d’administration système via la ligne de commande.

Lire  Comment installer Adminer sur Ubuntu