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
합니까?
답변
호스트 도구는 간단하지 않습니다 이름을 확인 (시스템 이름 해결 프로그램을 사용하여에서와 같이) 실제로 DNS 서버를 쿼리 (같이 가능 / 53 및 TCP / 53 udp와 패킷을 전송) : 그것을 알고도 로컬 사용하지 않는 hosts
파일을 .
gethostbyname () 및 유사한 libc 함수에서와 같이 운영 체제의 분석기를 테스트하려는 경우 추가 한 이름을 핑 (ping) 할 수 /etc/hosts
있으며 해당 파일에 넣은 내용을 존중합니다.
또한 이미 Mac OSX에서 DNS 조회를 사용하지 않는다는 것을 알았으므로 /etc/resolv.conf
쿼리 할 DNS 서버를 구성하는 올바른 방법은 네트워크 설정 GUI 및 / 또는 networksetup
명령 줄 도구에 있습니다. 솔직히 소스를 시도하는 순서를 구성 할 수 있는지는 모르겠지만 표준 동작은 /etc/hosts
먼저 서버 를 시도 하고 그 후에 서버 를 시도 하는 것입니다.
답변
다음 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에 대한 심볼릭 링크입니다). 구문을 확인하고 올바른 파일을 편집하고 있습니까?