Diferente de DNS e / etc / hosts, onde mais informações podem vir de um Mac?

0

Todos os nomes e endereços foram alterados. example.com é um domínio que eu possuo.

% ping foo.example.com
PING foo.example.com (1.1.1.1)

1.1.1.1 é um endereço IP que eu nunca ouvi falar. O mesmo para outros programas (ssh, curl)

% host foo.example.com
foo.example.com has address 2.2.2.2

2.2.2.2 é o endereço IP correto.

% grep foo /etc/hosts
(empty)

Isso está no Mac. No Linux, eu procuraria o /etc/nsswitch.conf para outras fontes de informação do host. Existe algo semelhante no Mac?

    
por Johannes Ernst 02.02.2017 / 02:57

1 resposta

4

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:

  1. mDNS (Apple Bonjour / IETF ZeroConf)
  2. Diretório aberto (um esquema da Apple no LDAP)
  3. Outro LDAP
  4. Active Directory
  5. WINS
  6. Serviço de nome NetBIOS
  7. 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
    
por 02.02.2017 / 08:49