GNU/Linux >> Linux Esercitazione >  >> Linux

Rete Linux - Uno strano piccolo problema con DNS, DHCP

Sai come fai a sapere che hai un divertente problema con Linux? Quando ci vuole più tempo per pensare a un titolo adatto per l'articolo rispetto al debug effettivo. Perché ho riscontrato un problema relativo alla rete piuttosto bizzarro e ho passato un po' a cercare di capire cosa dà. L'ho risolto e ora lo condivido.

In sostanza, questo è quello che è successo. Mi sono ritrovato a testare alcuni nuovi router. Nella mia istanza neon di KDE, mi sono connesso al nuovo punto di accesso wireless e ho provato a navigare. Niente. Ho provato con un cavo cablato ed è andato tutto bene. Quindi, ho avviato un'istanza Linux diversa su questa macchina a otto boot e la connettività wireless funzionava senza problemi. Entrambi i sistemi erano basati su Ubuntu, entrambi utilizzavano la linea di base 18.04. Bene, è ora di capire perché la mia radio non si comportava al neon.

Problema in dettaglio

Per ottenere una migliore comprensione del problema, ho provato a eseguire alcuni ping di base. Questo ti darà una buona indicazione se puoi effettivamente raggiungere qualsiasi host remoto, oltre a offrirti un indizio per capire se il tuo DNS è impostato correttamente. Immediatamente, ho notato un problema:

Da 192.168.2.107 (192.168.2.107) icmp_seq=1 Host di destinazione irraggiungibile
Da 192.168.2.107 (192.168.2.107) icmp_seq=2 Host di destinazione irraggiungibile
Da 192.168.2.107 (192.168.2.3.107) Host di destinazione irraggiungibile

Il tentativo di eseguire il ping di QUALSIASI indirizzo (ad esempio dedoimedo.com) si risolverebbe in 192.168.2.107. La cosa peggiore è che l'intervallo del punto di accesso era 192.168.8.X. Quindi qualcosa era codificato in questo diverso intervallo interno e stava rovinando il mio Internetz. Sono stato in grado di confermarlo controllando la tabella di routing:

route
Tabella di instradamento IP del kernel
Destination Gateway Genmask Flag Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 303 0 0 wlp2s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp2s0
192.168.2.0 0.0.0.0 255.255.255.0 U 303 0 0 wlp2s0
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0

Per qualche brutta ragione, ogni volta che mi connettevo alla rete 192.168.8.0, veniva aggiunta anche la rete 192.168.2.0 e impostata come gateway predefinito, il che spiega perché non c'era connettività. Ma questo è successo solo con l'adattatore Wireless e non con quello cablato. Indizio, proprio lì. Ma prima eliminiamo alcune altre opzioni.

Risoluzione di sistema

A questo punto, o meglio, poco prima di questo punto, ero propenso a dare la colpa a systemd. Ma si scopre che non c'è niente di sbagliato in questo. Ora, c'erano / ci sono bug, motivo per cui risulta piuttosto alto se cerchi problemi di connettività in Linux. Per assicurarmi che non fosse il colpevole, l'ho disabilitato:

sudo systemctl disabilita systemd-resolved
sudo systemctl stop systemd-resolved

Ho anche rimosso il collegamento simbolico /etc/resolv.conf e modificato la configurazione gestita dalla rete:

/etc/NetworkManager/NetworkManager.conf

Nella sezione [principale] ho aggiunto:

dns=predefinito

Nessuna differenza finora. Dobbiamo andare avanti.

Gestore di rete

Un altro possibile cattivo può essere il Network Manager. Infatti, per verificare che non stesse facendo qualcosa di strano, ho cancellato tutte le configurazioni Wireless salvate, ho cancellato il suo file di configurazione, riavviato e ricominciato da capo. Neanche questo ha fatto alcuna differenza. Prossimo colpevole.

Soluzione

Possiamo vedere che non possiamo incolpare DNS o Network Manager. Possiamo anche vedere che il gateway sbagliato è configurato ogni volta che mi sono connesso alla rete non 192.168.2.0. Questo molto probabilmente indica qualcosa nella configurazione DHCP:assegnazione automatica (statica) degli indirizzi IP. In effetti, forse c'è una regola statica da qualche parte? Ecco, c'era! Sotto /etc/dhcpcd.conf, avevo quanto segue:

...
slaac private
interfaccia wlp2s0
static ip_address=192.168.2.107/24
static routers=192.168.2.1
static domain_name_servers=127.0.0.1
...

Qualcosa - e sto usando la frase vagamente - aveva configurato un indirizzo IP e un router statici, da qui il problema. E poi, sono stato in grado di ricordare cosa fosse questo qualcosa. Tempo fa avevo testato Pi-Hole su questa scatola. E dopo averlo rimosso, a quanto pare, la configurazione non è stata ripulita. Tutti i diversi bit e pezzi erano spariti, ma non la configurazione DHCP. Non è un problema quando si utilizza una rete che corrisponde al routing statico, ma è grande quando si tenta un intervallo diverso. Appena ho cancellato le due voci per l'interfaccia wireless, le cose sono andate bene! Problema risolto.

Conclusione

È del tutto possibile che non incontrerai mai un problema come questo. Ma se lo fai, salta alle conclusioni che non devi, e dovresti lavorare con attenzione, metodicamente. Devo ammettere che ho sospettato subito systemd, ma poi ho esaminato lentamente i diversi componenti nello stack di rete, finché non ho isolato il cattivo. A quanto pare, un software disinstallato aveva lasciato modifiche alla configurazione sul sistema, causando il problema. Peggio ancora, è successo molti mesi dopo, quindi non è sempre banale collegare i due.

Si spera che tu abbia acquisito alcune informazioni su come affrontare i problemi di rete. Inizia in modo semplice, controlla la connettività di base, prova a correlare le informazioni e poi procedi fino alla causa principale. Qui, avevo Internet di per sé, ma a causa di percorsi configurati in modo errato, non potevo davvero raggiungere i siti Web giusti o risolvere correttamente gli indirizzi. Questo può portarti fuori rotta, ma poi, ho eliminato systemd dall'equazione, ho capito che non era il gestore di rete che stava facendo qualcosa di sbagliato e alla fine mi sono concentrato sull'assegnazione IP/route statica DHCP. Bene, se questo aiuta, comprami una bevanda virtuale di qualche tipo da qualche parte qualche volta. Sono stati fatti. RISPONDI.


Linux
  1. Come correggere il tearing video in Linux (con grafica Intel)

  2. Hai un vero problema con la rete Systemctl?

  3. Cache DNS in Linux

  4. Come registro il server Linux con il server DNS di Windows

  5. Inoltro DNS condizionale con named su Linux

Analisi delle prestazioni del server Linux con atop

Gestione dei processi Linux migliorata con htop

Gestione dei pacchetti Linux con YUM e RPM

Linux Mint 20.2 Uma - Un miscuglio di buono e strano

Ottimizzazione di Notepad++ su Linux

Uno strano problema di Gui con i programmi Gnome?