Gdzie mogę wymusić użycie określonego serwera DNS w systemie OS X?

5

Na OS X Leopard, scutildaje mi

$ scutil --dns
DNS configuration

resolver #1
  nameserver[0] : 192.168.1.1
  nameserver[1] : 192.168.2.1
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

...

Jak teraz usunąć pierwszy „resolver # 1” i zastąpić wybrany przeze mnie serwer DNS?


Kontekst: Klient VPN ustawia ten fałszywy wpis DNS na połączeniu, zastępując moje działające ustawienia DNS. Nie byłem w stanie dowiedzieć się, jak temu zapobiec ( zobacz tutaj ), więc teraz próbuję usunąć ten niechciany efekt ex-post, po połączeniu. Skrypt wiersza poleceń do tego celu byłby idealny.

Próbowałem sudo scutilzgodnie z instrukcjami tutaj , ale bez miłości - scutil --dnsnadal raportuje ustawienia bez zmian, a rozdzielczość DNS nadal nie działa. Modyfikacja /etc/resolv.confnie ma wpływu na OS X.

użytkownik124114
źródło

Odpowiedzi:

1

Cóż, większość znanych nam połączeń VPN może przesłać serwer DNS do klienta VPN. Moją sugestią byłoby poprosić dostawcę VPN, aby nie naciskał serwera DNS dla twojego połączenia. Pamiętaj, że może to mieć negatywny wpływ na sesję VPN.

Valentin
źródło
dziękuję, ale niestety to niemożliwe. Więc system operacyjny nie daje mi możliwości używania wybranego serwera DNS na moim komputerze?
user124114
Hm, OS X to wciąż Unix. Możesz zmodyfikować /etc/resolf.conf (lub odpowiedni odpowiednik w Uniksie) po nawiązaniu połączenia VPN. Innym sposobem może być ustawienie niezmiennego bitu w pliku.
Valentin
Niestety w OS X /etc/resolv.confjest generowane automatycznie i zmiana nie ma żadnego efektu.
użytkownik124114
1

Z mojego doświadczenia wynika, że ​​jeśli określisz konkretny serwer DNS w preferencjach sieciowych, nawet jeśli używasz DHCP, Mac OS używa tego serwera zamiast tego uzyskanego przez DHCP. Więc jeśli zawsze chcesz użyć 192.168.1.1, umieść to wyraźnie.

Preferencje systemowe -> Sieć -> Ethernet (lewe okienko) powinny tworzyć okno z polem tekstowym „Serwer DNS:”, które można wypełnić adresem IP żądanego serwera DNS. Kliknij „Zastosuj”, aby zastosować zmianę i gotowe; nie powinieneś ponownie wprowadzać tej zmiany. (Jeśli połączenie VPN to WiFi zamiast Ethernetu, należy kliknąć na to zamiast na Ethernet powyżej.)

Kyle Jones
źródło
Dzięki, spróbowałem tego. Ale po podłączeniu klienta VPN zły serwer DNS jest nadal ustawiony (nadpisuje poprzedni, działający), a ja nadal nie wiem, jak się go pozbyć :(
użytkownik124114
0

W przypadku tymczasowego nadpisania w wierszu poleceń możesz:

sudo networksetup -setdnsservers Wi-Fi <dnsserver1ip> <dnsserver2ip>

i zresetuj ustawienia za pomocą:

sudo networksetup -setdnsservers Wi-Fi empty

Jeśli masz połączenie z innym interfejsem niż Wi-fi, możesz sprawdzić poprawne nazwy za pomocą:

sudo networksetup -listallnetworkservices
Mikael Lepistö
źródło
-1

Powinieneś ustawić swój VPN w swojej sieci. Mam prywatny dostęp do Internetu i muszę go ręcznie zainstalować w mojej sieci. Moja sieć pokazuje dostęp do lotniska, Ethernetu i prywatnego Internetu.

Aby zmienić moje dns:

  • kliknij swoją sieć VPN
  • naciśnij zaawansowane, aw opcjach „wyślij cały ruch przez VPN” należy sprawdzić
  • kliknij zakładkę DNS i dodaj swoje dns w polu. Jeśli nie umieścisz żadnych serwerów dns, przesunie on do ustawień ethernet dns.
  • Teraz sprawdź, czy używasz dns ccp w terminalu:

    scutil --dns | grep nameserver\[[0-9]*\]
    
ralph
źródło