Quali sono i motivi per vedere un ARP incompleto?

Come menzionato in questo post :

Il motivo per vedere un ARP incompleto è che “È stata inviata una richiesta ARP per quellindirizzo, ma lhost con quellindirizzo non è attivo e in esecuzione sulla LAN, quindi non cè risposta”

Quindi, se uno switch multistrato invia una richiesta ARP a un server e non riceve risposta, ARP verrà contrassegnato come incompleto nella tabella ARP dello switch.

Ma cosa succede se il server invia una richiesta ARP al cambia ma non riceve risposta? Il server mostrerà ARP incompleto nella sua tabella ARP e lo switch non mostrerà alcuna voce?

Supponendo che quanto sopra sia corretto, possiamo dire che se vedi la voce ARP incompleta su un dispositivo locale, il problema è con il dispositivo allaltra estremità del collegamento (o del cablaggio)? O ci sono delle eccezioni?

Commenti

  • Come sottolinea @RonTrunk, uno switch è un dispositivo di livello 2 trasparente che non conosce o non si preoccupa sullindirizzamento di livello 3 (IP), quindi ‘ non utilizza né risponde allARP. Lo switch può essere gestito, quindi la gestione dello switch è come un host sulla rete, e ha uninterfaccia di livello 3 che utilizza e risponde a ARP, ma che non ha nulla a che fare con la funzione di commutazione, che ancora non sa nulla sul livello 3. Non ‘ confondere ARP sui dispositivi di livello 3 con la tabella degli indirizzi MAC degli interruttori. Molte persone li confondono.
  • Linterruttore funge da gateway L3 o semplicemente da interruttore L2?
  • @cpt_fink, sì da ” switch ” Intendevo uno switch multistrato (gateway L3)

Risposta

Per uno switch di livello 3, il modulo di livello 3 nello switch è un router e funziona proprio come un router, che funziona come qualsiasi altro host per ARP. Un interruttore di livello 3 è ancora principalmente un interruttore di livello 2 e linterruttore di livello 2 funziona ancora come un interruttore di livello 2. Le parti di livello 3 e di livello 2 di un interruttore di livello 3 sono realmente separate. Le interfacce di livello 3 (sia le interfacce virtuali che le interfacce fisiche configurate come interfacce di livello 3) utilizzeranno una tabella ARP, ma le interfacce di livello 2 utilizzeranno una tabella di indirizzi MAC.

Quando un host, includendo un router o il modulo di routing in uno switch di livello 3, invia una richiesta ARP e non riceve risposta, contrassegna la voce della tabella ARP come incomplete.

Ma cosa succede se il server invia una richiesta ARP allo switch ma non riceve risposta? Il server visualizzerà un ARP incompleto nella sua tabella ARP e lo switch non mostrerà alcuna voce?

Dipende. Se un host invia una richiesta ARP a un altro host, incluso un router, ma non ha ancora ricevuto una risposta, la voce della tabella ARP dellhost verrà contrassegnata con incomplete per lindirizzo IPv4 del router.

Ciò che il router ha nella sua tabella ARP dipende dal fatto che il router abbia ricevuto o meno la richiesta ARP e se il router ha già o meno una voce nella tabella ARP per lhost.

  • Un router con una voce di tabella ARP esistente per lhost continuerà ad avere quella voce fino a quando il router non la elimina a causa di un timeout. Il timeout non è imposto dalla RFC, ma la RFC ha una sezione che si occupa della possibilità di utilizzare un timeout per le voci della tabella ARP e la maggior parte degli host lo fa:

    Potrebbe essere desiderabile avere una durata della tabella e / o timeout. Limplementazione di questi è al di fuori dellambito di questo protocollo.

  • Se il router non ha mai ricevuto la richiesta ARP e non aveva voce per lhost, quindi non ci sarà alcuna voce nella tabella ARP del router.
  • Se il router ha ricevuto la richiesta ARP dallhost, ma la risposta allhost è andata persa, il router avrà un ARP completo voce della tabella per lhost.

Per capire come funziona ARP, dovresti leggere RFC 826, An Ethernet Address Resolution Protocol – o – Conversione degli indirizzi del protocollo di rete in un indirizzo Ethernet a 48 bit per la trasmissione su hardware Ethernet . Ricorda che ARP funziona per IPv4, ma non per IPv6, che ha ND (Neighbor Discovery) invece di ARP.

Answer

Una risoluzione ARP corretta è necessaria affinché due nodi IPv4 comunichino su un segmento di livello 2 comune (solitamente Ethernet).

Le richieste ARP incomplete hanno due ragioni fondamentali.

  1. La richiesta ARP non ha ricevuto risposta. O il nodo di destinazione non ha ricevuto la richiesta ARP o la sua risposta non è stata ricevuta. Il nodo di destinazione potrebbe essere inattivo.

  2. La maschera di rete del nodo di origine non è configurata correttamente.Il nodo sorgente considera tutte le destinazioni allinterno della propria sottorete locale o on-link: si aspetta di poter parlare con loro direttamente tramite la sua interfaccia Ethernet, senza laiuto di un router gateway.

    Quando ad es. un nodo allinterno della sottorete 192.168.0.0/24 è impostato in modo errato con 192.168.0.10/16 considera una destinazione come 192.168.16.1 local. Non proverà a utilizzare un gateway ma tenterà un ARP diretto che rimane incompleto.

Se la sorgente o il nodo di destinazione / salto successivo è un router, switch multistrato o il nodo finale non ha importanza.

Risposta

La tabella ARP dello switch viene utilizzata solo dallinterfaccia di gestione dello switch per il traffico IP generato dallo switch stesso.

Altrimenti, gli switch guardano solo le informazioni di livello 2. Non comprendono ARP.

Commenti

  • sì, intendevo un interruttore multistrato

Risposta

Un altro possibile motivo: dhcpcd impostazioni errate

Aggiungo questa risposta, sebbene (probabilmente) non sia direttamente correlata alla domanda specifica di cui sopra, è rilevante in alcuni casi

Se le impostazioni di ip / dhcp statico di un sistema non sono corrette, questo può apparire come un effetto collaterale indiretto.

Nel mio caso specifico avevo una macchina Linux su cui ho spostato posizioni e cambiato i setti di rete ngs for.

Ho dimenticato di aggiornarli in /etc/dhcpcd.conf, quando ho spostato di nuovo la macchina.

Questo è il mio 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 

Quando ” non funzionava “, la riga static routers=192.168.1.254 era stata commentata e la riga sotto #static routers=192.168.1.1 non era commentata.

Ciò ha causato la visualizzazione di una voce non valida da arp (” incompleta “) lindirizzo 192.168.1.1.

Anche se ho spostato questo sistema solo una settimana fa e poi lho spostato indietro alcuni giorni fa, non avevo assolutamente idea di cosa fosse sbagliato con esso. Per quanto ne sapevo, potevo collegarlo alla mia rete locale, ssh al suo interno e non cerano problemi con ip addr. traceroute inoltre non mostrava alcuna informazione utile, suggeriva solo che tutte le query andassero tramite un unico salto al ” nome host della macchina “. Ovviamente non aveva senso ed era sbagliato, ma non mi dava alcuna indicazione su quale fosse il problema: implicava che tutte le domande venivano risolte (in qualche modo) sul stessa macchina. Questa macchina fa DNS tra laltro.

Non direttamente correlato alla questione dellOP, ma potrebbe essere molto utile ad altri che hanno questo problema in futuro, e questo è lunico modo che hai trovato finora per diagnosticare, poiché non molto altro sembra essere sbagliato!

Solo alcune note su come lho diagnosticato

  • Quando si utilizza questa macchina come server DNS per altre macchine sul rete, quelle macchine non sono state in grado di risolvere le richieste DNS esterne
  • Potrei ssh nel server DNS (ci si aspetterebbe che il suo IP sia statico e lo switch / router si aspetta anche di vedere una macchina con questo IP statico connesso allEthernet locale tramite lo switch).
  • La prima cosa che indicava qualche problema era sudo apt update non riuscita. (Poiché si tratta di un server DNS, non ha uninterfaccia grafica e quindi anche se lesecuzione di qualcosa come un browser web avrebbe indicato questo problema molto prima, o dallicona della barra delle applicazioni del desktop di rete, non ha nessuna di queste cose.)
  • ping 8.8.8.8 non funzionava, tuttavia ssh e il ping delle macchine locali andavano bene
  • Ho controllato /etc/network/interfaces[.d] tuttavia tutti i file in queste directory erano vuoti / impostati sui valori predefiniti, poiché il software DNS li gestisce
  • Non cerano errori / avvisi nel software DNS durante la connessione al server DNS tramite linterfaccia web fornita
  • Ho iniziato a controllare cose come ip addr (nessun problema) e arp. Ho già detto traceroute non indicava quale potesse essere il problema, ma indicava che stava succedendo qualcosa di strano.
  • La ricerca dei motivi per cui arp potrebbe avere una voce incompleta mi ha guidato lungo le linee giuste
  • Ho trovato questa domanda ( https://serverfault.com/questions/765380/when-do-stale-arp-entries-become-failed-when-never-used ) e ho iniziato a cercare come rimuovere le voci ARP
  • Ho rimosso la voce con arp -d 192.168.1.1
  • Tuttavia continuava a tornare
  • Ho provato a connettermi a 192.168.1.1 sulla mia rete locale da un altro macchina, tuttavia non sono rimasto sorpreso di non poterlo fare o eseguire il ping perché non ci sono macchine sulla mia rete con questo indirizzo
  • Di solito, questo indirizzo sarebbe lindirizzo del tuo gateway / router ISP in applicazioni domestiche
  • Questo mi ha ricordato che avevo impostato una scheda di rete nellaltra posizione per avere lindirizzo 192.168.1.1 e che il computer che era connesso a questo indirizzo veniva utilizzato come router per connettere le reti 192.168.0.X e 192.168.1.X
  • La posizione originale è sulla rete 192.168.1.X, la posizione in cui mi sono trasferito era su 192.168.0.X
  • Poiché la maggior parte di 192.168.1.X/24 reti utilizzano 192.168.1.1 come gateway predefinito, visto che questo IP inizialmente non ha destato sospetti e non sembrava ” strano ” per qualsiasi motivo
  • Tuttavia ho cambiato il gateway predefinito in dhcpcd.conf come descritto sopra e il problema è stato risolto
  • Lezione appresa, quando si crea temporaneamente una strana rete da computer a computer fuori sede, assegna alladattatore del router / NIC uno strano IP statico come 192.168.1.50 – che potrebbe aiutare a ricordare a se stessi o indicare che qualcosa fuori dallordinario è impostato in un file di impostazioni da qualche parte

Commenti

  • Sfortunatamente, le configurazioni host / server sono fuori tema qui, ma possono essere gestite su Server Fault per aziende rete di s.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *