Como a pesquisa de DNS é configurada para o OSX Mountain Lion?

31

Se eu cat meu resolv.conf, vejo esta mensagem:

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#

Estou tentando adicionar uma entrada de DNS. Eu editei meu arquivo hosts e limpei o cache do DNS, mas o nome não está resolvendo se eu usar host servername . Pensei que talvez host não estivesse configurado para examinar o arquivo hosts . Como posso fazer com que minha nova entrada seja resolvida e o que é o uso do OSX se não resolv.conf ?

    
por Ben Flynn 13.02.2013 / 21:15

2 respostas

16

A ferramenta host não simplesmente resolve nomes (como em, usando o resolvedor de nome do sistema), mas na verdade consulta servidores dns (como em, enviando pacotes para udp / 53 e possivelmente tcp / 53): não sabe nem usa o arquivo local hosts .

Se você quiser testar o resolvedor do sistema operacional (como em gethostbyname () e funções libc semelhantes), você pode tentar executar ping no nome adicionado a /etc/hosts e ele honrará o que você colocou nesse arquivo.

Além disso, como você já descobriu, a pesquisa de DNS no Mac OSX não usa /etc/resolv.conf e a maneira correta de configurar quais servidores DNS são consultados é na interface de rede e / ou na ferramenta de linha de comando networksetup . Eu sinceramente não sei se você pode configurar a ordem em que as fontes são tentadas, mas o comportamento padrão é tentar /etc/hosts primeiro e servidores dns depois disso.

    
por 13.02.2013 / 21:28
25

Os resolvedores de DNS podem ser adicionados no OS X por meio do comando networksetup :

sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4

Insira o nome da conexão de rede, conforme apropriado. Esses resolvedores aparecerão no resolv.conf, pois são gerados automaticamente, mas as edições diretas no resolv.conf não resultarão na utilização desses resolvedores. Eu suponho que os resolvedores são armazenados em um plist em algum lugar; Vou pesquisar e reportar de volta.

Editado para adicionar: Parece que o arquivo plist XML que armazena os servidores DNS é /Library/Preferences/SystemConfiguration/preferences.plist .

O arquivo host em / private / etc / hosts deve funcionar para forçar a resolução de nomes específicos (/ etc é um link simbólico para / private / etc). Você pode verificar sua sintaxe e que está editando o arquivo correto?

    
por 13.02.2013 / 21:26