Su un Mac, ping risolve un nome macchina del tailnet mentre nslookup restituisce un errore, e entrambi i comandi dicono la verità. Le app risolvono tramite il resolver di sistema, che Tailscale configura per interfaccia, mentre nslookup e host leggono un file statico che MagicDNS non tocca mai. I due percorsi possono divergere senza che si perda un solo pacchetto. Decidi quale percorso ha preso la tua app che fallisce prima di cambiare qualsiasi impostazione DNS.

Due percorsi di risoluzione, due risposte diverse

Il traffico delle app su macOS passa dal resolver di sistema, e le voci del resolver limitate per interfaccia decidono quale server risponde per quale dominio. Tailscale vi installa la sua voce MagicDNS, per questo Safari e ssh trovano i nomi tailnet. nslookup, host e dig leggono invece /etc/resolv.conf oppure prendono un server sulla riga di comando, e quel file di solito nomina ancora il router o un server d’ufficio. Un nome tailnet inviato a quel file non ha alcuna risposta autorevole ad attenderlo, quindi lo strumento segnala un errore mentre il percorso di sistema riesce.

Nessuno dei due strumenti si comporta male. Interrogano server diversi, e solo uno di quei server conosce il tuo tailnet.

Verifica lo stesso nome tramite il percorso di sistema

Usa la chiamata di ricerca del sistema come primo test, poi confrontala con una query indirizzata direttamente al resolver MagicDNS. Mantieni l’ortografia identica in entrambi, incluso il dominio tailnet, perché un nome breve e un nome completamente qualificato sono domande diverse con risposte diverse.

dscacheutil -q host -a name nas-01.tailnet-a1b2.ts.net
scutil --dns
dig @100.100.100.100 nas-01.tailnet-a1b2.ts.net

Quei tre output rispondono a tre domande: cosa restituisce il sistema, quali resolver sono configurati per quali domini e cosa sa MagicDNS stesso. Un nome presente nel secondo e nel terzo ma assente nel primo indica una configurazione locale e non il tailnet.

Una volta risolto il nome, verifica il servizio

Una risposta DNS corretta dimostra solo che un nome corrisponde a un indirizzo. Il servizio dietro può essere fermo, la porta può essere filtrata da una regola di accesso e un certificato può nominare un host diverso da quello digitato.

nc -vz nas-01.tailnet-a1b2.ts.net 445
ping -c 3 nas-01.tailnet-a1b2.ts.net

Conserva il testo originale dell’errore, perché un avviso di certificato, un timeout di connessione e un nome non trovato portano ciascuno altrove. Cambiare i server dei nomi ripara il terzo e fa perdere un pomeriggio sui primi due.

MagicDNS non sostituisce il DNS d’ufficio

Un nome dentro una zona d’ufficio non è un nome di dispositivo tailnet anche quando lo stesso client può raggiungere entrambi. Quando la destinazione si trova dietro un router di sottorete, il client ha bisogno di uno split DNS per quella zona che punti al resolver interno, che è un’impostazione diversa da MagicDNS ed è documentata accanto a essa.

Anche i domini di ricerca contano. A un nome breve non qualificato viene aggiunto ogni suffisso configurato in ordine, così un portatile che si è recentemente unito a un’altra rete può risolvere tramite un suffisso obsoleto. Controlla quale suffisso è stato applicato prima di dichiarare la zona rotta.

Quando entrambi i percorsi falliscono, decidono i fatti del tailnet

Se la ricerca di sistema e la query diretta falliscono entrambe per un dispositivo che credi esista, il problema è a monte del resolver del Mac.

Conferma il nome della macchina e il dominio tailnet nella console di amministrazione, conferma che il dispositivo è online e approvato, e conferma che le impostazioni DNS del client non sono state disattivate localmente. Un dispositivo offline conserva il suo nome e semplicemente non ha alcun indirizzo da restituire.

Poi scegli in base alle prove. Un nome che si risolve sul percorso di sistema e fallisce in nslookup è una differenza di percorso dello strumento; un nome che si risolve mentre il servizio rifiuta è un problema di accesso o di certificato; un nome che non si risolve da nessuna parte è un problema di tailnet o di configurazione DNS. Tre responsabili, tre correzioni, e la documentazione MagicDNS copre le specificità macOS del primo caso.

Articoli correlati