Apakah mungkin untuk melacak jalur delegasi untuk pencarian DNS?

16

Saya mencoba menentukan mengapa cek host Nagios gagal (nama host dan IP telah diubah untuk melindungi yang bersalah):

: jmglov@laurana; host www.foo.com
;; connection timed out; no servers could be reached

: jmglov@laurana; for ns in `grep -o '\([0-9]\+[.]\)\{3\}[0-9]\+$' /etc/resolv.conf`; do ping -qc 1 $ns; done
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 10.911/10.911/10.911/0.000 ms
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.

--- 192.168.1.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.241/0.241/0.241/0.000 ms

Jadi saya tahu bahwa server nama saya dapat dijangkau, artinya beberapa server nama di sepanjang jalur delegasi ke server nama resmi untuk host saya tidak merespons. Apakah ada cara mudah untuk menentukan nameserver mana ini (pada dasarnya traceroute untuk DNS)?

Josh Glover
sumber

Jawaban:

33

Apakah ini melakukan pekerjaan untuk Anda?

dig +trace google.com

Dari halaman manual:

+ [tidak] lacak Toggle tracing dari jalur delegasi dari server nama root untuk nama yang dicari. Pelacakan dinonaktifkan secara default. Ketika pelacakan diaktifkan, menggali membuat kueri berulang untuk menyelesaikan nama yang dicari. Ini akan mengikuti rujukan dari server root, menunjukkan jawaban dari setiap server yang digunakan untuk menyelesaikan pencarian.

Koperasi
sumber
Itu sangat mempesona!
Josh Glover
22

Untuk Windows Anda dapat melacak kueri dns Anda dengan

nslookup -debug google.at

Anda juga dapat melacaknya secara online (dari couse dari host lain) di http://www.simpledns.com/lookup-dg.aspx

Alexander Taubenkorb
sumber
nslookupsama seperti digbekerja juga di bawah terminal Mac OS X.
Krzysztof Przygoda