Bagaimana cara menguji apakah informasi DNS telah disebarkan?

16

Saya mengatur entri DNS baru untuk salah satu subdomain saya (saya belum mengatur host virtual Apache atau yang seperti itu). Bagaimana saya dapat memeriksa apakah informasi DNS telah disebarkan?

Saya berasumsi bahwa saya bisa dengan sederhana ping my.subdomain.comdan menganggap bahwa jika itu bisa menyelesaikan, itu akan menunjukkan alamat IP yang saya tentukan dalam catatan A. Namun, saya tidak tahu apakah saya berasumsi benar. Apa cara terbaik untuk memeriksa informasi ini?

Andrew
sumber
3
Bukan pertanyaan bodoh. Bukan hal yang mudah untuk mengetahui hal seperti ini.
aseq
1
Saya setuju dengan @aseq bahwa ini bukan pertanyaan bodoh , tetapi "coba dan lihat" akan memberi Anda jawabannya juga. Itu juga sesuatu yang bisa dijawab Google dengan mudah dengan sedikit usaha (mencari How to test if DNS information has propagated- judul pertanyaan berdarah menghasilkan hasil Google yang baik).
voretaq7
4
Saya tidak berpikir Anda menyia-nyiakan waktu orang. Pertanyaan Anda memancing beberapa tanggapan berharga. Anda tidak pernah tahu bagaimana pertanyaan yang tampaknya sederhana yang bisa "di-Google-go" mungkin muncul. Salah satu nilai dari forum ini adalah bahwa jawaban dan pertanyaan dapat diperluas dengan sangat mudah.
aseq
1
@dan tidak ada yang salah dengan menanyakan apa yang banyak dari kita anggap sebagai pertanyaan sederhana - ini mungkin akan menjadi hasil teratas Google untuk string itu dalam beberapa hari karena cara situs diindeks / diurutkan. Secara umum meskipun Google adalah tempat yang lebih baik (lebih cepat) untuk dicari: Jika Google tidak tahu maka tanyakan di sini (dan Google akan belajar) :-)
voretaq7
1
Saya menemukan mengapa tidak ada yang saya coba yang berhasil. Tampaknya, jaringan kami dikonfigurasi sedemikian rupa sehingga subdomain baru juga harus ditambahkan dalam DNS lokal kami. Jadi subdomain itu dapat diakses dari dunia luar, hanya saja tidak di jaringan kami tempat saya menguji. = [Tetapi menggunakan nslookupdan digketika menentukan server eksternal membuatnya jadi saya bisa memverifikasi informasi DNS eksternal.
Andrew

Jawaban:

15

Anda dapat menggunakan menggali atau nslookup, katakan nameserver Anda (atau penyedia Anda jika Anda tidak menjalankan sendiri) adalah ns1.example.com.

Menggunakan nslookup:

nslookup - ns1.example.com

Pada tipe prompt:

my.example.com

Jika itu sesuai dengan apa yang Anda harapkan maka itu berfungsi. Seharusnya memberi Anda sesuatu seperti:

Name:   example.com
Address: 192.0.43.10

Mungkin masih perlu waktu untuk menyebar ke seluruh internet, itu di luar kendali Anda.

Menggunakan menggali:

[email protected] my.example.com

Anda harus melihat sesuatu seperti:

;; ANSWER SECTION:
example.com.        172800  IN  A   192.0.43.10

Hanya dengan menggunakan ping dapat memberi Anda ide, tetapi hanya ketika telah disebarkan (di-cache oleh nameserver jarak jauh mungkin merupakan cara yang lebih baik untuk menggambarkannya) dan cache dns lokal Anda mungkin perlu dibilas. Meskipun dalam kasus Anda ini tidak berlaku karena ini adalah rekor baru. Dalam hal ini harus segera tersedia. Cara di atas lebih tepat dalam memberi Anda ide daripada hanya ping itu.

Jika Anda menggunakan windows maka perintah dan sintaks mungkin sedikit berbeda, tetapi sangat mirip.

aseq
sumber
3
+1 Jika Anda melakukan sesuatu dengan DNS, dapatkan salinannya dig(* sistem nix sudah memilikinya, ada berbagai versi untuk Windows yang tersedia).
Chris S
3
-1. Maafkan saya. Saya benar-benar, tetapi jawaban ini "menyebarkan" mitos yang disebarkan oleh catatan DNS, yang pastinya TIDAK DILAKUKAN. Istilah yang Anda cari adalah "caching" yang merupakan apa yang terjadi dengan catatan DNS, berdasarkan TTL catatan. Karena OP merujuk ke catatan DNS baru, tidak ada caching yang dapat terjadi, oleh karena itu setiap klien DNS yang ingin menyelesaikan catatan tersebut akan mendapatkan jawabannya ... segera ... karena tidak dapat di-cache oleh klien itu ... atau klien itu DNS server ... atau server DNS lainnya. Data DNS tidak menyebar ke "internet" lainnya.
joeqwerty
1
joeqwerty benar sekali. dns server akan menyimpan hit positif atau negatif untuk waktu yang telah ditentukan. Namun, selain posting asli, ada beberapa server nama publik yang dapat Anda periksa termasuk GTE lama (4.2.2.1, 4.2.2.2, 4.2.2.3, dan 4.2.2.4) dan google (8.8.8.8, 8.8. 4.4). Aturan sederhana, perubahan baru dapat memakan waktu hingga ttl untuk hit positif atau negatif. Namun, ada beberapa kasus di mana aplikasi menerapkan logika dan cache jawaban yang buruk untuk periode waktu yang lebih lama.
bangdang
2
Saya tidak berpikir Anda benar-benar harus tetap berpegang pada definisi yang tepat untuk mendapatkan poin. Selain itu saya pikir menyebarkan itu bukan kata yang buruk untuk digunakan. Itu tidak mencakup subjek dalam arti bahwa cache dari catatan DNS menyebar ke berbagai server. Penyebaran itu mengacu pada apa yang disebarkan. Saya memperbarui jawaban saya untuk mencerminkan fakta bahwa catatan baru segera tersedia.
aseq
1
@ Easeq, itu istilah yang menyesatkan. Dan sebagian besar ternyata ppl yang berpikir / berbicara tentang DNS sebagai "propagasi" agak tidak tahu bagaimana DNS bekerja. Mereka biasanya menyatakan omong kosong seperti "dibutuhkan 2-3 hari informasi DNS Anda untuk disebarkan di Internet / Bumi", dan seterusnya.
poige
7

Anda tidak dapat menguji propagasi catatan DNS karena propagasi DNS tidak terjadi. Yang dapat Anda uji adalah apakah klien DNS atau server memiliki catatan DNS tertentu yang di-cache.

Karena ini adalah catatan DNS baru, tidak ada caching yang dapat terjadi. Dengan asumsi bahwa server nama Anda terdaftar dengan benar di server induk dan bahwa server nama Anda berfungsi dengan benar, catatan DNS ini harus segera tersedia untuk setiap dan setiap klien atau server DNS.

joeqwerty
sumber
Senang membantu ...
joeqwerty
Apakah ada cara untuk memeriksa apakah saya memasukkan IP yang valid? Saya hanya ingin memastikan bahwa alamat IP yang saya gunakan adalah yang benar. Seseorang yang saya ajak bicara sepertinya berpikir bahwa ping akan gagal jika saya belum mengatur Apache VHost.
Andrew
Ping bukan alat pengujian DNS. Dig dan Nslookup adalah alat pengujian DNS. Gunakan Dig atau Nslookup untuk menguji catatan DNS baru. Permintaan catatan terhadap server nama Anda dan kemudian permintaan untuk catatan terhadap server nama lain untuk memastikan mereka menemukan server nama Anda dan bahwa server nama Anda merespons dengan jawaban yang benar.
joeqwerty
1
"propagasi" adalah gagasan yang dibuat dalam kasus orang tidak dapat memahami situasi aktual, yang merupakan penuaan cache dan kedaluwarsa. Apa yang perlu dikatakan oleh penyedia DNS adalah "data Anda mungkin tidak terlihat sampai setelah XX jam". Penjelasan tentang mengapa diperlukan agar tidak terlihat seperti penyedia DNS adalah penundaan. Terlalu banyak orang "tidak bisa menangani kebenaran". "Perbanyakan" yang dibuat-buat adalah cerita sampul yang efektif. Geeks DNS sejati tahu apa yang sebenarnya terjadi karena mereka membaca detail teknis.
Skaperen
Cukup benar ... Saya hanya benci menggunakan istilah yang "menyebarkan" kesalahpahaman tentang cara kerja DNS.
joeqwerty
5

Meskipun jawaban lain cukup bagus, ingatlah bahwa apa yang disebarkan kepada Anda mungkin tidak disebarluaskan kepada saya. daripada menggunakan DIG atau NSlookup dan menghabiskan satu jam memeriksa server DNS di seluruh dunia, saya biasanya menggunakan http://www.whatsmydns.net/ untuk melihat bagaimana perkembangan propagasi.

Jim B
sumber
Tidak ada propagasi dalam DNS, istilah ini agak menyesatkan untuk semua jenis lamer yang tidak akan menemukan diri mereka membaca RFC, jadi jangan <strike> propagasi </strike> gunakan istilah ini, tolong. ;-D
poige
1
Tentu saja ada propagasi dalam DNS, RFC mengandaikan bahwa pembaca memahami bahwa informasi dapat menyebar ketika server melakukan pencarian dan cache. itu sangat jelas ketika lamer membaca RFC kemudian bertanya-tanya mengapa catatan di server mereka tidak cocok dengan hasil pencarian dari server yang berbeda. Mereka menemukan bahwa propagate memiliki definisi "untuk menyebar luas" (yang persis apa yang perlu diperiksa - distribusi catatan yang diperbarui)
Jim B
Baik distribusi, maupun propagasi (kecuali master ke slave).
poige
Mungkin ini adalah peninggalan dari saat kadang-kadang hampir satu hari untuk mendapatkan perubahan yang dilakukan di domain .com yang dimuat pada server nama root (jauh kembali ketika .com di root!)
Cakemox
@ poige- terima kasih telah memverifikasi kurangnya pemahaman Anda tentang cara kerja cache DNS. Saya sarankan membaca RFC tentang cara kerja DNS dan mungkin memeriksa situs web yang saya tautkan untuk contoh dunia nyata.
Jim B
3

Cara termudah untuk memastikan server DNS otoritatif Anda di jalur delegasi Anda menjawab dengan benar adalah dengan menggunakan dig +trace:

; <<>> DiG 9.7.3 <<>> +trace www.google.com a
;; global options: +cmd
.           80050   IN  NS  m.root-servers.net.
.           80050   IN  NS  f.root-servers.net.
.           80050   IN  NS  i.root-servers.net.
.           80050   IN  NS  h.root-servers.net.
.           80050   IN  NS  c.root-servers.net.
.           80050   IN  NS  k.root-servers.net.
.           80050   IN  NS  d.root-servers.net.
.           80050   IN  NS  g.root-servers.net.
.           80050   IN  NS  a.root-servers.net.
.           80050   IN  NS  b.root-servers.net.
.           80050   IN  NS  e.root-servers.net.
.           80050   IN  NS  l.root-servers.net.
.           80050   IN  NS  j.root-servers.net.
;; Received 509 bytes from 192.168.1.1#53(192.168.1.1) in 0 ms

com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
;; Received 504 bytes from 198.41.0.4#53(a.root-servers.net) in 127 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
;; Received 168 bytes from 192.43.172.30#53(i.gtld-servers.net) in 20 ms

www.google.com.     604800  IN  CNAME   www.l.google.com.
www.l.google.com.   300 IN  A   173.194.35.180
www.l.google.com.   300 IN  A   173.194.35.178
www.l.google.com.   300 IN  A   173.194.35.176
www.l.google.com.   300 IN  A   173.194.35.177
www.l.google.com.   300 IN  A   173.194.35.179
;; Received 132 bytes from 216.239.34.10#53(ns2.google.com) in 27 ms

Ini akan mengikuti delegasi ke nameserver yang resmi untuk permintaan Anda. Jawaban terakhir biasanya yang paling Anda perhatikan, tetapi jejaknya sangat membantu karena akan menunjukkan siapa yang menjawab untuk setiap delegasi. Jika Anda mengubah server nama, ini bisa sangat berguna.

Ingatlah bahwa penelusuran akan meminta server otoritatif secara langsung, sehingga tidak ada caching. Ini adalah indikasi terbaik bahwa jawaban dikembalikan seperti yang diharapkan, tetapi itu bukan indikasi yang baik tentang apa yang mungkin dialami pengguna akhir. Namun, karena Anda tidak sering memiliki kontrol atas server nama caching orang lain (di luar memiliki pandangan ke depan untuk menurunkan TTL Anda, tunggu TTL asli, buat perubahan, lalu pulihkan TTL), biasanya tidak layak untuk dicek setelah fakta.

Cakemox
sumber