Eu pareço constantemente ter problemas para resolver hosts na minha rede a partir de sistemas OS X. Eu tenho um domínio (vamos chamá-lo mydomain.com) com um subdomínio lab.mydomain.com e o host que eu quero chegar, em host.lab.mydomain.com.
As entradas de pesquisa de DNS do meu Mac incluem:
- mydomain.com
- lab.mydomain.com
- lab.otherdomain.com
- outro subdomínio outro domínio
Eu posso resolver completamente o 'host.lab.mydomain.com' bem, e quando eu tenho 'lab.mydomain.com' na lista, eu posso usar apenas 'host', uma vez que resolve sob o 'lab.mydomain.com 'sufixo. Mas não consigo resolver (em certos casos - continue lendo) "host.lab".
O mais estranho é esse fracasso só acontece com certos comandos (ou seja, SSH e dig). Usando o 'nslookup' funciona bem e resolve o nome do host corretamente. No entanto, usando SSH ou cavar falha . Eu geralmente consigo, mas nem sempre, resolvo "host.lab" pelo Chrome.
Eu executei uma filtragem tcpdump na porta 53 para tentar diagnosticar isso sozinho, e os resultados foram interessantes: depois de executar "dscacheutil -flushcache; killall -HUP mDNSResponder" e tentar resolver usando os diferentes comandos, descobri que "nslookup" é claro estava fazendo uma pesquisa adequada para o meu servidor DNS configurado usando cada sufixo em ordem, que encontrou o host em pouco tempo. No entanto, ssh e dig parecem estar tratando "host.lab" como domínio de nível superior e ir direto ao root-servers.net para tentar resolver "host" como um nome de domínio sob o TLD ".lab" - sem sempre tocando meu servidor DNS configurado!
Qual é o negócio? Por que esses determinados esquemas de resolução de nomes em meu Mac estão causando curto-circuito e tratando .lab como um domínio de nível superior em vez de honrar meus sufixos de pesquisa de DNS? É claro que posso contornar isso dando um nome completo ao domínio, mas é muito, muito chato.