누구든지 / 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
이 작업을 수행하는 방법을 정말로 원합니다. 도움을 주시면 감사하겠습니다.
답변
이 질문은 약간 오래된 것 같지만 비슷한 문제가 발생했을 때 어쨌든 대답하겠습니다.
그렇습니다.
귀하의 첫 번째 문제는 당신은 분명 (잘못된 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
두 번째 문제 는 nslookup
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와 동일한 IP를 생성하는지 확인
nslookup images.apple.com 203.12.160.35