Recherche de site Web

24 commandes "IP" utiles pour configurer les interfaces réseau


Bref : Dans ce guide, nous discuterons de quelques exemples pratiques de la commande ip. À la fin de ce guide, les utilisateurs seront en mesure d'effectuer efficacement des tâches de mise en réseau sous Linux à partir de l'interface de ligne de commande.

Les administrateurs système doivent souvent effectuer des tâches de mise en réseau sur des serveurs Linux. Il existe une variété d'outils graphiques et de ligne de commande disponibles sur le marché. Cependant, la plupart des utilisateurs de Linux préfèrent utiliser la commande ip en raison de sa simplicité et de ses riches fonctionnalités.

La commande ip est un nouvel utilitaire de ligne de commande réseau utilisé pour attribuer une adresse IP à une interface réseau ou configurer/mettre à jour des variables réseau utiles sur un système Linux.

Il fait partie du package iproute2 et propose plusieurs tâches d'administration réseau telles que l'activation ou la désactivation des interfaces réseau, l'attribution et la suppression d'adresses IP et de routes, la gestion du cache ARP et bien plus encore.

La commande ip est très similaire à l'ancienne commande ifconfig, mais elle est beaucoup plus puissante avec plus de fonctions et de capacités ajoutées.

La commande ifconfig est obsolète et remplacée par la commande ip dans toutes les distributions Linux modernes. Cependant, la commande ifconfig fonctionne toujours et est disponible pour la plupart des distributions Linux.

Remarque : Veuillez effectuer une sauvegarde du fichier de configuration avant d'apporter des modifications.

1. Configurer définitivement l'adresse IP statique sous Linux

Pour configurer définitivement une adresse IP statique sous Linux, vous devez mettre à jour ou modifier le fichier de configuration réseau pour attribuer une adresse IP statique à un système. Vous devez être un superutilisateur avec une commande su (changer d'utilisateur) depuis le terminal ou l'invite de commande.

Définir l'adresse IP statique dans les systèmes RHEL

Ouvrez et modifiez les fichiers de configuration réseau pour (eth0 ou eth1) à l'aide de votre éditeur de texte préféré. Par exemple, attribuer une adresse IP à l'interface eth0 comme suit sur les distributions basées sur RHEL.

vi /etc/sysconfig/network-scripts/ifcfg-eth0     [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]

Définir une adresse IP statique dans les systèmes Debian

Pour configurer l'adresse IP statique permanente, vous devez modifier le fichier de configuration de votre interface réseau /etc/network/interfaces pour apporter des modifications permanentes, comme indiqué ci-dessous pour les distributions basées sur Debian.

sudo nano /etc/network/interfaces     [On Debian, Ubuntu and Mint]

Ensuite, redémarrez les services réseau après avoir entré tous les détails à l'aide de la commande suivante.

sudo systemctl restart networking

2. Configurer temporairement l'adresse IP statique sous Linux

Pour les configurations réseau temporaires, vous pouvez utiliser la commande ip pour attribuer une adresse IP à une interface spécifique (eth2) à la volée.

ip addr add 172.19.1.10/24 dev eth2
OR
sudo ip addr add 172.19.1.10/24 dev eth2

Remarque : Malheureusement, tous ces paramètres seront perdus après un redémarrage du système.

3. Comment afficher toutes les interfaces réseau

Dans la commande ip, l'objet lien représente l'interface réseau. Nous pouvons utiliser la commande show avec pour afficher toutes les interfaces réseau.

Maintenant, affichons toutes les interfaces réseau à l'aide de la commande suivante :

ip link show

La sortie ci-dessus affiche les détails de toutes les interfaces réseau, tels que le nom de l'interface, les indicateurs, l'état, l'adresse de liaison, l'adresse de diffusion, etc.

4. Comment vérifier une adresse IP d'une interface réseau spécifique

Pour obtenir les informations détaillées de votre interface réseau individuelle, telles que les informations sur l'adresse IP et l'adresse MAC, utilisez la commande suivante comme indiqué ci-dessous.

ip link show eth2

Jusqu'à présent, nous avons utilisé l'objet lien pour afficher des informations détaillées sur les interfaces réseau. Cependant, il n'affiche pas l'adresse IP associée à l'interface réseau. Pour surmonter cette limitation, nous pouvons utiliser l'objet addr avec la commande ip.

Comprenons cela avec un exemple.

ip addr show

Ici, nous pouvons voir que la sortie affiche désormais les adresses IP de toutes les interfaces réseau ainsi que d’autres détails.

Pour afficher l'adresse IP de l'interface réseau individuelle, il suffit de fournir le nom de l'interface réseau comme argument de la commande.

ip addr show eth2

5. Comment afficher l'adresse IP dans une sortie colorée

La commande ip affiche des informations détaillées sur les objets réseau. Cependant, nous devons parfois examiner les informations limitées. Dans de tels cas, nous pouvons activer la sortie colorée. Cette option met en évidence les détails importants dans différentes couleurs.

Utilisons l'option --color de la commande pour afficher la sortie dans différentes couleurs :

ip --color addr show eth2

Dans la sortie ci-dessus, nous pouvons voir que le nom de l'interface, l'adresse Ethernet et l'état sont mis en évidence dans différentes couleurs.

6. Comment afficher l'adresse IP au format JSON

Dans les exemples précédents, nous avons vu que la commande ip affiche des informations significatives. Cependant, analyser le résultat brut et extraire des informations significatives à l’aide de scripts rudimentaires n’est pas une tâche facile. Dans de tels cas, nous pouvons demander à la commande ip de générer la sortie au format JSON.

Utilisons donc l'option -j avec la commande pour afficher la même sortie au format JSON :

ip -j link show eth2

Cette méthode s'avère pratique lors de l'automatisation, car JSON est un format largement accepté et il existe de nombreuses bibliothèques/outils d'analyseur JSON disponibles dans divers langages de programmation.

7. Comment rendre la sortie JSON plus lisible

Dans l'exemple précédent, nous avons utilisé l'option -j pour afficher la sortie au format JSON. Ce format JSON par défaut est compact et peu encombrant. Cependant, le résultat n’est pas facile à lire en raison du manque d’indentation.

Pour surmonter cette limitation, nous pouvons utiliser l'option -p qui rend la sortie plus lisible en l'indentant. Comprenons cela avec l'exemple ci-dessous :

ip -j -p link show eth2

Ici, nous pouvons voir que le même résultat est beaucoup plus lisible par rapport aux exemples précédents.

8. Comment supprimer une adresse IP de l'interface réseau

Dans l'exemple précédent, nous avons utilisé la sous-commande add pour attribuer une adresse IP. De la même manière, nous pouvons utiliser la sous-commande del pour supprimer une adresse IP particulière.

La commande suivante supprimera une adresse IP attribuée de l'interface donnée (eth2).

ip addr del 172.19.1.10/24 dev eth2
OR
sudo ip addr del 172.19.1.10/24 dev eth2

Vérifions maintenant que l'adresse IP a été supprimée :

ip -j -p addr show eth2

Dans le résultat ci-dessus, nous pouvons voir que l'interface réseau désormais eth2 n'a qu'une seule adresse IP.

9. Comment activer l'interface réseau

Le drapeau « up » avec le nom de l'interface (eth2) active une interface réseau. Par exemple, la commande suivante activera l'interface réseau eth2.

ip link set eth2 up
OR
sudo ip link set dev eth2 up

Maintenant, vérifions le statut mis à jour :

ip -j -p link show eth2 | grep operstate

10. Comment désactiver l'interface réseau

L'indicateur « down » avec le nom de l'interface (eth2) désactive une interface réseau. Par exemple, la commande suivante désactive l'interface réseau eth2.

ip link set eth2 down
OR
sudo ip link set eth2 down

Vérifions maintenant l'état de l'interface réseau eth2 :

ip -j -p link show eth2 | grep operstate

La sortie ci-dessus montre l'état modifié de l'interface réseau.

11. Comment vider les adresses IP de l'interface réseau

Dans l'exemple précédent, nous avons vu comment utiliser une sous-commande del pour supprimer une adresse IP. Cependant, nous devons parfois supprimer toutes les adresses IP d’une interface réseau particulière. Dans de tels cas, nous pouvons utiliser la sous-commande flush.

Tout d'abord, utilisez la sous-commande flush pour supprimer toutes les adresses IP de l'interface réseau eth2 :

sudo ip addr flush eth2

Vérifions maintenant que toutes les adresses IP de l'interface réseau eth2 ont été supprimées :

ip -j -p addr show eth2

Dans le résultat ci-dessus, le champ addr_info affiche le tableau JSON vide. Cela indique qu'aucune adresse IP n'est associée à l'interface réseau eth2.

12. Comment vérifier la table de routage

Une table de routage stocke les informations nécessaires pour transmettre un paquet réseau vers la bonne destination. On peut utiliser l'objet route de la commande ip pour afficher les règles de routage.

Utilisons la commande ci-dessous pour lister toutes les règles de la table de routage :

ip route show

Dans le résultat ci-dessus, la première colonne représente la destination tandis que la dernière colonne représente l'adresse IP source.

13. Comment ajouter une nouvelle route statique

Pourquoi devez-vous ajouter des routes statiques ou des routes manuelles, car le trafic ne doit pas passer par la passerelle par défaut ? Nous devons ajouter des itinéraires statiques pour acheminer le trafic depuis le meilleur moyen d'atteindre la destination.

sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2

Vérifions maintenant que l'entrée a été ajoutée avec succès :

ip route show

15. Comment supprimer une route statique

La sous-commande del supprime une entrée particulière de la table de routage. Par exemple, la commande ci-dessous supprime l'entrée de la route du périphérique eth2 :

sudo ip route del 172.19.1.0/24

Vérifions maintenant que l'entrée a été supprimée avec succès :

ip route show

16. Comment ajouter des itinéraires statiques permanents

Tous les itinéraires ci-dessus seront perdus après un redémarrage du système. Pour ajouter une route statique permanente, modifiez le fichier /etc/sysconfig/network-scripts/route-eth2 (nous stockons la route statique pour (eth2). Par défaut, la route statique Le fichier route-eth2 ne sera pas là et devra être créé.

Définir un itinéraire permanent dans les systèmes RHEL

vi /etc/sysconfig/network-scripts/route-eth2

et ajoutez les lignes suivantes, enregistrez et quittez.

172.19.1.0/24 via 172.19.1.2 dev eth2

Définir une route permanente dans les systèmes Debian

Ouvrez le fichier /etc/network/interfaces et à la fin ajoutez les routes statiques de persistance. Les adresses IP peuvent différer selon votre environnement.

sudo vi /etc/network/interfaces
auto eth2
iface eth2 inet static
address 172.19.50.2
netmask 255.255.255.0
gateway 172.19.50.100
#########{Static Route}###########
up ip route add 172.19.1.0/24 via 172.19.1.2 dev eth2

Ensuite, redémarrez les services réseau après avoir entré tous les détails à l'aide de la commande suivante.

sudo systemctl restart networking

17. Comment ajouter la passerelle par défaut

En réseau, la passerelle par défaut joue un rôle important. Il est utilisé lorsque la table de routage ne contient aucune information sur la destination.

La passerelle par défaut peut être spécifiée globalement ou pour les fichiers de configuration spécifiques à l'interface. L'avantage de la passerelle par défaut est que nous avons plus d'une carte réseau présente dans le système. Vous pouvez ajouter la passerelle par défaut à la volée, comme indiqué sous la commande.

Tout d’abord, ajoutons une interface réseau eth0 comme passerelle par défaut :

sudo ip route add default via 172.17.0.1

Vérifions maintenant le paramètre de passerelle par défaut à l'aide de la commande suivante :

ip route show

Veuillez noter que nous avons exécuté cette commande sur une machine de test. Soyez prudent lorsque vous utilisez cette commande dans l'environnement de production.

18. Comment supprimer une passerelle par défaut

Nous pouvons utiliser la commande suivante pour supprimer la passerelle par défaut :

sudo ip route del default

Maintenant, listons la table de routage pour vérifier que la passerelle par défaut a été supprimée :

ip route show

19. Comment afficher le cache ARP

ARP signifie Address Resolution Protocol, qui est utilisé pour trouver l'adresse MAC associée à une adresse IP particulière.

On peut utiliser l'objet neigh avec la commande ip pour afficher le cache ARP :

ip neigh show

Dans la commande ci-dessus, le voisin représente les objets voisins.

20. Comment ajouter une entrée ARP

Pour créer une nouvelle entrée ARP, nous pouvons utiliser la sous-commande add avec l'objet neigh.

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2

Maintenant, listons les entrées du cache ARP :

ip neigh show

Dans le résultat ci-dessus, nous pouvons voir la nouvelle entrée pour l'interface réseau eth2.

21. Comment supprimer une entrée ARP

Comme d'autres objets réseau, nous pouvons utiliser la sous-commande del pour supprimer l'entrée ARP. Par exemple, la commande ci-dessous supprime l'entrée ARP de l'interface réseau eth2 :

sudo ip neigh del 172.19.1.0 dev eth2

Vérifions maintenant que l'entrée a été supprimée en listant le cache ARP :

ip neigh show 

22. Comment vider les entrées ARP

Nous pouvons utiliser la sous-commande flush pour supprimer plusieurs entrées ARP. Pour comprendre cela, ajoutez d'abord quelques entrées ARP avec l'état STALE :

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2 nud stale
sudo ip neigh add 172.19.2.0 lladdr 02:42:e3:40:a6:b2 dev eth2 nud stale
sudo ip neigh add 172.19.3.0 lladdr 02:42:e3:40:a6:b3 dev eth2 nud stale

Vérifiez ensuite que les nouvelles entrées ont été ajoutées avec succès :

ip neigh show

Ensuite, videz toutes les entrées à l'aide de la commande ci-dessous :

sudo ip neigh flush all

Enfin, vérifiez que toutes les entrées ont été supprimées :

ip neigh show

23. Comment définir le MTU pour l'interface réseau

MTU signifie Maximum Transmission Unit, qui représente la plus grande taille de paquet pouvant être transmise en une seule transaction. Nous pouvons manipuler la taille du MTU selon nos exigences de performances.

Tout d’abord, trouvons le MTU de l’interface réseau eth2 :

ip -j -p link show eth2 | grep mtu

Ensuite, mettez à jour la taille MTU de l'interface réseau eth2 à 3 000 :

sudo ip link set mtu 3000 dev eth2

Enfin, vérifiez que le MTU a été mis à jour avec succès :

ip -j -p link show eth2 | grep mtu

24. Comment changer l'adresse réseau Mac

La commande ip nous permet de changer l'adresse MAC de l'interface réseau. Pour y parvenir, nous pouvons utiliser la sous-commande set avec l'objet link :

Tout d’abord, indiquez l’adresse MAC actuelle de l’interface réseau eth2 :

ip -j -p link show eth2 | grep address

Ensuite, modifiez l'adresse MAC de l'interface réseau à l'aide de la commande ci-dessous :

sudo ip link set dev eth2 address 02:42:ac:13:01:03

Enfin, vérifiez que l'adresse MAC a été modifiée :

ip -j -p link show eth2 | grep address

Veuillez vous référer à la page de manuel exécutant man ip à partir du terminal/invite de commande pour en savoir plus sur la commande IP.

man ip
Conclusion

Dans cet article, nous avons discuté de quelques exemples courants de la commande ip. On peut utiliser ces exemples dans la vie de tous les jours pour effectuer l'administration du réseau.

Connaissez-vous un autre meilleur exemple de la commande ip sous Linux ? Faites-nous part de votre point de vue dans les commentaires ci-dessous.