Apakah / etc / resolver / file berfungsi di Mountain Lion untuk resolusi DNS?

31

Adakah yang bisa memberitahu saya jika menambahkan file di bawah / etc / resolver akan bekerja untuk resolusi DNS menggunakan server DNS selain apa yang diberikan melalui DHCP?

Masalah saya adalah bahwa saya ingin menggunakan OpenDNS untuk resolusi DNS rumah klien untuk mengambil keuntungan dari kemampuan penyaringan dan anti scam tetapi kelemahan besar adalah bahwa di sini di Australia hal-hal seperti konten Apple dikirim oleh CDN (Akamai) yang kemudian akan mem-server konten menggunakan titik pengiriman berbasis di AS.

Yang ingin saya lakukan adalah memiliki alamat server DNS yang dibagikan melalui DHCP untuk menjadi alamat router lokal (DNSMasq menggunakan server DNS OpenDNS) dan kemudian, misalnya, menempatkan file bernama apple.com di / etc / resolver dengan baris berikut :

nameserver 203.12.160.35

Idenya adalah bahwa setiap permintaan DNS ke apple.com akan diselesaikan oleh server DNS TPG (ISP saya) daripada daemon DNSMasq router lokal menggunakan server OpenDNS.

Jadi saya telah melakukan ini dan output dari scutil --dns adalah:

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

Sekarang output dari nslookup di apple.com adalah:

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 

Jadi saya tidak menggunakan server DNS TPG - saya masih memutuskan terhadap 192.168.10.1 yang merupakan router lokal. Apakah urutan resolver itu penting? yaitu. entri yang dibuat setelah saya meletakkan file apple.com di / etc / resolver adalah resolver # 8:

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

Saya benar-benar ingin cara untuk membuat ini berhasil - bantuan apa pun akan dihargai.

ilium007
sumber

Jawaban:

43

Pertanyaan ini sepertinya agak lama, tetapi saya akan menjawabnya karena saya memiliki masalah yang sama:

Ya, ini berhasil.

Masalah pertama Anda adalah Anda jelas memiliki IP yang salah ( 8.8.8.8bukan 203.12.160.35) di /etc/resolver/apple.com. Verifikasi bahwa konten file ini benar-benar:

nameserver 203.12.160.35

Maka scutil --dnsharus memiliki entri seperti ini:

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

Masalah kedua adalah Anda mencoba memverifikasi menggunakan nslookupyang tidak menggunakan mekanisme resolusi DNS OS X. Jika Anda melihat halaman manual nslookupAnda akan menemukan ini:

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.

Untuk memeriksa konfigurasi DNS Anda, Anda dapat melakukannya

dns-sd -G v4 images.apple.com

dan verifikasi apakah itu menghasilkan IP yang sama dengan

nslookup images.apple.com 203.12.160.35
apfelsaft
sumber
1
Perlu juga dicatat bahwa ini dapat digunakan untuk menentukan server nama untuk domain tingkat atas tertentu. Sebagai contoh jika file bernama "dev" maka semua pencarian untuk "example.dev" akan dikirim ke server nama itu. Ini berguna untuk intranet perusahaan, terutama ketika Anda tidak berada di LAN perusahaan (mis: ketika menghubungkan ke VPN)
Abhi Beckert
2
Your first problem is that you obviously have the wrong IP (8.8.8.8)Belum tentu; 8.8.8.8dan 8.8.4.4merupakan server DNS Google. Bagaimana mereka mendapatkan oktet itu di luar jangkauan saya.
Qix
3
Pada 10.10, tampaknya tidak ada direktori / etc / resolver yang ada.
sorin
2
Anda harus membuatnya sendiri di 10.10.
Alan Shutko