Primeiro, se networksetup -getdnsservers <service name>
não mostrar nada, você não tem nada listado em Preferências do Sistema> Netowrk em "Servidores DNS:".
Segundo, é importante observar que o OS X não lida com DNS como a maioria dos sistemas. Por https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/resolver.5.html Essencialmente, isso significa que o OS X tem vários clientes DNS, dependendo da sua configuração. O resultado desses vários serviços significa que há situações nas quais o Safari para acessar um site ( http://www.example.com ) leva você a um endereço IP que o OS X recuperou do DNS (por exemplo, 1.2.3.4) enquanto ao mesmo tempo, realizando uma escavação
$ dig www.example.com
retornará resultados diferentes. (talvez 2.3.4.5)
O motivo disso está na maneira como o OS X lida com o DNS.
Se você executar, $ man dig
obtém, entre outras coisas, o seguinte:
AVISO no Mac OS X O comando dig não usa a resolução de nome e endereço do host ou os mecanismos de roteamento de consulta DNS usados por outros processos em execução no Mac OS X. Os resultados das consultas de nome ou endereço impressas pelo dig podem diferir dos encontrados por outros processos que usam o nome nativo do Mac OS X e os mecanismos de resolução de endereços. Os resultados das consultas DNS também podem diferir das consultas que usam a biblioteca de roteamento DNS do Mac OS X.
Também $man nslookup
retornará algo semelhante
AVISO no Mac OS X O comando nslookup não usa a resolução de nome e endereço do host ou os mecanismos de roteamento de consulta DNS usados por outros processos em execução no Mac OS X. Os resultados das consultas de nome ou endereço impressas pelo nslookup podem diferir dos encontrados por outros processos que usam o nome nativo do Mac OS X e os mecanismos de resolução de endereços. Os resultados das consultas DNS também podem diferir das consultas que usam a biblioteca de roteamento DNS do Mac OS X.
Tudo isso é realmente uma maneira bastante longa de dizer, a melhor maneira de ver quais servidores DNS estão sendo usados é ver Preferências do Sistema> Rede
As entradas "Servidor DNS:" geralmente estão lá, e "Pesquisar domínios:" permitirá pesquisar endereços incompletos.
Se "Servidor DNS:" não estiver presente, o OS X tentará usar o endereço em "Roteador:" para DNS.
E, além de toda essa diversão, existem utilitários e outros processos que podem não estar usando a Biblioteca de Roteamento DNS do OS X, e eles atingirão diretamente o conteúdo do /etc/resolv.conf.
A resposta curta é a seguinte:
- Se você seguir o conteúdo de Preferências do Sistema> Rede, verá a mesma coisa que a maioria dos processos está usando.
- O conteúdo de Preferências do sistema> Rede deve preencher /etc/resolv.conf, mas nem sempre.
- Alguns outros processos (como dig e nslookup) estão acessando o /etc/resolv.conf diretamente.
E, além de tudo isso - se você não estiver usando os clientes VPN integrados ao OS X, é possível que rotas adicionais e servidores DNS estejam sendo usados e que networksetup -getdnsservers <service name>
não sejam exibidos. Seu cliente VPN pode ter a capacidade de mostrar as rotas e os servidores DNS, eu sei que o meu faz.
Sei que isso não responde exatamente à sua pergunta, mas espero que isso ajude você a perceber que nem sempre é fácil descobrir qual é a "verdade" em relação ao DNS em um Mac. Geralmente, você está seguro assumindo que o conteúdo de Preferências do Sistema> Rede ou o conteúdo de networksetup -getdnsservers <service name>
são de onde você está obtendo seu DNS. No entanto, se as coisas parecerem estranhas, lembre-se de que também existem outras possibilidades. Use dig para ajudar a determinar se existem diferenças em andamento.
Por último, para aqueles leitores que estão se perguntando como obter o <service name>
em networksetup -getdnsservers <service name>
, tente usarnetworksetup -listallnetworkservices
Conta
no OSX Mavericks (10.9 - na verdade, 10.6.3, acredito), se você quiser ver a configuração DNS ativa:
A primeira entrada (resolvedor 1) é declaradamente a configuração ativa ... embora eu tenha visto muitos casos em que esse não é o caso.
de man scutil
IME, se o que você vê aqui não corresponde ao que você espera (por exemplo, rede> avançado> dns), pode ser necessário desativar / ativar o adaptador de rede apropriado para que ele seja atualizado ...
Outras dicas no OSX recente:
Com 10.7 ou 10.8, os domínios de pesquisa não se aplicam a pesquisas com um ponto neles. ie - www.test não anexará domínios de pesquisa, onde www será. há uma correção:
Agora descarregue e recarregue o serviço mDNSResponder: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
a rede> avançado> a configuração de DNS é -PER INTERFACE-. Então, se você usa sem fio e com fio ... você precisa configurar os dois.
também há outra maneira - / etc / resolver - um exemplo aqui: / etc / resolv / files funcionam no Mountain Lion para resolução de DNS? e mais aqui: https://www.dforge.net/2013/01/30/osx-domain-specific-dns-servers-etcresolver/
Quanto a tentar fazer um nslookup - é sabido que o nslookup (e o host e o dig) não seguem o mecanismo de resolução OSX (extremamente exclusivo e misturado). Use ping.
fonte
scutil --dns
mostra a configuração real do DNS que o sistema operacional está usando.Normalmente, eu usaria (em ambientes unix, e isso é possivelmente um pouco antigo) algo como os seguintes exemplos.
Primeiramente, você pode procurar um endereço IP ou uma entrada de nome DNS individualmente, e ele informará o servidor que foi usado para fornecer a resposta. Você pode pesquisar uma única entrada na linha de comando ou entrar no
nslookup
programa e pesquisar várias entradas sem precisar digitar novamente o comando:Em segundo lugar, este comando (note que eu executei isso em uma caixa do Windows, no unix / OS X, o comando ipconfig / all é o ifconfig -a e os resultados da saída podem diferir ligeiramente), que lista os dados de configuração de IP para cada interface em seu sistema, portas físicas, conexões sem fio, VNCs etc., exibindo quais dados DNS e IP estão associados a cada rota fora da máquina, você receberá muitas entradas de volta, uma para cada adaptador / porta de rede genuína e também várias quantidades de portas virtuais, dependendo do seu configuração, no meu exemplo, removi a maioria dos resultados, mas mostrei meu adaptador VPN e as entradas DNS (redigidas) que ele possui.
fonte
O que
nslookup
te diz? Isso me dá meu servidor DNS na segunda linha.fonte