Deux machines utilisent la même adresse IPv4 sur le réseau local et les connexions deviennent imprévisibles ? Avant d’accuser le switch ou le pare-feu, vérifiez la réponse ARP. Avec arping, vous pouvez interroger une adresse précise, voir les adresses MAC qui répondent et confirmer un conflit avant de modifier la configuration réseau.
Installer arping et choisir l’interface
Sur Debian ou Ubuntu, installez le paquet puis repérez l’interface connectée au réseau concerné :
sudo apt update
sudo apt install arping
ip -br addr
ip route get 192.168.1.1
Remplacez 192.168.1.1 par une adresse de votre réseau. La sortie de ip route get indique notamment l’interface et l’adresse source choisies par Linux. C’est cette interface qu’il faut fournir à arping si la machine en possède plusieurs, par exemple un port Ethernet et du Wi-Fi.
Interroger une adresse IP locale
Lancez une petite série de requêtes ARP avec les droits administrateur :
sudo arping -I eth0 -c 5 192.168.1.50
Adaptez eth0 et l’adresse IP à votre environnement. Une réponse contient normalement une adresse MAC. Le premier contrôle consiste à relancer la commande en ciblant explicitement la bonne interface et à noter la MAC retournée.
Si deux MAC différentes répondent pour la même IPv4, vous avez un signal fort de doublon d’adresse. Une seule réponse ne permet pas toujours de conclure : une adresse peut changer de carte après une migration, un basculement ou une mise en veille. Reproduisez le test depuis un second poste si le doute reste présent.
Croiser avec ip neigh et tcpdump
La table ARP locale permet de comparer la dernière association connue par le noyau :
ip neigh show 192.168.1.50
sudo ip neigh flush to 192.168.1.50 dev eth0
sudo arping -I eth0 -c 5 192.168.1.50
Le vidage de l’entrée force une nouvelle résolution. Ne le faites pas sur une adresse critique pendant une opération sensible sans savoir comment le trafic va se rétablir.
Pour observer les réponses ARP au niveau des paquets, utilisez une capture courte :
sudo tcpdump -ni eth0 'arp and host 192.168.1.50'
Arrêtez la capture avec Ctrl + C. Plusieurs réponses « is-at » provenant de MAC différentes pour la même adresse demandée confirment le problème. La capture doit rester ciblée : laisser tourner tcpdump sans filtre sur un serveur chargé produit vite un fichier et une sortie inutiles.
Ne pas confondre conflit IPv4 et test DAD
Le mode -D d’arping sert à la détection d’adresse en double (DAD) avant qu’une adresse IPv4 ne soit réellement utilisée :
sudo arping -D -I eth0 -c 3 192.168.1.50
Utilisez-le avec prudence et lisez la documentation de la version installée. Ce mode ne remplace pas le diagnostic d’un conflit déjà actif. Sur un serveur distant, gardez une console ou une session de secours avant toute modification d’adresse, de route ou de configuration NetworkManager/Netplan.
Pour un diagnostic complet, conservez l’interface, l’heure, l’adresse ciblée et les MAC observées. Vous pourrez ensuite comparer avec les baux DHCP, l’inventaire du switch ou la configuration des deux machines, au lieu de changer une adresse au hasard.
La page de manuel d’arping détaille les modes disponibles. Pour poursuivre le diagnostic, consultez aussi les guides LinuxEnCaja sur ip addr, la route IP et tcpdump.