Recherche de site Web

ifconfig vs ip : quelle est la différence et comparaison de la configuration réseau


Les distributions basées sur Linux comportent un ensemble de commandes permettant de configurer le réseau de manière simple et puissante via la ligne de commande. Cet ensemble de commandes est disponible à partir du package net-tools qui existe depuis longtemps sur presque toutes les distributions et comprend des commandes telles que : ifconfig, route<., nameif, iwconfig, iptunnel, netstat, arp.

Ces commandes sont à peu près suffisantes pour configurer le réseau d'une manière que tout utilisateur Linux novice ou expert souhaiterait, mais en raison des progrès du noyau Linux au cours des dernières années et de l'impossibilité de maintenir cet ensemble de commandes, elles deviennent obsolètes et plus puissantes. une alternative capable de remplacer toutes ces commandes est en train d'émerger.

Cette alternative existe également depuis un certain temps maintenant et est beaucoup plus puissante que n'importe laquelle de ces commandes. Le reste des sections mettrait en évidence cette alternative et la comparerait à l'une des commandes du package net-tools, c'est-à-dire ifconfig.

ip – Un remplacement pour ifconfig

ifconfig existe depuis longtemps et est encore utilisé par beaucoup pour configurer, afficher et contrôler les interfaces réseau, mais une nouvelle alternative existe désormais sur les distributions Linux qui est bien plus puissante qu'elle. Cette alternative est la commande ip du package iproute2util.

Bien que cette commande puisse sembler un peu complexe à première vue, ses fonctionnalités sont beaucoup plus larges que ifconfig. Il est fonctionnellement organisé sur deux couches de la pile réseau, à savoir la Couche 2 (Couche de liaison), la Couche 3 (Couche IP ) et fait le travail de toutes les commandes mentionnées ci-dessus du package net-tools.

Alors que ifconfig affiche ou modifie principalement les interfaces d'un système, cette commande est capable d'effectuer les tâches suivantes :

  1. Affichage ou modification des propriétés de l'interface.
  2. Ajout, suppression d'entrées de cache ARP ainsi que création d'une nouvelle entrée ARP statique pour un hôte.
  3. Affichage des adresses MAC associées à toutes les interfaces.
  4. Afficher et modifier les tables de routage du noyau.

L'un des principaux points forts qui le distingue de son ancien homologue ifconfig est que ce dernier utilise ioctl pour la configuration du réseau, ce qui est un moyen d'interaction moins apprécié avec le noyau alors que le premier en profite. du mécanisme de socket netlink pour le même qui est un successeur beaucoup plus flexible de ioctl pour l'intercommunication entre le noyau et l'espace utilisateur à l'aide de rtnetlink (qui ajoute une capacité de manipulation de l'environnement réseau).

Nous pouvons maintenant commencer à mettre en évidence les fonctionnalités de ifconfig et comment elles sont efficacement remplacées par la commande ip.

Commandes ip et ifconfig

La section suivante met en évidence certaines des commandes ifconfig et leur remplacement à l'aide des commandes ip :

1. Affichage de toutes les interfaces réseau sous Linux

Ici, une caractéristique distinctive entre ip et ifconfig est que alors que ifconfig affiche uniquement les interfaces activées, ip affiche toutes les interfaces, qu'elles soient activées ou désactivées.

Commande ifconfig
ifconfig

Commande IP
ip a

2. Ajout ou suppression d'une adresse IP sous Linux

La commande ci-dessous attribue l'adresse IP 192.168.80.174 à l'interface eth0.

ifconfig – Ajouter/Supprimer une adresse IP
ifconfig eth0 add 192.168.80.174

Syntaxe pour ajouter/supprimer une interface à l'aide de la commande ifconfig :

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – Ajouter/Supprimer une adresse IP
ip a add 192.168.80.174 dev eth0

Syntaxe pour ajouter/supprimer une interface à l'aide de la commande ip :

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. Ajouter l'adresse matérielle MAC à l'interface réseau

La commande ci-dessous définit l'adresse matérielle de l'interface eth0 sur la valeur spécifiée dans la commande. Cela peut être vérifié en vérifiant la valeur HWaddr dans la sortie de la commande ifconfig.

ifconfig – Ajouter une adresse MAC

Ici, la syntaxe pour ajouter une adresse MAC à l'aide de la commande ifconfig :

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – Ajouter une adresse MAC

Ici, la syntaxe pour ajouter une adresse MAC à l'aide de la commande ip :

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. Définition d'autres configurations de l'interface réseau

Outre la définition de l'adresse IP ou de l'adresse matérielle, d'autres configurations pouvant être appliquées à une interface incluent :

  1. MTU (unité de transfert maximale)
  2. Indicateur de multidiffusion
  3. Longueur de la file d'attente de transmission
  4. Mode promiscuité
  5. Activer ou désactiver tous les modes multicast
ifconfig – Autres configurations réseau
ip – Autres configurations réseau

un. Définissez la valeur MTU sur 2000.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

b. Activer ou désactiver l'indicateur de multidiffusion.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

c. Définition de la longueur de la file d'attente de transmission.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

d. Activation ou désactivation du mode promiscuité.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

e. Activez ou désactivez tous les modes de multidiffusion.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. Activation ou désactivation de l'interface réseau

Les commandes ci-dessous activent ou désactivent une interface réseau spécifique.

ifconfig – Désactiver/Activer l'interface réseau

La commande ci-dessous désactive l'interface eth0 et elle est vérifiée par la sortie de ifconfig qui affiche par défaut uniquement les interfaces actives.

ifconfig eth0 down

Pour réactiver l'interface, remplacez simplement down par up.

ifconfig eth0 up
ip – Désactiver/Activer l’interface réseau

La commande ip ci-dessous est une alternative à ifconfig pour désactiver une interface spécifique. Cela peut être vérifié par la sortie de la commande 'ip a' qui affiche toutes les interfaces par défaut, soit vers le haut, soit vers le bas, mais met en évidence leur statut avec la description.

ip link set eth0 down

Pour réactiver l'interface, remplacez simplement down par up.

ip link set eth0 up

6. Activer ou désactiver l'utilisation du protocole ARP

Les commandes ci-dessous activent ou désactivent le protocole ARP sur une interface réseau spécifique.

ifconfig – Activer/Désactiver le protocole ARP

La commande permet d'utiliser le protocole ARP avec l'interface eth0. Pour désactiver cette option, remplacez simplement arp par -arp.

ifconfig eth0 arp
ip – Activer/Désactiver le protocole ARP

Cette commande est l'alternative IP pour activer ARP pour l'interface eth0. Pour désactiver, remplacez simplement on par off.

ip link set dev eth0 arp on

Conclusion

Ainsi, nous avons mis en évidence les fonctionnalités de la commande ifconfig et comment elles peuvent être réalisées à l'aide de la commande ip. Actuellement, les distributions Linux fournissent à un utilisateur les deux commandes afin qu'il puisse les utiliser à sa convenance. Alors, quelle commande vous semble la plus pratique et que vous préféreriez utiliser ? Mentionnez-le dans vos commentaires.

Si vous souhaitez en savoir plus sur ces deux commandes, vous devriez consulter nos articles précédents qui présentent quelques exemples pratiques de commandes ifconfig et ip de manière plus détaillée.

Ne manquez pas : 15 exemples « ifconfig » pour configurer l'interface réseau sous Linux

Ne manquez pas : 10 exemples de commandes « ip » pour configurer l'interface réseau sous Linux