OSX Mountain Lion에 대한 DNS 조회는 어떻게 구성됩니까?


33

resolv.conf를 cat하면 다음 메시지가 표시됩니다.

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#

DNS 항목을 추가하려고합니다. 호스트 파일을 편집하고 dns 캐시를 플러시했지만을 (를) 사용하면 이름이 확인되지 않습니다 host servername. 아마도 파일 host을 보도록 구성되지 않았다고 생각했습니다 hosts. 새 항목을 해결하려면 어떻게해야 resolv.conf합니까?

답변:


17

호스트 도구는 간단하지 않습니다 이름을 확인 (시스템 이름 해결 프로그램을 사용하여에서와 같이) 실제로 DNS 서버를 쿼리 (같이 가능 / 53 및 TCP / 53 udp와 패킷을 전송) : 그것을 알고도 로컬 사용하지 않는 hosts파일을 .

gethostbyname () 및 유사한 libc 함수에서와 같이 운영 체제의 분석기를 테스트하려는 경우 추가 한 이름을 핑 (ping) 할 수 /etc/hosts있으며 해당 파일에 넣은 내용을 존중합니다.

또한 이미 Mac OSX에서 DNS 조회를 사용하지 않는다는 것을 알았으므로 /etc/resolv.conf쿼리 할 DNS 서버를 구성하는 올바른 방법은 네트워크 설정 GUI 및 / 또는 networksetup명령 줄 도구에 있습니다. 솔직히 소스를 시도하는 순서를 구성 할 수 있는지는 모르겠지만 표준 동작은 /etc/hosts먼저 서버 를 시도 하고 그 후에 서버 를 시도 하는 것입니다.


1
getaddrinfo에 대한 펄 래퍼를 찾았습니다 : search.cpan.org/~pevans/Socket-GetAddrInfo-0.22
Ben Flynn

26

다음 networksetup명령을 통해 OS X에서 DNS 확인자를 추가 할 수 있습니다 .

sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4

네트워크 연결 이름을 적절하게 삽입하십시오. 이러한 해결 프로그램은 자동으로 생성되므로 resolv.conf에 나타나지만 resolv.conf를 직접 편집해도 해당 해결 프로그램이 사용되지는 않습니다. 리졸버가 plist에 어딘가에 저장되어 있다고 가정합니다. 다시 검색하여보고하겠습니다.

추가 편집 : DNS 서버를 저장하는 XML plist 파일은 /Library/Preferences/SystemConfiguration/preferences.plist입니다.

/ private / etc / hosts의 호스트 파일은 특정 이름을 강제로 해결하도록 작동해야합니다 (/ etc는 / private / etc에 대한 심볼릭 링크입니다). 구문을 확인하고 올바른 파일을 편집하고 있습니까?


그래서이 명령을 사용하여 호스트 파일을 추가 할 수 있습니까?
벤 플린

당신은 할 수없고, 필요하지 않습니다
Luke404

아니요. 호스트 파일에 이름을 추가하려면 직접 추가하십시오. 호스트 파일은 이름을 확인할 때 먼저 확인한 다음 로컬 확인 캐시와 구성된 DNS 서버를 차례로 확인합니다. "host"명령을 사용하여 테스트해도 로컬 호스트 파일은 검사하지 않습니다. 테스트하는 쉬운 방법 중 하나는 ping과 같은 네트워크 유틸리티를 사용하는 것입니다.
피버스

1
때때로 인터페이스가 구피적인 이름을 얻어 필요한 정확한 이름을 얻습니다. networksetup -listallnetworkservices 또한 공백이 포함 된 경우 전체 이름을 작은 따옴표 sudo networksetup -setdnsservers 'white space' 8.8.8.8 8.8.4.4
Marcin

2
53 이외의 다른 포트를 사용하도록 리졸버를 구성 할 수 있습니까?
룬 FS
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.