La commande ifconfig est l’outil historique sous Linux et macOS pour afficher et configurer les interfaces réseau. Elle affiche l’IP, le masque, l’adresse MAC, le statut UP/DOWN de chaque carte. Sous Linux moderne, elle est progressivement remplacée par la commande ip (paquet iproute2), mais reste très utilisée car plus lisible. Ce guide explique sa syntaxe, sa sortie, et donne les équivalents modernes.
Qu’est-ce que ifconfig ?
ifconfig (« interface configuration ») fait partie du paquet net-tools. Présente depuis les débuts d’Unix, elle est l’équivalent côté Unix de ipconfig sous Windows. Elle permet à la fois d’afficher la configuration et de la modifier (ajouter une IP, changer le masque, activer/désactiver une interface).
Sur macOS, ifconfig est toujours installée par défaut. Sur les distributions Linux récentes (Ubuntu 18.04+, Debian 11+, Fedora), elle peut nécessiter l’installation du paquet net-tools : sudo apt install net-tools.
ifconfig sans option
Tapez ifconfig dans un terminal pour afficher toutes les interfaces actives :
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.42 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:fe4e:66a1 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:4e:66:a1 txqueuelen 1000 (Ethernet)
RX packets 12450 bytes 14987234 (14.9 MB)
TX packets 9876 bytes 1234567 (1.2 MB)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
- eth0 / wlan0 / en0 : nom de l’interface (Ethernet, Wi-Fi, etc.). Sur Linux moderne, les noms peuvent être
enp0s3,wlp2s0(predictable network interface names). - flags : UP (active), RUNNING (câble branché), BROADCAST, MULTICAST.
- inet : adresse IPv4.
- netmask : masque de sous-réseau, voir subnet et masque.
- inet6 : adresse IPv6, voir IPv6.
fe80::= link-local. - ether : adresse MAC.
- mtu : taille max d’un paquet (1500 = Ethernet standard).
- lo : interface loopback, IP 127.0.0.1.
Options utiles de ifconfig
ifconfig eth0— afficher uniquement une interface.ifconfig -a— afficher toutes les interfaces, y compris celles désactivées (DOWN).ifconfig eth0 up— activer une interface (nécessite sudo).ifconfig eth0 down— désactiver une interface (sudo).sudo ifconfig eth0 192.168.1.50 netmask 255.255.255.0— assigner une IP fixe.sudo ifconfig eth0 hw ether 02:11:22:33:44:55— changer l’adresse MAC (utile pour contourner blacklist MAC).ifconfig eth0:1 192.168.1.51 netmask 255.255.255.0— ajouter un alias IP (deuxième IP sur la même carte).
Attention : les modifications via ifconfig sont temporaires (perdues au redémarrage). Pour qu’elles persistent, modifier la config Network Manager (Ubuntu), /etc/network/interfaces (Debian classique), ou systemd-networkd.
Équivalents modernes : la commande ip
Le paquet iproute2 propose une CLI moderne et plus complète qui remplace progressivement ifconfig sur Linux :
ip addr show(ouip a) — équivalent deifconfig -a.ip link set eth0 up— activer une interface.ip addr add 192.168.1.50/24 dev eth0— ajouter une IP.ip route show— afficher la table de routage (anciennementroute -n).ip neigh show— table ARP (anciennementarp -a).
La commande ip gère mieux IPv6, les VLAN, les bonds, et est scriptable plus proprement. Mais ifconfig reste plus lisible pour un humain au quotidien.
ifconfig sur macOS : spécificités
- Noms d’interfaces : en0 = Wi-Fi sur les Mac récents, en1 ou plus = Ethernet/Thunderbolt selon machine.
ifconfig en0affiche votre IP locale Wi-Fi (voir aussi Préférences Système > Réseau pour la version GUI).- Pas d’équivalent direct à
/releaseet/renewde Windows. À la place :sudo ipconfig set en0 BOOTPpuissudo ipconfig set en0 DHCP(notez le ipconfig minuscule sur macOS, différent de la commande Windows). - Voir aussi guide IP iPhone pour le mobile.
Cas d’usage courants
- Voir son IP locale :
ifconfig eth0ouip a show eth0, lire la ligneinet. - Voir son adresse MAC :
ifconfig eth0, lire la ligneether. - Tester si la carte fonctionne : présence du flag UP, RUNNING + RX/TX packets qui augmentent.
- Changer son MAC (anonymat sur Wi-Fi public) :
sudo ifconfig wlan0 downpuissudo ifconfig wlan0 hw ether xx:xx:xx:xx:xx:xxpuissudo ifconfig wlan0 up. - Combiner avec ping :
ifconfigdonne la passerelle (viaip routeouroute -n), puispingdessus. Voir commande ping. - Diagnostiquer un câble : flags sans RUNNING = câble débranché ou défectueux.
FAQ : ifconfig
ifconfig est-elle obsolète sous Linux ?
Officiellement « deprecated » depuis ~2015 au profit de iproute2 (ip), mais toujours largement utilisée. Installable en un apt install net-tools. Aucun risque à court terme, mais pour des scripts neufs, préférez ip.
ifconfig affiche-t-elle mon IP publique ?
Non. Comme ipconfig sous Windows, ifconfig ne voit que la pile locale (IP attribuée à la carte). Pour l’IP publique, utiliser Mon adresse IP ou curl ifconfig.me en ligne de commande.
Pourquoi mon interface s’appelle enp3s0 et pas eth0 ?
Linux moderne (depuis systemd) utilise des noms prévisibles basés sur la position physique : en = Ethernet, wl = Wireless LAN, p3s0 = bus PCI 3 slot 0. Ça évite les changements de nom quand on rebranche les cartes. On peut revenir aux noms classiques via les options kernel net.ifnames=0 biosdevname=0.
Comment changer son IP fixe avec ifconfig ?
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 assigne immédiatement. Pour qu’elle persiste au reboot, éditer /etc/network/interfaces (Debian) ou utiliser nmcli / Network Manager (Ubuntu desktop). Voir aussi DHCP et la réservation côté box pour une approche plus simple.
ifconfig n’est pas trouvée, que faire ?
Sur Ubuntu/Debian récents : sudo apt install net-tools. Sur Fedora/RHEL : sudo dnf install net-tools. Ou apprendre ip qui est toujours présente par défaut.
Outils réseau associés : ping, traceroute, nslookup, et notre encyclopédie IP.