Saya menggunakan perintah ini untuk memverifikasi apakah saya telah mengatur semuanya dengan benar dengan penyedia DNS:
host hostname.example.com ns1.example-nameserver.com
Sejauh yang saya tahu, ini meminta ns1.example-nameserver.com
untuk mencari hostname.example.com
dan melaporkan jawabannya. Saya mendapat tanggapan dari tuan rumah, jadi saya pikir saya salah. Namun, tanpa menentukan nama-server mereka (sehingga memungkinkan nama-server saya ISP untuk mencarinya) saya mendapat respon yang benar ( hostname
adalah CNAME
jika itu penting). Saya tidak dapat memahami ini jadi saya mencari-cari dan menemukan dig
perintah:
dig @ns1.example-nameserver.com hostname.example.com
Sejauh yang saya tahu ini melakukan hal yang sama dengan host
perintah - meminta server nama tertentu untuk mencari host. Karena itu saya menyimpulkan bahwa mereka harus melakukannya secara berbeda, dan bahwa caching server nama harus menggunakan metode yang sama dig
.
Kesimpulan saya benar atau salah, jika itu benar:
Apa perbedaan antara kedua metode pencarian ini?
Jika salah:
Apa kesalahpahaman saya tentang DNS dan host
dan dig
perintah yang membuat saya sampai pada kesimpulan ini?
Contoh output:
$ host cardiff.tzmchapters.org ns1.livedns.co.uk
Using domain server:
Name: ns1.livedns.co.uk
Address: 213.171.192.250#53
Aliases:
Host cardiff.tzmchapters.org not found: 3(NXDOMAIN)
$ dig @ns1.livedns.co.uk cardiff.tzmchapters.org
; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23620
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;cardiff.tzmchapters.org. IN A
;; ANSWER SECTION:
cardiff.tzmchapters.org. 3600 IN CNAME ghs.google.com.
;; AUTHORITY SECTION:
google.com. 3600 IN SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600
;; Query time: 27 msec
;; SERVER: 213.171.192.250#53(213.171.192.250)
;; WHEN: Mon Apr 22 23:47:05 2013
;; MSG SIZE rcvd: 128
sumber
dig
danhost
melaporkanNXDOMAIN
. Dengandig
Anda dapat melihatnya di header (baris 5 non-kosong dari output) dan denganhost
itu lebih jelas.NXDOMAIN
berarti domain tidak ada. Namun aCNAME
dikembalikan di bagian jawaban! Saya percaya itu adalah bug di server DNS!dig
danhost
keduanya mengirim paket permintaan yang sama persis, mendapatkan paket respon yang sama persis (selain dari cap waktu), tetapi menafsirkannya secara berbeda? Apakahhost
bail out segera setelah dilihatnyaNXDOMAIN
?Jawaban:
host
,,dig
dannslookup
semua memiliki sebagian besar fungsi yang sama. Dalam hal ini Anda bertanya tentang (menanyakan pertanyaan DNS tertentu ke server nama tertentu),dig
danhost
(dan memangnslookup
) berperilaku sama persis.Untuk pemecahan masalah DNS,
dig
lebih disukai karena format outputnya lebih "mentah": dalam outputnya langsung menampilkan konten semua 4 bidang dalam respons DNS: pertanyaan, jawaban, otoritas, dan bagian tambahan (ditambah bendera di header) , dan juga memiliki lebih banyak opsi.host
, di sisi lain, memiliki format output yang lebih ramah pengguna.Jika Anda tidak membutuhkan opsi yang dimiliki salah satu perintah dan yang lainnya tidak, atau informasi yang dihasilkan salah satu dari mereka dan yang lainnya tidak, maka itu menjadi masalah preferensi.
sumber
host
tetapi jawaban yang benar ketika menggunakandig
? Bahkan jika server dikonfigurasi menggunakan pengaturan tertentu (baik karena pilihan atau kecelakaan) untuk menyebabkan ini, itu harus dapat membedakan permintaan.dig
memberi Anda jawaban aktual dan bukan catatan di bagian tambahan atau otoritas? Seperti yang disarankan Renan , mungkin membantu untuk menunjukkan hasilnya.host
berfungsi dengan baik. Silakan coba sendiri dan beri tahu saya hasilnya.dig
permintaan dengan cara yang berbeda, seperti yang dilakukan nameserver?Jika Anda menggunakan nama host non-FQDN, hasilnya bisa berbeda karena
host
akan menggunakan domain pencarian diresolv.conf
, sedangkandig
tidak secara default.Anda harus menggunakan
+search
opsi jika Anda ingindig
menggunakanresolv.conf
(atau menambahkannya~/.digrc
).Sebagai contoh:
sumber