Tailscale MagicDNS funciona, mas o nslookup falha no macOS
As apps do macOS resolvem através do resolver do sistema; o nslookup lê um ficheiro estático. Teste o mesmo nome tailnet nos dois caminhos antes de alterar qualquer definição de DNS.
No Mac, o ping resolve um nome de máquina tailnet enquanto o nslookup devolve uma falha, e ambos os comandos dizem a verdade. As apps resolvem através do resolver do sistema, que o Tailscale configura por interface, enquanto o nslookup e o host leem um ficheiro estático que o MagicDNS nunca toca. Os dois caminhos podem divergir sem que se perca um único pacote. Decida que caminho seguiu a sua app que falha antes de alterar qualquer definição de DNS.
Dois caminhos de resolução, duas respostas diferentes
O tráfego das apps no macOS passa pelo resolver do sistema, e as entradas de resolver limitadas por interface decidem que servidor responde por que domínio. O Tailscale instala aí a sua entrada MagicDNS, e é por isso que o Safari e o ssh encontram nomes tailnet. O nslookup, o host e o dig, em vez disso, leem /etc/resolv.conf ou tomam um servidor na linha de comandos, e esse ficheiro normalmente ainda nomeia o router ou um servidor de escritório. Um nome tailnet enviado para esse ficheiro não tem nenhuma resposta autoritativa à espera, por isso a ferramenta relata uma falha enquanto o caminho do sistema tem sucesso.
Nenhuma das ferramentas se comporta mal. Perguntam a servidores diferentes, e só um desses servidores conhece a sua tailnet.
Teste o mesmo nome pelo caminho do sistema
Use a chamada de pesquisa do sistema como primeiro teste e, depois, compare-a com uma consulta dirigida diretamente ao resolver MagicDNS. Mantenha a ortografia idêntica nos dois, incluindo o domínio tailnet, porque um nome curto e um nome totalmente qualificado são perguntas diferentes com respostas diferentes.
dscacheutil -q host -a name nas-01.tailnet-a1b2.ts.net
scutil --dns
dig @100.100.100.100 nas-01.tailnet-a1b2.ts.net
Essas três saídas respondem a três perguntas: o que o sistema devolve, que resolvers estão configurados para que domínios e o que o próprio MagicDNS sabe. Um nome presente na segunda e na terceira mas ausente na primeira aponta para configuração local e não para a tailnet.
Assim que o nome resolver, teste o serviço
Uma resposta DNS correta prova apenas que um nome corresponde a um endereço. O serviço por trás pode estar parado, a porta pode estar filtrada por uma regra de acesso e um certificado pode nomear um anfitrião diferente do que escreveu.
nc -vz nas-01.tailnet-a1b2.ts.net 445
ping -c 3 nas-01.tailnet-a1b2.ts.net
Guarde o texto original do erro, porque um aviso de certificado, um tempo limite de ligação e um nome não encontrado levam cada um a um sítio diferente. Mudar os servidores de nomes repara o terceiro e desperdiça uma tarde nos dois primeiros.
O MagicDNS não substitui o DNS de escritório
Um nome dentro de uma zona de escritório não é um nome de dispositivo tailnet mesmo quando o mesmo cliente alcança ambos. Quando o destino está atrás de um router de sub-rede, o cliente precisa de DNS dividido para essa zona a apontar para o resolver interno, o que é uma definição diferente do MagicDNS e está documentado ao lado dele.
Os domínios de pesquisa também importam. A um nome curto não qualificado é acrescentado cada sufixo configurado por ordem, pelo que um portátil que se juntou recentemente a outra rede pode resolver através de um sufixo obsoleto. Verifique que sufixo foi aplicado antes de declarar a zona avariada.
Quando ambos os caminhos falham, decidem os factos da tailnet
Se a pesquisa do sistema e a consulta direta falharem ambas para um dispositivo que acredita existir, o problema está a montante do resolver do Mac.
Confirme o nome da máquina e o domínio tailnet na consola de administração, confirme que o dispositivo está online e aprovado, e confirme que as definições de DNS do cliente não foram desativadas localmente. Um dispositivo offline mantém o seu nome e simplesmente não tem nenhum endereço para devolver.
Depois escolha com base nas provas. Um nome que resolve no caminho do sistema e falha no nslookup é uma diferença de caminho de ferramenta; um nome que resolve enquanto o serviço recusa é um problema de acesso ou de certificado; um nome que não resolve em lado nenhum é um problema da tailnet ou da configuração de DNS. Três responsáveis, três correções, e a documentação do MagicDNS cobre os detalhes de macOS do primeiro caso.