Pertama, jika networksetup -getdnsservers <service name>
tidak menunjukkan apa-apa, Anda tidak memiliki apa pun yang terdaftar di System Preferences> Netowrk di bawah "Server DNS:".
Kedua, penting untuk dicatat bahwa OS X tidak menangani DNS seperti kebanyakan sistem. Per https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/resolver.5.html Pada dasarnya ini berarti bahwa OS X memiliki beberapa klien DNS tergantung pada konfigurasi Anda. Hasil dari beberapa layanan ini berarti bahwa ada situasi di mana menggunakan Safari untuk mengakses situs web ( http://www.example.com ) akan membawa Anda ke alamat IP yang diambil oleh OS X dari DNS (katakanlah 1.2.3.4) sementara pada saat yang sama, melakukan penggalian
$ dig www.example.com
akan mengembalikan hasil yang berbeda. (mungkin 2.3.4.5)
Alasannya terletak pada cara OS X menangani DNS.
Jika Anda menjalankan $ man dig
Anda mendapatkan antara lain, berikut ini:
PEMBERITAHUAN Mac OS X PEMBERITAHUAN Perintah penggalian tidak menggunakan nama host dan resolusi alamat atau mekanisme routing kueri DNS yang digunakan oleh proses lain yang berjalan pada Mac OS X. Hasil permintaan nama atau alamat yang dicetak oleh dig mungkin berbeda dari yang ditemukan oleh proses lain yang menggunakan nama asli Mac dan mekanisme resolusi alamat. Hasil kueri DNS mungkin juga berbeda dari kueri yang menggunakan pustaka perutean DNS Mac OS X.
Juga $man nslookup
akan mengembalikan sesuatu yang serupa
PEMBERITAHUAN Mac OS X PEMBERITAHUAN Perintah nslookup tidak menggunakan nama host dan resolusi alamat atau mekanisme perutean DNS yang digunakan oleh proses lain yang berjalan pada Mac OS X. Hasil kueri nama atau alamat yang dicetak oleh nslookup mungkin berbeda dari yang ditemukan oleh proses lain yang menggunakan nama asli Mac dan mekanisme resolusi alamat. Hasil kueri DNS mungkin juga berbeda dari kueri yang menggunakan pustaka perutean DNS Mac OS X.
Semua ini sebenarnya cara yang agak panjang untuk mengatakan, cara terbaik untuk melihat server DNS apa yang digunakan adalah dengan melihat System Preferences> Network
Entri "DNS Server:" biasanya ada di sana, dan "Search Domains:" akan memungkinkan Anda untuk mencari alamat yang tidak lengkap.
Jika "DNS Server:" tidak ada, maka OS X akan mencoba menggunakan alamat di "Router:" untuk DNS.
DAN, di atas semua kesenangan ini, ada utilitas dan proses lain yang mungkin tidak menggunakan OS Routing Library OS X, dan mereka akan langsung memukul konten /etc/resolv.conf.
Jawaban singkat singkatnya adalah ini:
- Jika Anda melihat isi System Preferences> Network, Anda melihat hal yang sama dengan yang digunakan kebanyakan proses.
- Isi System Preferences> Network, harus mengisi /etc/resolv.conf, tetapi tidak selalu.
- Beberapa proses lain (seperti menggali dan nslookup) mengakses /etc/resolv.conf secara langsung.
Dan, di atas semua ini - Jika Anda tidak menggunakan klien VPN bawaan untuk OS X, ada kemungkinan bahwa rute tambahan dan server DNS sedang digunakan yang networksetup -getdnsservers <service name>
tidak akan ditampilkan. Klien VPN Anda mungkin memiliki kemampuan untuk menunjukkan kepada Anda rute dan server DNS, saya tahu itu milik saya.
Saya tahu bahwa ini tidak secara tepat menjawab pertanyaan Anda, tetapi mudah-mudahan ini membantu Anda menyadari bahwa tidak selalu mudah untuk mengetahui apa "kebenaran" tentang DNS pada Mac. Secara umum Anda aman dengan asumsi bahwa isi System Preferences> Network, atau konten dari networksetup -getdnsservers <service name>
mana Anda mendapatkan DNS Anda. Namun jika hal-hal tampak aneh, perlu diingat bahwa ada kemungkinan lain juga. Gunakan dig untuk membantu menentukan apakah ada perbedaan yang sedang terjadi.
Terakhir, bagi para pembaca yang bertanya-tanya bagaimana untuk mendapatkan <service name>
di networksetup -getdnsservers <service name>
, coba gunakannetworksetup -listallnetworkservices
Tagihan
di OSX Mavericks (10.9 - sebenarnya 10.6.3 ke atas, saya percaya) jika Anda ingin melihat konfigurasi DNS aktif:
Entri -first- (resolver # 1) dilaporkan konfigurasi aktif ... meskipun saya telah melihat banyak kasus di mana itu tidak terjadi.
dari manusia scutil
IME, jika apa yang Anda lihat di sini tidak sesuai dengan yang Anda harapkan (yaitu, jaringan> lanjutan> dns), Anda mungkin perlu menonaktifkan / mengaktifkan adaptor jaringan yang sesuai untuk menyegarkan ...
Kiat lain dalam OSX terbaru:
Dengan 10.7 atau 10.8, domain pencarian tidak berlaku untuk pencarian dengan titik di dalamnya. yaitu - www.test tidak akan menambahkan domain pencarian sama sekali, di mana www akan melakukannya. ada perbaikan:
Sekarang bongkar dan muat ulang layanan mDNSResponder: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist.jp
jaringan> lanjutan> konfigurasi dns adalah -PER INTERFACE-. Jadi, jika Anda menggunakan nirkabel dan kabel ... Anda harus mengatur keduanya.
ada cara lain juga - / etc / resolver - satu contoh di sini: Apakah / etc / resolver / file berfungsi di Mountain Lion untuk resolusi DNS? dan lainnya di sini: https://www.dforge.net/2013/01/30/osx-domain-specific-dns-servers-etcresolver/
Sedangkan untuk mencoba melakukan nslookup - diketahui bahwa nslookup (dan host dan dig) tidak mengikuti mekanisme resolusi OSX (sangat unik dan campur aduk). Gunakan ping.
sumber
scutil --dns
menunjukkan konfigurasi DNS aktual yang digunakan OS.Saya biasanya menggunakan (pada lingkungan unix, dan ini mungkin sekolah yang agak tua) sesuatu seperti contoh berikut.
Pertama, Anda dapat mencari alamat IP atau entri nama DNS satu per satu, dan itu akan melaporkan kembali server yang digunakan untuk memberikan jawabannya. Anda dapat mencari satu entri pada baris perintah, atau masuk ke
nslookup
program dan mencari beberapa entri tanpa harus memasukkan kembali perintah:Kedua perintah ini (perhatikan saya menjalankan ini pada kotak windows, pada unix / OS X perintah ipconfig / all adalah ifconfig -a dan hasil keluaran mungkin sedikit berbeda) yang berisi daftar data konfigurasi ip untuk setiap antarmuka di sistem Anda, port fisik, koneksi nirkabel, VNC dll, menampilkan apa yang terkait dengan DNS dan IP data dengan setiap rute keluar dari mesin, Anda akan mendapatkan banyak entri kembali, satu untuk setiap port / adaptor jaringan asli, dan juga berbagai jumlah port virtual juga tergantung pada Anda konfigurasi, dalam contoh saya, saya menghapus sebagian besar hasil tetapi menunjukkan adaptor VPN saya dan entri DNS (redacted) yang dimilikinya.
sumber
Apa yang
nslookup
memberitahu Anda? Ini memberi saya server DNS saya di baris kedua.sumber