/ Etc / resolv / files funcionam no Mountain Lion para resolução de DNS?

31

Alguém pode me dizer se a adição de um arquivo em / etc / resolver funcionará para resolução de DNS usando um servidor DNS diferente do que é distribuído via DHCP?

Meu problema é que eu quero usar o OpenDNS para uma resolução DNS doméstica de clientes, a fim de aproveitar os recursos de filtragem e anti-fraude, mas a grande desvantagem é que aqui na Austrália coisas como o conteúdo da Apple são entregues por uma CDN (Akamai) que o conteúdo do servidor será usado usando um ponto de entrega com sede nos EUA.

O que eu quero fazer é que o endereço do servidor DNS entregue via DHCP seja o endereço do roteador local (DNSMasq usando servidores DNS OpenDNS) e, por exemplo, coloque um arquivo chamado apple.com em / etc / resolvedor com a seguinte linha :

nameserver 203.12.160.35

A idéia é que qualquer solicitação de DNS para apple.com seria resolvida por um servidor DNS TPG (meu ISP) em vez do daemon DNSMasq dos roteadores locais usando servidores OpenDNS.

Então, eu fiz isso e a saída do scutil --dns é:

DNS configuration

resolver #1
  search domain[0] : harland
  nameserver[0] : 192.168.10.1
  nameserver[1] : 192.168.10.1
  if_index : 4 (en2)
  reach    : Reachable,Directly Reachable Address

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

resolver #8
  domain   : apple.com
  nameserver[0] : 8.8.8.8

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : harland
  nameserver[0] : 192.168.10.1
  nameserver[1] : 192.168.10.1
  if_index : 4 (en2)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address
macbookair:resolver

Agora, a saída de um nslookup no apple.com é:

macbookair:resolver ilium007$ nslookup apple.com
Server:     192.168.10.1
Address:    192.168.10.1#53

Non-authoritative answer:
Name:   apple.com
Address: 17.149.160.49
Name:   apple.com
Address: 17.172.224.47

macbookair:resolver 

Portanto, não estou usando o servidor DNS TPG - ainda estou resolvendo o 192.168.10.1, que é o roteador local. A ordem dos resolvedores é importante? ie a entrada criada depois que eu coloco o arquivo apple.com em / etc / resolvedor é o resolvedor 8:

resolver #8
  domain   : apple.com
  nameserver[0] : 8.8.8.8

Eu realmente gostaria de uma maneira de fazer isso funcionar - qualquer ajuda seria apreciada.

ilium007
fonte

Respostas:

43

Esta pergunta parece um pouco antiga, mas vou respondê-la de qualquer maneira, pois tive um problema semelhante:

Sim, isso funciona.

Seu primeiro problema é que você obviamente tem o IP errado (em 8.8.8.8vez de 203.12.160.35) /etc/resolver/apple.com. Verifique se o conteúdo deste arquivo é realmente:

nameserver 203.12.160.35

Então scutil --dnsdeve ter uma entrada como esta:

resolver #8
  domain   : apple.com
  nameserver[0] : 203.12.160.35

O segundo problema é que você tentou verificá-lo usando o nslookupque não usa os mecanismos de resolução de DNS do OS X. Se você olhar a página de manual nslookup, encontrará o seguinte:

Mac OS X NOTICE
   The nslookup command does not use the host name and address resolution or the DNS 
   query routing mechanisms used by other processes running on Mac OS X.  The results of 
   name or address queries printed by nslookup may differ from those found by other
   processes that use the Mac OS X native name and address resolution mechanisms. The 
   results of DNS queries may also differ from queries that use the Mac OS X DNS routing 
   library.

Para verificar sua configuração de DNS, você pode fazer

dns-sd -G v4 images.apple.com

e verifique se produz o mesmo IP que

nslookup images.apple.com 203.12.160.35
apfelsaft
fonte
1
Também é importante notar que isso pode ser usado para especificar um servidor de nomes para um domínio de nível superior específico. Por exemplo, se o arquivo tiver o nome "dev", todas as pesquisas para "example.dev" serão enviadas para esse servidor de nomes. Isso é útil para intranets de empresas, especialmente quando você não está na LAN da empresa (por exemplo: ao se conectar a uma VPN)
Abhi Beckert
2
Your first problem is that you obviously have the wrong IP (8.8.8.8)Não necessariamente; 8.8.8.8e 8.8.4.4são servidores DNS do Google. Como eles obtiveram esses octetos está além de mim.
Qix
3
A partir da 10.10, parece que não há diretório / etc / resolvedor presente.
sorin 22/09
2
Você precisa criá-lo em 10.10.
Alan Shutko