“Ping” menggunakan protokol DNS
Apakah ada "praktik baik" yang diterima untuk memeriksa bahwa sambungan jaringan ke server DNS beroperasi, dan bahwa server merespons secara minimal, selain mengeluarkan permintaan pencarian? Melihat kode untuk Nagios sebagai contoh tertentu, saya perhatikan bahwa kode tersebut tampaknya berorientasi pada "apakah nama ini menyelesaikannya?" daripada "apakah servernya OK?".
Saya sudah mencoba kueri null tetapi tampaknya diabaikan. Saya sudah mencoba meminta status server dan sementara beberapa menanggapi (biasanya dengan "tidak diterapkan") yang lain mengabaikan permintaan tersebut. Saya lebih suka sesuatu yang lebih baik daripada mengandalkan ping karena saya telah melihat banyak sistem server yang mengabaikan ping, dan karena kerumitan ekstra untuk mengotak-atik kemampuan, dll.
Saat ini saya menduga bahwa satu-satunya solusi yang dapat diandalkan secara konsisten adalah mencari sesuatu seperti google.com, dengan asumsi bahwa server akan memiliki cache ini akan mengeluarkan upaya minimal untuk merespons: karena saya perlu melakukan ini setiap beberapa menit, saya tidak ingin mengecewakan pemiliknya.
Jawaban
RFC 6303 mencantumkan sejumlah zona DNS pada dasarnya setiap server DNS harus dapat menjawabnya, pada dasarnya untuk menghentikan kueri tersebut agar tidak disebarkan ke akar hierarki DNS, jika zona tersebut tidak digunakan untuk tujuan lokal apa pun.
Yang tertua dan paling terkenal di antaranya adalah zona terbalik untuk jaringan loopback, dan khususnya, data PTR untuk alamat IPv4 127.0.0.1 (yaitu FQDN 1.0.0.127.in-addr.arpa.
). Pada dasarnya, setiap server DNS harus dapat menyediakannya tanpa menanyakan server DNS lainnya.
Jadi, meskipun dig -x 127.0.0.1 @dns-server-address
secara teknis merupakan kueri untuk rekaman tertentu, ini secara efektif berlaku sebagai "apakah servernya OK?" tes, karena itu adalah catatan yang harus dapat diselesaikan oleh setiap server DNS dengan sedikit usaha dan tanpa menghubungi server DNS lainnya.
Kueri untuk nama localhost.
tersebut secara praktis sama baiknya, perhatikan bahwa Anda harus secara eksplisit menyertakan tanda titik di bagian akhir untuk menunjukkan bahwa nama yang Anda kueri sudah sepenuhnya memenuhi syarat, untuk mencegah alat yang Anda gunakan kemungkinan menambahkan akhiran domain lokal Anda yang mungkin mendistorsi hasil.