Quelles sont les raisons de voir un ARP incomplet?

Comme mentionné dans ce message :

La raison pour voir un ARP incomplet est que « Une requête ARP a été envoyée pour cette adresse, mais lhôte avec cette adresse nest pas opérationnel sur le LAN, donc il ny a pas de réponse »

Donc, si un commutateur multicouche envoie une requête ARP à un serveur et nobtient aucune réponse, ARP sera marqué comme incomplet dans la table ARP du commutateur.

Mais que se passe-t-il si le serveur envoie une requête ARP au commutateur mais ne reçoit pas de réponse? Le serveur affichera-t-il lARP incomplet dans sa table ARP et le commutateur naffichera aucune entrée?

En supposant que ce qui précède est correct, pouvons-nous dire que si vous voyez lentrée ARP incomplète sur un périphérique local, le problème est avec lappareil à lautre extrémité de la connexion (ou du câblage)? Ou y a-t-il des exceptions?

Commentaires

  • Comme le souligne @RonTrunk, un commutateur est un périphérique transparent de couche 2 qui ne sait pas ou ne sen soucie pas à propos de ladressage de couche 3 (IP), donc il nutilise ni ne répond à lARP ‘. Le commutateur peut être géré, donc la gestion du commutateur est comme un hôte sur le réseau, et il a une interface de couche 3 qui utilise et répond à ARP, mais cela na rien à voir avec la fonction de commutation, qui ne sait toujours rien à propos de la couche 3. Ne confondez pas ‘ ARP sur les périphériques de couche 3 avec la table dadresses MAC des commutateurs. Beaucoup de gens les confondent.
  • Le commutateur agit-il comme une passerelle L3 ou simplement comme un commutateur L2?
  • @cpt_fink, oui par  » commutateur  » Je voulais dire un commutateur multicouche (passerelle L3)

Réponse

Pour un commutateur de couche 3, le module de couche 3 du commutateur est un routeur, et il fonctionne comme un routeur, qui fonctionne comme nimporte quel autre hôte pour ARP. Un commutateur de couche 3 est toujours principalement un commutateur de couche 2, et le commutateur de couche 2 agit toujours comme un commutateur de couche 2. Les parties layer-3 et layer-2 dun commutateur layer-3 sont vraiment séparées. Les interfaces de couche 3 (à la fois les interfaces virtuelles et toutes les interfaces physiques configurées comme interfaces de couche 3) utiliseront une table ARP, mais les interfaces de couche 2 utiliseront une table dadresses MAC.

Lorsquun hôte, incluant un routeur ou le module de routage dans un commutateur de couche 3, envoie une requête ARP et ne reçoit aucune réponse, il marque lentrée de la table ARP comme incomplete.

Mais que faire si le serveur envoie une requête ARP au commutateur mais ne reçoit pas de réponse? Le serveur affichera-t-il lARP incomplet dans sa table ARP et le commutateur naffichera aucune entrée?

Cela dépend. Si un hôte envoie une requête ARP à un autre hôte, y compris un routeur, mais quil na pas encore reçu de réponse, alors lentrée de la table ARP hôte sera marquée incomplete pour ladresse IPv4 du routeur.

Ce que le routeur a dans sa table ARP dépend de si le routeur a ou non reçu la requête ARP, et si le routeur a déjà ou non une entrée de table ARP pour lhôte.

  • Un routeur avec une entrée de table ARP existante pour lhôte continuera à avoir cette entrée jusquà ce que le routeur la purge en raison dun délai dexpiration. Le délai dexpiration nest pas imposé par la RFC, mais la RFC a une section qui traite de la possibilité dutiliser un délai dexpiration pour les entrées de table ARP, et la plupart des hôtes le font:

    Il peut être souhaitable davoir une table vieillissante et / ou des délais dexpiration. Limplémentation de ceux-ci sort du cadre de ce protocole.

  • Si le routeur na jamais reçu la requête ARP, et quil navait aucune entrée pour lhôte, alors il ny aura aucune entrée dans la table ARP du routeur.
  • Si le routeur a reçu la requête ARP de lhôte, mais que la réponse à lhôte a été perdue, le routeur aura un ARP complet entrée de table pour lhôte.

Pour comprendre comment fonctionne ARP, vous devriez lire RFC 826, An Protocole de résolution dadresse Ethernet – ou – Conversion dadresses de protocole réseau en adresse Ethernet 48 bits pour transmission sur matériel Ethernet . Noubliez pas que ARP fonctionne pour IPv4, mais pas pour IPv6, qui a ND (Neighbor Discovery) au lieu dARP.

Réponse

Une résolution ARP réussie est nécessaire pour que deux nœuds IPv4 communiquent sur un segment de couche 2 commun (généralement Ethernet).

Les requêtes ARP incomplètes ont deux raisons fondamentales.

  1. La requête ARP na pas reçu de réponse. Soit le nœud de destination na pas reçu la demande ARP, soit sa réponse na pas été reçue. Le nœud de destination est peut-être en panne.

  2. Le masque de réseau du nœud source nest pas configuré correctement.Le nœud source considère toutes les destinations au sein de son propre sous-réseau local ou en liaison: il sattend à pouvoir leur parler directement via son interface Ethernet, sans laide dun routeur de passerelle.

    Quand par ex. un nœud dans le sous-réseau 192.168.0.0/24 est mal configuré avec 192.168.0.10/16 il considère une destination comme 192.168.16.1 locale. Il nessaiera pas dutiliser une passerelle mais tentera un ARP direct qui reste incomplet.

Que la source ou le nœud de destination / prochain bond soit un routeur, un commutateur multicouche ou le nœud final na pas dimportance.

Réponse

La table ARP du commutateur nest utilisée que par linterface de gestion du commutateur pour le trafic IP généré par le commutateur lui-même.

Sinon, les commutateurs ne regardent que les informations de la couche 2. Ils ne comprennent pas lARP.

Commentaires

  • oui, je voulais dire un commutateur multicouche

Réponse

Une autre raison possible – dhcpcd paramètres incorrects

Jajoute cette réponse, bien quelle ne soit (probablement) pas directement liée à la question spécifique ci-dessus, elle est pertinente dans certains cas

Si les paramètres statiques dun système ip / dhcp sont incorrects, ceci peut apparaître comme un effet secondaire indirect.

Dans mon cas spécifique, javais une machine Linux dont jai déplacé les emplacements et changé la configuration du réseau ngs for.

Jai oublié de les mettre à jour dans /etc/dhcpcd.conf, lorsque jai de nouveau déplacé la machine.

Ceci est mon dhcpcd.conf

interface eth0 static ip_address=192.168.1.8/24 static routers=192.168.1.254 #static routers=192.168.1.1 static domain_name_servers=127.0.0.1 

Quand il était  » cassé « , jai fait commenter la ligne static routers=192.168.1.254 et la ligne ci-dessous #static routers=192.168.1.1 na pas été commentée.

Cela a alors amené arp à afficher une entrée non valide ( » incomplète « ) pour ladresse 192.168.1.1.

Même si jai déplacé ce système il y a seulement une semaine, puis je lai déplacé il y a quelques jours, je navais absolument aucune idée de ce qui nallait pas avec ça. Autant que je sache, je pouvais le connecter à mon réseau local, ssh dedans très bien, et il ny avait aucun problème avec ip addr. traceroute naffichait pas non plus dinformations utiles, cela suggérait simplement que toutes les requêtes étaient acheminées via un seul saut vers  » nom dhôte de la machine « . Évidemment, cela navait aucun sens et était faux, mais cela ne me donnait aucune indication sur la nature du problème – cela impliquait que toutes les requêtes étaient résolues (en quelque sorte) sur le même machine. Cette machine fait du DNS au fait.

Pas directement lié à la question de lOP, mais peut être très utile à dautres qui auront ce problème à lavenir, et cest la seule façon que vous avez trouvée jusquà présent pour diagnostiquez-le, car rien dautre ne semble être faux!

Juste quelques notes sur la façon dont jai diagnostiqué cela

  • Lorsque vous utilisez cette machine comme serveur DNS pour dautres machines sur le réseau, ces machines nont pas pu résoudre les requêtes DNS externes
  • Jai pu ssh dans le serveur DNS (cela serait normal car son IP est définie comme statique, et le commutateur / routeur sattend également à voir une machine avec cela IP statique connectée sur lEthernet local via le commutateur).
  • La première chose qui indiquait un problème était léchec de sudo apt update. (Comme il sagit dun serveur DNS, il na pas dinterface graphique et donc, bien que lexécution de quelque chose comme un navigateur Web aurait indiqué ce problème beaucoup plus tôt, ou à partir de licône de la barre détat du bureau réseau, il na aucune de ces choses.)
  • ping 8.8.8.8 échouait également, mais ssh et le ping des machines locales étaient corrects
  • Jai vérifié /etc/network/interfaces[.d] cependant, tous les fichiers de ces répertoires étaient vides / définis par défaut, car le logiciel DNS les gère
  • Il ny avait pas derreurs / davertissements dans le logiciel DNS lors de la connexion au serveur DNS via linterface Web fournie
  • Jai commencé à vérifier des éléments tels que ip addr (aucun problème) et arp. Jai déjà dit traceroute na pas indiqué quel pourrait être le problème, mais a indiqué quil se passait quelque chose de bizarre.
  • La recherche des raisons pour lesquelles arp pourrait avoir une entrée incomplète ma guidé dans la bonne direction
  • Jai trouvé cette question ( https://serverfault.com/questions/765380/when-do-stale-arp-entries-become-failed-when-never-used ) et jai commencé à chercher comment supprimer les entrées arp
  • Je supprime lentrée avec arp -d 192.168.1.1
  • Cependant, il revenait sans cesse
  • Jai essayé de me connecter à 192.168.1.1 sur mon réseau local depuis un autre machine, mais je nai pas été surpris de ne pas pouvoir faire cela ou envoyer un ping car il ny a pas de machines sur mon réseau avec cette adresse
  • Habituellement, cette adresse serait ladresse de votre passerelle / routeur FAI dans applications domestiques
  • Cela ma rappelé que javais configuré une carte réseau à lautre emplacement pour avoir ladresse 192.168.1.1, et que lordinateur qui était connecté à cette adresse était utilisé comme routeur pour connecter les réseaux 192.168.0.X et 192.168.1.X
  • Lemplacement dorigine est sur le réseau 192.168.1.X, lemplacement vers lequel jai déménagé était le 192.168.0.X
  • Depuis la plupart des 192.168.1.X/24 les réseaux utilisent 192.168.1.1 comme passerelle par défaut, car cette adresse IP na pas suscité de soupçons au départ, et elle ne semble pas  » bizarre  » pour une raison quelconque
  • Cependant, jai changé la passerelle par défaut dans dhcpcd.conf comme décrit ci-dessus et le problème a été résolu
  • Leçon apprise, lors de la création dun étrange réseau dordinateur à ordinateur hors site temporairement, donnez à ladaptateur de routeur / NIC une adresse IP statique étrange comme 192.168.1.50 – cela peut aider à se rappeler ou indiquer que quelque chose dextraordinaire est défini dans un fichier de paramètres quelque part

Commentaires

  • Malheureusement, les configurations hôte / serveur sont hors sujet ici, mais peuvent être gérées sur Server Fault pour un busines réseau de s.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *