Vérifier le cache des voisins ARP et NDP de Sophos Firewall
Lorsqu’un appareil reste inaccessible malgré une adresse IP correcte, le problème ne vient pas nécessairement d’une règle de pare-feu ou d’une route. Sur le réseau local, Sophos Firewall a également besoin de l’adresse MAC correcte de la destination. Cette association est enregistrée dans le cache des voisins.
Sous Network > Neighbors (ARP–NDP), il est possible de vérifier l’adresse MAC et l’interface actuellement associées à chaque adresse IP. Il faut d’abord documenter l’entrée existante et la comparer à la situation réelle du réseau. Le cache concerné ne doit être vidé et réappris que si l’association est obsolète.
⚠️ Flush vide le cache IPv4 ou IPv6 sélectionné, et pas seulement une ligne. Sur un pare-feu en production, il convient donc de relever d’abord l’entrée actuelle, de limiter la portée du test et d’éviter de vider le cache pendant un pic de charge.
Rôle d’ARP, de NDP et du cache des voisins
ARP associe une adresse IPv4 à une adresse MAC dans le segment local de couche 2. Il s’agit d’un appareil directement joignable, généralement dans le même VLAN. Pour IPv6, le Neighbor Discovery Protocol (NDP) remplit cette fonction à l’aide d’ICMPv6. Le pare-feu a besoin de ces informations avant de pouvoir envoyer un paquet au prochain voisin via une interface directement connectée.
Par défaut, les associations apprises dynamiquement restent 600 secondes dans le cache. Elles sont ensuite réapprises lorsque cela est nécessaire. Une entrée obsolète peut apparaître après le remplacement d’un appareil ou d’une carte réseau, ou après le déplacement d’une VM. Une adresse IP attribuée en double peut en revanche faire changer régulièrement l’adresse MAC affichée.
Le cache des voisins ne concerne que les voisins directement joignables dans le segment de couche 2 correspondant. Pour une destination distante, le pare-feu mémorise l’adresse MAC du prochain routeur et non celle du serveur de destination.
Il ne s’agit pas de Proxy ARP : dans ce cas, le pare-feu répond sur une interface à la requête ARP IPv4 destinée à une autre adresse, en son nom. Ce cas particulier est traité séparément dans Configurer et vérifier Proxy ARP sur Sophos Firewall.
Vérifier d’abord le cache des voisins
- Ouvrir Network > Neighbors (ARP–NDP).
- Sous Show, sélectionner IPv4 neighbor cache ou IPv6 neighbor cache.
- Rechercher l’adresse IP concernée.
- Noter l’adresse IP, l’adresse MAC et l’interface.
- Sous Static neighbor table, vérifier qu’il n’existe pas de liaison fixe incorrecte pour la même adresse IP.
- Comparer l’adresse MAC avec celle du terminal, de l’hyperviseur, du switch ou du prochain routeur.
L’interface est tout aussi importante que l’adresse MAC. Une association IP-MAC correcte sur le mauvais port indique souvent un problème de VLAN, de bridge, de LAG ou de câblage. L’adresse MAC attendue se trouve par exemple dans les informations réseau du terminal, dans la table MAC du switch ou sur le routeur directement connecté. Si l’entrée est complètement absente, il faut lancer depuis le pare-feu un ping ciblé vers l’adresse IP concernée, puis vérifier de nouveau l’affichage.
Pour IPv4, la table ARP actuelle peut également être affichée dans la Device Console. Après la connexion par SSH ou par la console, ouvrir Option 4: Device Console et exécuter :
system diagnostics utilities arp show
Cette commande se contente de lire l’état sans le modifier. Elle est particulièrement utile lorsque WebAdmin est inaccessible ou lorsqu’il faut contrôler rapidement l’association pendant un test. Pour IPv6, la vue IPv6 neighbor cache dans WebAdmin reste le point de contrôle de référence. L’accès est expliqué dans Se connecter à Sophos Firewall par SSH.
Réapprendre une association obsolète de manière contrôlée
Vider le cache est une étape de diagnostic, pas une correction durable. Cette opération ne supprime pas non plus une liaison statique incorrecte. Si la même association erronée réapparaît, sa cause est toujours présente dans le réseau.
- Documenter l’adresse IP, l’adresse MAC et l’interface actuelles.
- Reproduire le problème avec un seul ping ou une seule tentative de connexion.
- En cas de suspicion d’adresse IP en double ou de manipulation, enregistrer d’abord l’état actuel et une courte capture. Un vidage immédiat ferait disparaître cet indice.
- Sous Show, sélectionner le cache IPv4 ou IPv6 concerné.
- Cliquer sur Flush. Le cache sélectionné est alors vidé.
- Générer de nouveau un trafic ciblé depuis l’appareil concerné.
- Vérifier l’adresse MAC et l’interface réapprises.
- Tester de nouveau le service initial avec la même source et la même destination.
Pour effectuer un test contrôlé depuis la Device Console, il est par exemple possible d’envoyer quatre paquets à une adresse de destination documentée :
ping 192.0.2.10 count 4
ping6 2001:db8:10::10 count 4
Ces adresses sont des exemples et doivent être remplacées par la destination IPv4 ou IPv6 réelle. Un ping réussi confirme uniquement la joignabilité de base ; le service qui présentait initialement le problème doit encore être testé ensuite.
Le réapprentissage peut occasionner un bref délai. Réduire fortement et globalement le délai d’expiration est rarement la meilleure solution : le pare-feu doit alors résoudre les voisins plus souvent, sans pour autant corriger une adresse IP en double ou un mauvais port de switch.
Si, après le vidage du cache, seule une adresse IP publique ne bascule toujours pas vers la nouvelle adresse MAC du pare-feu, l’entrée obsolète se trouve probablement chez le fournisseur ou sur un routeur en amont. La procédure distincte Résoudre les problèmes ARP après une migration de pare-feu traite ce cas.
Créer un voisin statique uniquement pour une association fixe
Un voisin statique lie durablement une adresse IP à une adresse MAC et à une interface physique. Une seule liaison de ce type peut exister par adresse IP. Le pare-feu consulte les entrées statiques avant le cache dynamique et supprime, lors de l’enregistrement, les références dynamiques de la même adresse IP. Si l’adresse IP, l’adresse MAC ou le port change par la suite, la connexion peut échouer alors même que le terminal est correctement configuré.
Les entrées statiques conviennent donc aux systèmes stables, par exemple à un équipement d’infrastructure câblé de manière permanente et doté d’une adresse IP fixe. Elles sont généralement inadaptées aux clients DHCP, aux appareils mobiles, aux basculements HA ou aux déplacements de VM, ainsi qu’aux ports de switch variables.
Sous Network > Neighbors (ARP–NDP), afficher Static neighbor table et sélectionner Add. Configurer ensuite les valeurs suivantes :
- IP version: Sélectionner IPv4 ou IPv6.
- IPv4/IPv6 address: Saisir l’adresse fixe de l’appareil.
- MAC address: Saisir l’adresse MAC réelle de cet appareil.
- Interface: Sélectionner l’interface physique par laquelle le voisin est joignable.
Un exemple documenté peut utiliser 192.0.2.10, 02:00:00:00:00:10 et Port1. Ces valeurs sont des exemples et doivent toutes être remplacées par l’adresse IP, l’adresse MAC et le port réels.
L’option Add as a trusted MAC address to prevent a spoofing attempt ajoute également l’association IP-MAC à la liste des adresses MAC de confiance. Elle ne doit être activée que si cette stratégie de protection est appliquée volontairement, car un changement ultérieur de VM, de NIC ou de port peut alors apparaître comme un conflit légitime. Vérifier la protection contre l’usurpation et les paramètres DoS de Sophos Firewall explique l’interaction de ces liaisons avec les réseaux dynamiques, DHCP et la virtualisation.
Après l’enregistrement, il faut tester précisément l’appareil lié. Il convient également de documenter qui adaptera l’entrée lors d’un changement de matériel, d’adresse IP ou de port. Sans responsabilité définie, une liaison statique peut devenir par la suite une cause d’erreur invisible.
Vérifier les tentatives possibles d’empoisonnement des voisins
Une liaison statique définit la combinaison attendue d’adresse IP, d’adresse MAC et d’interface. Si la même adresse IP apparaît avec une autre adresse MAC, ou si la même combinaison IP-MAC apparaît sur un autre port lié, le pare-feu considère cette situation comme une possible manipulation et ne met pas le cache à jour avec l’association divergente.
Sous Network > Neighbors (ARP–NDP), il est possible d’activer Log possible neighbor poisoning attempts, puis d’enregistrer avec Apply. Cette option facilite le diagnostic, mais chaque différence ne doit pas être immédiatement interprétée comme une attaque. Une adresse IP en double, une carte réseau remplacée, une VM déplacée ou un changement de port peuvent également provoquer un conflit.
Les paquets ARP IPv4 rejetés peuvent être affichés dans la Device Console pendant un test court :
drop-packet-capture 'arp'
En présence de nombreuses interfaces, il est possible de limiter la sortie à un port physique :
drop-packet-capture interface Port1 'arp'
Port1 est un exemple qui doit être remplacé par l’interface concernée. Il faut ensuite reproduire le problème une fois et arrêter l’affichage en direct avec Ctrl+C. Le filtre affiche uniquement les paquets ARP rejetés et ne constitue pas une archive permanente des journaux. Pour NDP en IPv6 ou pour une analyse générale des paquets, utiliser La capture de paquets dans WebAdmin et limiter précisément la capture par source, destination, protocole et interface.
Interpréter les symptômes courants
- La destination reste inaccessible après le remplacement d’un appareil ou d’une NIC : Comparer l’ancienne adresse MAC à la nouvelle valeur apprise, vider le cache de manière contrôlée, puis tester de nouveau.
- L’adresse MAC change régulièrement : Rechercher une adresse IP en double, un bail DHCP, une VM clonée ou un comportement HA. Une entrée statique ne ferait que masquer le conflit réel.
- L’association apparaît sur la mauvaise interface : Vérifier le VLAN, le bridge, le LAG, le port du switch et le câblage.
- Un appareil lié de manière statique tombe en panne après une modification : Comparer l’adresse IP, l’adresse MAC et le port physique avec la liaison, puis adapter ou supprimer délibérément l’entrée.
- Seul IPv6 est concerné : Vérifier le cache des voisins IPv6, les Router Advertisements, le VLAN et le chemin ICMPv6. Une commande ARP IPv4 ne fournit aucun élément pour ce cas.
- Les paquets atteignent le pare-feu, mais le service ne fonctionne toujours pas : Vérifier séparément la règle de pare-feu, la NAT, le routage et le chemin retour. Le cache des voisins confirme uniquement la livraison locale de couche 2.
Contrôle final
- L’adresse IP concernée, l’adresse MAC attendue et l’interface sont documentées.
- Le cache IPv4 ou IPv6 a été vérifié avant toute modification.
- Si nécessaire, seul le cache sélectionné a été vidé et un trafic ciblé a été généré.
- L’association réapprise a été comparée avec le terminal, le switch, l’hyperviseur ou le routeur.
- Une liaison statique n’a été utilisée que pour une association IP-MAC-port durablement stable.
- L’avertissement d’empoisonnement a été distingué d’une adresse IP en double, d’un remplacement d’appareil et de modifications du réseau.
- Le service initial a été testé de nouveau après le contrôle de couche 2.