Funktionieren / etc / resolver / files in Mountain Lion für die DNS-Auflösung?

31

Kann mir jemand sagen, ob das Hinzufügen einer Datei unter / etc / resolver für die DNS-Auflösung mit einem anderen DNS-Server als dem, der über DHCP ausgegeben wird, funktioniert?

Mein Problem ist, dass ich OpenDNS für die DNS-Auflösung eines Clients zu Hause verwenden möchte, um die Filter- und Anti-Scam-Funktionen zu nutzen, aber der massive Nachteil ist, dass hier in Australien Dinge wie Apple-Inhalte von einem CDN (Akamai) geliefert werden Der Serverinhalt wird dann über einen in den USA ansässigen Übermittlungspunkt bereitgestellt.

Ich möchte, dass die DNS-Serveradresse über DHCP als lokale Routeradresse ausgegeben wird (DNSMasq unter Verwendung von OpenDNS-DNS-Servern), und platziere dann beispielsweise eine Datei mit dem Namen apple.com unter / etc / resolver mit der folgenden Zeile :

nameserver 203.12.160.35

Die Idee ist, dass jede DNS-Anfrage an apple.com von einem TPG-DNS-Server (meinem ISP) und nicht vom DNSMasq-Daemon des lokalen Routers mit OpenDNS-Servern gelöst wird.

Also habe ich das getan und die Ausgabe von scutil --dns ist:

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

Die Ausgabe eines nslookup auf apple.com lautet nun:

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 

Ich verwende also nicht den TPG-DNS-Server - ich löse immer noch gegen 192.168.10.1 auf, bei dem es sich um den lokalen Router handelt. Ist die Reihenfolge der Resolver wichtig? dh Der Eintrag, der erstellt wurde, nachdem ich die Datei apple.com in / etc / resolver abgelegt habe, lautet resolver # 8:

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

Ich hätte wirklich gerne einen Weg, um diese Arbeit zu machen - jede Hilfe wäre dankbar.

ilium007
quelle

Antworten:

43

Diese Frage scheint ein bisschen alt zu sein, aber ich werde sie trotzdem beantworten, da ich ein ähnliches Problem hatte:

Ja das funktioniert

Ihr erstes Problem ist, dass Sie offensichtlich die falsche IP ( 8.8.8.8statt 203.12.160.35) in haben /etc/resolver/apple.com. Stellen Sie sicher, dass der Inhalt dieser Datei wirklich ist:

nameserver 203.12.160.35

Dann scutil --dnssollte ein Eintrag so aussehen:

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

Das zweite Problem ist , dass Sie es verwenden , um zu überprüfen versucht , nslookupdie nicht die DNS - Auflösung Mechanismen von OS X nicht verwendet Wenn Sie auf der man - Seite schauen von nslookupIhnen diese finden:

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.

Um Ihre DNS-Konfiguration zu überprüfen, können Sie dies tun

dns-sd -G v4 images.apple.com

und überprüfen Sie, ob es die gleiche IP wie ergibt

nslookup images.apple.com 203.12.160.35
apfelsaft
quelle
1
Beachten Sie auch, dass hiermit ein Nameserver für eine bestimmte Top-Level-Domain angegeben werden kann. Wenn die Datei beispielsweise "dev" heißt, werden alle Suchvorgänge für "example.dev" an diesen Nameserver gesendet. Dies ist nützlich für Firmen-Intranets, besonders wenn Sie nicht im Firmen-LAN sind (zB wenn Sie eine Verbindung zu einem VPN herstellen)
Abhi Beckert
2
Your first problem is that you obviously have the wrong IP (8.8.8.8)Nicht unbedingt; 8.8.8.8und 8.8.4.4sind Googles DNS-Server. Wie sie diese Oktette erhalten haben, ist mir ein Rätsel.
Qix
3
Ab 10.10 scheint es kein / etc / resolver-Verzeichnis zu geben.
Sorin
2
Sie müssen es selbst in 10.10 erstellen.
Alan Shutko