DNS sunucumu Mac OS X'teki Terminal'den nasıl değiştirebilirim? [Buna ihtiyacım var çünkü DNS'im VPN'imle düzgün çalışmıyor. Bazen ana bağlantım için DNS kullanıyor ve bazen VPN için belirtilen DNS'yi kullanıyor (olması gereken).]
DNS sunucumu Mac OS X'teki Terminal'den nasıl değiştirebilirim? [Buna ihtiyacım var çünkü DNS'im VPN'imle düzgün çalışmıyor. Bazen ana bağlantım için DNS kullanıyor ve bazen VPN için belirtilen DNS'yi kullanıyor (olması gereken).]
Yanıtlar:
scutil
Terminalden etkileşimli olarak kullanabilirsiniz . sudo scutil
DNS sunucularınızı uygun yerlerde değiştirerek bu komutları çalıştırın ve çalıştırın:
> aç > d.init > d.add Sunucu Adresleri * 8.8.8.8 9.9.9.9 > Durumu Ayarla: / Ağ / Servis / PRIMARY_SERVICE_ID / DNS > çık
DNS sunucularınızı kullanmak 8.8.8.8
ve 9.9.9.9
kullanmak yerine .
Tek sorun bunun yeniden başlatmalar arasında kalıcı olmaması . Kalıcı değişiklikler istiyorsanız, ncutil isteyeceksiniz . Düzenlemenin nedeni /etc/resolv.conf
OS X'in daha yeni sürümlerinde yeterli değil, çünkü configd şimdi diğer uygulamaların okuduğu geçerli ayarların bilgilerini depolamak için bir veritabanı kullanıyor. Bazı uygulamalar yine de okuyacak /etc/resolv.conf
(örneğin, ana bilgisayar), tüm uygulamalar için geçerli olmasa da.
scutil --dns
Onaylamak için kullanabilirsiniz .
set State:/Network/Service/PRIMARY_SERVICE_ID/DNS
yoksa onu olduğu gibi kullanabilir miyim? Yeni DNS sunucuları scutil --dns
değişiklikten sonra çıktıda görünmeli mi?
scutil
ardından çalıştırın > list
.
Kullanabilirsiniz networksetup
:
sudo networksetup -setdnsservers <networkservice> DNS1, DNS2, DNS3
örneğin (Havaalanı bağlantısının Google’ın DNS Sunucularını kullanması)
sudo networksetup -setdnsservers AirPort 8.8.8.8 8.8.4.4
Şebeke servisinin adını çalıştırarak öğrenebilirsiniz networksetup -listallnetworkservices
. Muhtemelen 'Wi-Fi' olacak.
Bu, Sistem Tercihleri'ndeki Ağ Tercihleri Bölmesi'ndeki girişleri düzenliyor olmanızla aynıdır, bu nedenle yeniden başlatmalar arasında kalıcıdır.
Sipariş DNS sunucuları sorgulandığı zaman ortaya çıkan Snow Leopard'da bir DNS sorunu yaşıyor olabilirsiniz (bkz. Soru 84144 ))
sudo networksetup -setdnsservers <networkservice> empty
Chealion'un gönderisine cevap vermek için yeterli puanım yok ama üzerine eklemek için arayüzleri listelemeye başlayacağım
networksetup -listallnetworkservices
Değiştirmek istediğiniz arayüze sahip olduktan sonra aşağıdakileri yapabilirsiniz (Wi-Fi kullanıyorum ancak başka bir arayüz de yapabilirsiniz)
sudo networksetup -setdnsservers Wi-Fi empty
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
sudo killall -HUP mDNSResponder
Yukarıdakilerin ilk satırı DNS ayarlarını boşaltır, ardından kullanmak istediğimiz DNS sunucuları ile takip eder ve DNS önbelleğini temizler
DNS değişikliğini doğrulamak için bunu önce ve sonra veya hemen sonra yapabilirsiniz.
scutil --dns | grep 'nameserver\[[0-9]*\]'
resolv.conf artık OSX'de çalışmıyor. Dosyanın en üstünde aşağıdaki gibi bir bildirim var:
#
# 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.
#
Ayrıca, networksetup -listallnetworkservices
tüm VPN arayüzlerini listelemez.
Doğru arayüzü hedeflemek için scutil kullanmanın bir yolu: 1. commands.txt
İnteraktif scutil aracı için komutlarınızla bir dosya oluşturun . Örneğin, benim durumumda Pulse güvenli arayüz içeriği:
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 dosyasını düzenleyerek yapabilmeniz gerekir (resolv.conf'un yeniden başlatıldıktan sonra sıfırlandığını unutmayın), yardımcı olacağını umarsınız - http://developer.apple.com/mac/library/documentation/Darwin/Reference/ Elyordamsayfalarının / Man5 / resolver.5.html