DNS解決のためにMountain Lionで/ etc / resolver /ファイルは機能しますか?


31

/ etc / resolverの下にファイルを追加すると、DHCP経由で配布されるもの以外のDNSサーバーを使用したDNS解決で機能するかどうかを教えてもらえますか?

私の問題は、フィルタリングと詐欺防止機能を利用するために、クライアントのホームDNS解決にOpenDNSを使用したいことですが、大きな欠点は、ここオーストラリアではAppleコンテンツなどがCDN(アカマイ)によって配信されることですその後、米国ベースの配信ポイントを使用してコンテンツをサーバーに提供します。

私がやりたいのは、DNSサーバーアドレスをDHCP経由でローカルルーターアドレス(OpenDNS DNSサーバーを使用するDNSMasq)に渡してから、たとえば、apple.comというファイルを/ etc / resolverの下に次の行で配置することです。 :

nameserver 203.12.160.35

Apple.comへのDNS要求は、OpenDNSサーバーを使用するローカルルーターDNSMasqデーモンではなく、TPG(my ISP)DNSサーバーによって解決されるという考え方です。

したがって、私はこれを実行し、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

これで、apple.comでのnslookupの出力は次のようになります。

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 

だから私はTPG DNSサーバーを使用していません-私はまだローカルルーターである192.168.10.1に対して解決しています。リゾルバの順序は重要ですか?すなわち。apple.comファイルを/ etc / resolverに配置した後に作成されたエントリは、リゾルバー#8です。

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

私はこの仕事をする方法が本当に欲しいです-どんな助けでも感謝されます。

回答:


43

この質問は少し古いようですが、同様の問題があったのでとにかく答えます。

はい、これは動作します。

あなたの最初の問題は明らかに(の8.8.8.8代わりに203.12.160.35)間違ったIPを持っているということです/etc/resolver/apple.com。このファイルの内容が実際に次のとおりであることを確認します。

nameserver 203.12.160.35

次にscutil --dns、このようなエントリが必要です。

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

第二の問題は、あなたが使用してそれを検証しようとしたことであるnslookupあなたがmanページを見ればOS XのDNS解決メカニズムを使用しないnslookupあなたがこれを見つけます:

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.

DNS設定確認するには、次のようにします

dns-sd -G v4 images.apple.com

と同じIPを生成するかどうかを確認します

nslookup images.apple.com 203.12.160.35

1
また、これを使用して特定のトップレベルドメインのネームサーバーを指定できることにも注意してください。たとえば、ファイルの名前が「dev」の場合、「example.dev」のすべてのルックアップがそのネームサーバーに送信されます。:あなたは会社のLAN(VPNへの接続など)上じゃない場合は特にこれは、企業のイントラネットに便利です
Abhi Beckertの

2
Your first problem is that you obviously have the wrong IP (8.8.8.8)必ずしも; 8.8.8.8そして8.8.4.4GoogleのDNSサーバです。彼らがそれらのオクテットをどのように取得したかは私を超えています。
Qix 14

3
10.10の時点では、/ etc / resolverディレクトリが存在しないようです。
ソリン

2
10.10で自分で作成する必要があります。
アランシュトコ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.