Jak mogę zmienić mój serwer DNS z terminala w systemie Mac OS X? [Potrzebuję tego, ponieważ mój DNS nie działa poprawnie z moją VPN. Czasami używa DNS do mojego głównego połączenia, a czasem DNS określony dla VPN (co powinno).]
29
Możesz używać scutil
interaktywnie z terminala. Uruchom sudo scutil
i uruchom następujące polecenia, zamieniając serwery DNS w stosownych przypadkach:
> otwórz > d.init > d.add Adresy serwerów * 8.8.8.8 9.9.9.9 > ustaw stan: / Sieć / Usługa / PRIMARY_SERVICE_ID / DNS > wyjdź
Zamiast korzystać z serwerów DNS 8.8.8.8
i 9.9.9.9
korzystać z nich.
Jedynym problemem jest to, że nie jest to trwałe podczas ponownego uruchamiania . Jeśli chcesz stałych zmian, będziesz chciał ncutil . Powodem, dla którego edycja /etc/resolv.conf
nie jest wystarczająca w nowszych wersjach OS X, jest to, że configd używa teraz bazy danych do przechowywania informacji o bieżących ustawieniach, które czytają inne aplikacje. Niektóre aplikacje będą nadal czytać /etc/resolv.conf
(na przykład host), chociaż nie dotyczy to wszystkich aplikacji.
scutil --dns
do potwierdzenia.set State:/Network/Service/PRIMARY_SERVICE_ID/DNS
wierszu, czy mogę tego używać tak, jak jest? Czyscutil --dns
po zmianie powinny pojawiać się nowe serwery DNS ?scutil
a następnie> list
znajdź klucz do zastąpienia PRIMARY_SERVICE_ID.Możesz użyć
networksetup
:np. (połączenie z lotniskiem za pomocą serwerów DNS Google)
Możesz znaleźć nazwę usługi sieciowej, uruchamiając
networksetup -listallnetworkservices
. Prawdopodobnie będzie to „Wi-Fi”.Jest to tak samo, jakbyś edytował pliki w okienku preferencji sieci w Preferencjach systemowych, więc jest trwały po ponownym uruchomieniu.
Być może wystąpił problem z systemem DNS w systemie Snow Leopard, który występuje, gdy zapytania o serwery DNS zmieniają się (patrz pytanie 84144 ))
źródło
sudo networksetup -setdnsservers <networkservice> empty
Nie mam wystarczającej liczby punktów, aby odpowiedzieć na post Chealiona, ale aby go dodać, zacznę od listy interfejsów
Gdy masz interfejs, który chcesz zmienić, możesz wykonać poniższe czynności (korzystam z Wi-Fi, ale możesz wykonać dowolny inny interfejs)
Pierwszy wiersz powyższego opróżni ustawienia DNS, a następnie podąży za nim z serwerami DNS, których chcemy użyć, i dokładnie wyczyści pamięć podręczną DNS
Aby zweryfikować zmianę DNS, możesz to zrobić przed i po lub po nim
źródło
resolv.conf nie działa już w OSX. U góry tego pliku znajduje się powiadomienie w następujący sposób:
Ponadto
networksetup -listallnetworkservices
nie zawiera wszystkich interfejsów VPN.Oto jeden ze sposobów użycia scutil do kierowania na właściwy interfejs: 1. Utwórz plik za
commands.txt
pomocą poleceń dla interaktywnego narzędzia scutil. np. zawartość bezpiecznego interfejsu Pulse w moim przypadku:set
)źródło
Powinieneś być w stanie to zrobić, edytując /etc/resolv.conf (pamiętaj, że resolv.conf jest resetowany po ponownym uruchomieniu), mam nadzieję, że to pomoże - http://developer.apple.com/mac/library/documentation/Darwin/Reference/ ManPages / man5 / resolver.5.html
źródło