/ etc / resolver / 파일은 DNS 확인을 위해 Mountain Lion에서 작동합니까?


31

누구든지 / etc / resolver 아래에 파일을 추가하면 DHCP를 통해 전달 된 것 이외의 DNS 서버를 사용하여 DNS 확인에 작동하는지 알 수 있습니까?

내 문제는 필터링 및 사기 방지 기능을 이용하기 위해 클라이언트 홈 DNS 확인을 위해 OpenDNS를 사용하고 싶지만 호주의 애플 콘텐츠와 같은 것들이 CDN (Akamai)에 의해 제공된다는 큰 단점이 있습니다. 그런 다음 미국 기반 배달 지점을 사용하여 콘텐츠를 서버에 넣습니다.

내가하고 싶은 일은 DHCP를 통해 DNS 서버 주소를 로컬 라우터 주소 (OpenDNS DNS 서버를 사용하는 DNSMasq)로 전달한 다음 / etc / resolver 아래에 다음 줄을 사용하여 apple.com이라는 파일을 배치하는 것입니다. :

nameserver 203.12.160.35

apple.com에 대한 DNS 요청은 OpenDNS 서버를 사용하는 로컬 라우터 DNSMasq 데몬이 아닌 TPG (내 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에 대해 해결 중입니다. 리졸버의 순서가 중요합니까? 즉. / etc / resolver에 apple.com 파일을 놓은 후 생성 된 항목은 resolver # 8입니다.

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

이 작업을 수행하는 방법을 정말로 원합니다. 도움을 주시면 감사하겠습니다.

답변:


43

이 질문은 약간 오래된 것 같지만 비슷한 문제가 발생했을 때 어쨌든 대답하겠습니다.

그렇습니다.

귀하의 첫 번째 문제는 당신은 분명 (잘못된 IP 가지고있다 8.8.8.8대신 203.12.160.35에를) /etc/resolver/apple.com. 이 파일의 내용이 실제로 다음과 같은지 확인하십시오.

nameserver 203.12.160.35

그런 다음 다음 scutil --dns과 같은 항목이 있어야합니다.

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

번째 문제nslookupOS 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와 동일한 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.4구글의 DNS 서버입니다. 그들이 그 옥텟을 얻는 방법은 저 너머입니다.
Qix

3
10.10부터는 / etc / resolver 디렉토리가없는 것 같습니다.
sorin

2
10.10에서 직접 만들어야합니다.
Alan Shutko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.