답변:
scutil
터미널에서 대화식으로 사용할 수 있습니다 . sudo scutil
적절한 위치에서 DNS 서버를 교체하여 다음 명령을 실행 하고 실행 하십시오 .
> 열다 > d.init d. 서버 주소 추가 * 8.8.8.8 9.9.9.9 > 상태 설정 : / Network / Service / PRIMARY_SERVICE_ID / DNS > 종료
DNS 서버 를 사용 8.8.8.8
하고 9.9.9.9
사용 하는 대신 .
유일한 문제는 다시 부팅해도 지속되지 않는다는 것 입니다. 영구적으로 변경하려면 ncutil 이 필요 합니다 . /etc/resolv.conf
최신 버전의 OS X에서 편집 이 충분하지 않은 이유 는 이제 configd가 데이터베이스를 사용하여 다른 응용 프로그램에서 읽은 현재 설정 정보를 저장하기 때문입니다. 일부 응용 프로그램 은 /etc/resolv.conf
모든 응용 프로그램에 해당되는 것은 아니지만 여전히 읽을 수 있습니다 (예 : 호스트).
scutil --dns
확인에 사용할 수 있습니다 .
set State:/Network/Service/PRIMARY_SERVICE_ID/DNS
라인 에있는 것을 교체해야합니까, 아니면 그대로 사용할 수 있습니까? scutil --dns
변경 후 새 DNS 서버가 출력에 표시되어야합니까 ?
scutil
다음에 > list
PRIMARY_SERVICE_ID를 바꿀 키를 찾으십시오.
당신은 사용할 수 있습니다 networksetup
:
sudo networksetup -setdnsservers <networkservice> DNS1, DNS2, DNS3
예 (공항 연결이 Google의 DNS 서버를 사용하도록 함)
sudo networksetup -setdnsservers AirPort 8.8.8.8 8.8.4.4
를 실행하여 네트워크 서비스 이름을 찾을 수 있습니다 networksetup -listallnetworkservices
. 아마도 'Wi-Fi'일 것입니다.
이것은 시스템 환경 설정의 네트워크 환경 설정 패널에서 전체를 편집하는 것과 동일하므로 재부팅 할 때까지 지속됩니다.
Snow Leopard에서 DNS 서버에 대한 쿼리가 변경 될 때 발생하는 DNS 문제가 발생했을 수 있습니다 (질문 84144 참조).
sudo networksetup -setdnsservers <networkservice> empty
Chealion의 게시물에 답변 할 충분한 포인트가 없지만 추가하기 위해 인터페이스를 나열하는 것으로 시작합니다.
networksetup -listallnetworkservices
변경하려는 인터페이스가 있으면 아래에서 수행 할 수 있습니다 (Wi-Fi를 사용하고 있지만 다른 인터페이스를 수행 할 수 있음)
sudo networksetup -setdnsservers Wi-Fi empty
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
sudo killall -HUP mDNSResponder
위의 첫 번째 줄은 DNS 설정을 비운 다음 사용하려는 DNS 서버와 함께 DNS 캐시를 따르고 DNS 캐시를 미세하게 지 웁니다.
DNS 변경을 확인하려면이 작업을 전후에 또는 간단하게 수행 할 수 있습니다
scutil --dns | grep 'nameserver\[[0-9]*\]'
resolv.conf는 더 이상 OSX에서 작동하지 않습니다. 해당 파일의 맨 위에 다음과 같은 통지가 있습니다.
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
또한 networksetup -listallnetworkservices
모든 VPN 인터페이스를 나열하지는 않습니다.
scutil을 사용하여 올바른 인터페이스를 대상으로하는 방법은 다음과 같습니다. 1. commands.txt
대화 형 scutil 도구에 대한 명령을 사용하여 파일 을 만듭니다 . 예를 들어 필자의 경우 펄스 보안 인터페이스의 내용 :
get State:/Network/Service/net.pulsesecure.pulse.nc.main/DNS
d.add ServerAddresses * 8.8.8.8 9.9.9.9
set State:/Network/Service/net.pulsesecure.pulse.nc.main/DNS
set
)sudo scutil < commands.txt
/etc/resolv.conf를 편집하여 수행 할 수 있어야합니다 (재부팅 후 resolv.conf가 재설정됨을 기억 하십시오). http://developer.apple.com/mac/library/documentation/Darwin/Reference/ ManPages / man5 / resolver.5.html