Connetti il VPN e un nome host si risolve all’indirizzo di ieri, o a niente. Disconnetti e funziona di nuovo. Il riflesso è dare la colpa al resolver che il tunnel ha imposto, ma la causa più comune è un server di nomi pubblicato che ha smesso di ricevere aggiornamenti della zona. Il nuovo percorso ha semplicemente raggiunto un’autorità diversa da quella da cui proveniva la risposta in cache.

Il sintomo cambia con il resolver

Un resolver ricorsivo restituisce ciò che un’autorità gli ha detto, poi conserva quella risposta per il TTL. Se il tunnel impone un altro resolver, o cambia il percorso in modo che il vecchio non sia più raggiungibile, il client interroga un’altra autorità e ottiene un’altra risposta. Il dominio non è cambiato in quel momento; è cambiata la tua visione di esso.

Per questo lo stesso nome può funzionare in un ufficio e fallire da un hotel, e per questo svuotare una cache locale aiuta solo a volte. Svuotare la cache rimanda la domanda alla stessa autorità.

Il test decisivo è una query diretta a ogni server pubblicato.

Interroga ogni autorità direttamente

Parti dalla delega, non da un elenco che ricordi. Chiedi al genitore il set NS, poi interroga ogni nome di quel set per il record che ti interessa. Due query sullo stesso nome presso autorità diverse ti dicono subito se la zona è coerente.

dig +short NS example.com
dig @ns1.dns.example app.example.com A
dig @ns2.dns.example app.example.com A

Fai lo stesso per i record NS all’apice della zona, perché la delega del genitore e il set NS proprio della zona possono divergere dopo una migrazione. I numeri di serie nel SOA sono la cosa successiva da confrontare, e un secondario molto indietro è un problema di trasferimento, non di risposta.

Esegui quelle query dalla rete che fallisce, non solo dalla tua scrivania.

Separa le viste volute da quelle rotte

Alcuni domini rispondono deliberatamente in modo diverso per regione o gruppo di resolver, e le configurazioni a orizzonte diviso sono normali nelle reti aziendali.

La questione è se la differenza è documentata e stabile. Una vista non voluta si riconosce diversamente: un’autorità ha un record che le altre non hanno mai ricevuto, o ne manca uno che tutte condividono. La guida RFC 2182 alla selezione e alla distribuzione tratta la disponibilità autorevole come una responsabilità condivisa, e questa è la cornice giusta qui. La ridondanza esiste solo se ogni server pubblicato può rispondere con i dati voluti, non se accetta soltanto una connessione sulla porta 53.

Un server che risponde SERVFAIL è più facile da diagnosticare di uno che risponde con sicurezza e in modo errato.

Una migrazione rivela ciò che una cache nascondeva

Durante un cambio di fornitore cambiano due sedi autorevoli: la delega del genitore e i record NS propri della zona. Entrambe vanno aggiornate, ed entrambe sono in cache per i loro TTL. Se un vecchio server resta attivo e continua a servire la zona precedente, i client i cui resolver lo interrogano continueranno a ricevere la vecchia risposta molto dopo che il passaggio è sembrato completo.

È esattamente lo stato che una cache di lunga durata nasconde. La postazione che ha funzionato tutta la settimana parlava con un resolver che aveva una risposta fresca dalla nuova autorità, mentre il vecchio continuava a distribuire dati obsoleti a tutti gli altri.

Cambiare il resolver su un portatile ripara quel portatile e nient’altro.

Ripara la zona, non il resolver

Individua quali server devono essere autorevoli per la zona, correggi la zona gestita o la delega perché ognuno di essi serva i dati voluti, e mantieni la ridondanza che avevi pianificato. Eliminare un server di nomi perché un’uscita VPN ha ricevuto una risposta strana riduce la disponibilità e lascia l’incoerenza al suo posto.

Poi esegui di nuovo le query dirette da entrambe le reti e attendi la scadenza del TTL del record che hai modificato.

Conferma che la risposta è stabile da ogni autorità, e annota la vista voluta nella documentazione della zona perché la prossima differenza sia facile da classificare.

Articoli correlati