O MacOS tem um sistema sofisticado de roteamento de DNS com escopo para o bem de coisas como VPN. Portanto, se você tiver, por exemplo, uma conexão VPN para "trabalhar" agora, as consultas dos nomes de domínio de seu trabalho podem estar indo para um servidor DNS no trabalho.
Para ver toda a lista, execute:
scutil --dns
Para consultar DNS como o sistema, use:
dns-sd -G v4v6 example.com
dns-sd -q example.com 255 255
(você tem que pressionar Ctrl-C para sair de dns-sd
).
Os comandos host
, dig
e nslookup
são antigos comandos unix para solução de problemas do servidor DNS que contêm seu próprio código de resolvedor de DNS e não usam as bibliotecas do sistema. Portanto, se você não especificar qual servidor deseja usá-los, eles apenas recebem os do /etc/resolv.conf
gerado automaticamente, que só é preenchido com os servidores padrão para consultas sem escopo. Mas uma ferramenta como ping
provavelmente só chama gethostbyname(3)
, que usa o roteamento DNS do escopo do sistema.
Editado para adicionar: Também devo mencionar que o macOS pode obter o nome do host para informações de resolução de endereço IP de vários outros meios, incluindo:
- mDNS (Apple Bonjour / IETF ZeroConf)
- Diretório aberto (um esquema da Apple no LDAP)
- Outro LDAP
- Active Directory
- WINS
- Serviço de nome NetBIOS
- NIS (anteriormente YellowPages / yp; o serviço de informações da rede Sun / Oracle)
Você pode editar essas configurações com a ferramenta de linha de comando dscl
ou com o aplicativo Directory Utility, que é ocultado em:
/System/Library/CoreServices/[Applications]/Directory\ Utility.app