/ Etc / resolver / files funzionano in Mountain Lion per la risoluzione DNS?


31

Qualcuno può dirmi se l'aggiunta di un file in / etc / resolver funzionerà per la risoluzione DNS utilizzando un server DNS diverso da quello che viene distribuito tramite DHCP?

Il mio problema è che voglio usare OpenDNS per la risoluzione DNS domestica di un client al fine di sfruttare le capacità di filtro e anti-truffa, ma il grosso svantaggio è che qui in Australia cose come il contenuto di Apple sono fornite da un CDN (Akamai) che servirà quindi il contenuto del server utilizzando un punto di consegna basato negli Stati Uniti.

Quello che voglio fare è avere l'indirizzo del server DNS distribuito tramite DHCP come indirizzo del router locale (DNSMasq utilizzando i server DNS OpenDNS) e quindi, ad esempio, posizionare un file chiamato apple.com in / etc / resolver con la seguente riga :

nameserver 203.12.160.35

L'idea è che qualsiasi richiesta DNS a apple.com sarebbe risolta da un server DNS TPG (mio ISP) anziché dai demoni DNSMasq dei router locali che utilizzano server OpenDNS.

Quindi l'ho fatto e l'output di 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

Ora l'output di un nslookup su 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 

Quindi non sto usando il server DNS TPG - sto ancora risolvendo contro 192.168.10.1 che è il router locale. L'ordine dei risolutori è importante? vale a dire. la voce creata dopo aver inserito il file apple.com in / etc / resolver è resolver # 8:

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

Mi piacerebbe davvero un modo per far funzionare tutto questo - qualsiasi aiuto sarebbe apprezzato.

Risposte:


43

Questa domanda sembra un po 'vecchia, ma risponderò comunque poiché ho avuto un problema simile:

Sì, funziona.

Il tuo primo problema è che ovviamente hai l'IP sbagliato ( 8.8.8.8anziché 203.12.160.35) in /etc/resolver/apple.com. Verifica che il contenuto di questo file sia davvero:

nameserver 203.12.160.35

Quindi scutil --dnsdovrebbe avere una voce come questa:

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

Il secondo problema è che hai provato a verificarlo utilizzando nslookupciò che non utilizza i meccanismi di risoluzione DNS di OS X. Se guardi la tua pagina man nslookuptroverai questo:

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.

Per verificare la tua configurazione DNS puoi farlo

dns-sd -G v4 images.apple.com

e verifica se produce lo stesso IP di

nslookup images.apple.com 203.12.160.35

1
Vale anche la pena notare che questo può essere usato per specificare un nameserver per uno specifico dominio di primo livello. Ad esempio, se il file è denominato "dev", tutte le ricerche per "esempio.dev" verranno inviate a quel server dei nomi. Ciò è utile per le intranet aziendali, specialmente quando non si è nella LAN aziendale (ad es. Quando ci si connette a una VPN)
Abhi Beckert,

2
Your first problem is that you obviously have the wrong IP (8.8.8.8)Non necessariamente; 8.8.8.8e 8.8.4.4sono i server DNS di Google. Come hanno ottenuto quegli ottetti è oltre me.
Qix,

3
A partire dal 10.10, sembra che non sia presente alcuna directory / etc / resolver.
sorin,

2
Devi crearlo tu stesso in 10.10.
Alan Shutko,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.