Les distributions basées sur Linux disposent d’un ensemble de commandes qui permettent de configurer le réseau de manière facile et puissante via la ligne de commande. Cet ensemble de commandes est disponible dans le paquet 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 suffisantes pour configurer le réseau de la manière dont le souhaite tout utilisateur Linux novice ou expert, mais en raison des progrès réalisés dans le noyau Linux au cours des dernières années et de l’impossibilité de maintenir cet ensemble de commandes empaqueté, elles sont en train d’être obsolètes et une alternative plus puissante, capable de remplacer toutes ces commandes, émerge.
Cette alternative existe depuis un certain temps maintenant et est bien plus puissante que n’importe laquelle de ces commandes. Les sections suivantes mettront en lumière cette alternative et la compareront avec l’une des commandes du paquet net-tools, à savoir ifconfig.
ip – Un remplacement pour ifconfig
ifconfig existe depuis longtemps et est toujours utilisé pour configurer, afficher et contrôler les interfaces réseau par de nombreux utilisateurs, mais une nouvelle alternative existe désormais sur les distributions Linux, bien plus puissante que lui. Cette alternative est la commande ip
du paquet iproute2util.
Bien que cette commande puisse sembler un peu complexe au premier abord, elle est bien plus étendue en fonctionnalités que ifconfig. Elle est fonctionnellement organisée sur deux couches de la pile réseau, c’est-à-dire la couche 2 (ou couche liaison) et la couche 3 (ou couche IP), et accomplit le travail de toutes les commandes mentionnées ci-dessus provenant du package net-tools.
Tandis que ifconfig affiche principalement ou modifie les interfaces d’un système, cette commande est capable d’effectuer les tâches suivantes :
- Afficher ou modifier les propriétés de l’interface.
- Ajouter, supprimer les entrées du cache ARP tout en créant une nouvelle entrée ARP statique pour un hôte.
- Afficher les adresses MAC associées à toutes les interfaces.
- Afficher et modifier les tables de routage du noyau.
L’un des principaux points forts qui le distingue de son homologue ancien ifconfig est que ce dernier utilise ioctl pour la configuration réseau, ce qui est une manière moins appréciée d’interagir avec le noyau, alors que le premier profite du mécanisme de socket netlink pour la même opération, qui est un successeur beaucoup plus flexible d’ioctl pour l’intercommunication entre le noyau et l’espace utilisateur en utilisant rtnetlink (qui ajoute la 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 vs ifconfig
La section suivante met en évidence certaines des commandes ifconfig et leur remplacement à l’aide des commandes ip :
Affichage de toutes les interfaces réseau sous Linux
Ici, une caractéristique distinctive entre ip et ifconfig est qu’alors que ifconfig ne montre que les interfaces activées, ip montre toutes les interfaces, qu’elles soient activées ou désactivées.
Commande ifconfig
$ ifconfig

Commande ip
$ ip a

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 en utilisant 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 en utilisant la commande ip:
# ip a add 192.168.80.174 dev eth0 # ip a del 192.168.80.174 dev eth0
Ajouter l’adresse MAC matérielle à l’interface réseau
La commande ci-dessous définit l’adresse matérielle pour l’interface eth0
à 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 en utilisant 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 en utilisant la commande ip:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
Configuration d’autres paramètres de l’interface réseau
Outre la définition de l’adresse IP ou de l’adresse matérielle, d’autres configurations qui peuvent être appliquées à une interface incluent:
- MTU (Unité de transfert maximale)
- Indicateur de multidiffusion
- Longueur de la file de transmission
- Mode promiscue
- Activer ou désactiver tous les modes multicast
ifconfig – Autres configurations réseau
ip – Autres configurations réseau
a. Set MTU value to 2000.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Enable or Disable multicast flag.
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
c. Setting the transmit queue length.
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
d. Enabling or disabling promiscuous mode.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Enable or disable all multicast mode.
# 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 cela est vérifié par la sortie de ifconfig qui, par défaut, n’affiche que les interfaces qui sont en ligne.
# ifconfig eth0 down
Pour réactiver l’interface, il suffit de remplacer 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 par défaut toutes les interfaces, qu’elles soient en ligne ou non, mais met en évidence leur statut avec la description.
# ip link set eth0 down
Pour réactiver l’interface, il suffit de remplacer down par up.
# ip link set eth0 up
6. Activer ou désactiver le 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 active le protocole ARP à utiliser avec l’interface eth0. Pour désactiver cette option, il suffit de remplacer arp par -arp
.
# ifconfig eth0 arp
ip – Activer/Désactiver le protocole ARP
Cette commande est l’alternative ip pour activer l’ARP pour l’interface eth0. Pour désactiver, il suffit de remplacer 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 à l’utilisateur les deux commandes afin qu’il puisse les utiliser selon son confort. Alors, quelle commande est pratique selon vous et que préféreriez-vous utiliser? Veuillez mentionner cela dans vos commentaires.
Si vous souhaitez en savoir plus sur ces deux commandes, vous devriez consulter nos articles précédents qui présentent des exemples pratiques de la commande ifconfig et ip de manière plus détaillée.
Ne manquez pas: 15 exemples de « ifconfig » pour configurer l’interface réseau sous Linux
Ne manquez pas: 10 exemples de commande « ip » pour configurer l’interface réseau sous Linux
Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/