Jawaban:
Ada beberapa cara - ini ada dua:
cat /etc/resolv.conf
-atau-
scutil --dns
dig
atau nslookup
tidak perlu memberikan gambaran realistis tentang bagaimana aplikasi macOS menyelesaikan nama domain dari sistem lokal, terutama ketika beberapa DNS (khusus domain) telah dikonfigurasi, seperti ketika menggunakan klien VPN untuk banyak koneksi bersamaan. Alih-alih nslookup
atau dig
, gunakan dscacheutil -q host -a name somehostname.com
untuk menguji resolusi DNS. Ini memperhitungkan semua server DNS yang dikonfigurasi serta urutan prioritasnya.
cat /etc/resolv.conf
tidak tampak seperti solusi yang "dapat diandalkan" lagi. Ini adalah pemberitahuan yang saya dapatkan di macOS High Sierra ketika menggunakannya: (maaf untuk pemformatan - komentar tidak mendukung jeda baris sederhana) # macOS Pemberitahuan # # File ini tidak dikonsultasikan untuk resolusi nama host DNS, alamat # resolusi, atau Mekanisme perutean DNS query digunakan oleh sebagian besar proses # pada sistem ini. # # Untuk melihat konfigurasi DNS yang digunakan oleh sistem ini, gunakan: # scutil --dns
scutil --dns | grep nameserver
untuk hanya mendapatkan server DNS.
Perintah shell berikut dapat bermanfaat untuk mendaftar entri DNS saat ini:
grep nameserver <(scutil --dns)
Untuk memfilter skrip, Anda dapat menyalurkan output ke awk '{print $3}'
atau grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+"
perintah.
scutil --dns | grep nameserver
benar (hanya sintaks yang berbeda)?
networksetup -getdnsservers
tidak berfungsi untuk server DNS yang ditetapkan DHCP. Saya selalu lupascutil
. 'Sc' adalah singkatan dari System Configuration? Ini tentu tidak mengkonfigurasi banyak sistem ...