Kadang DNS server directadmin down disebabkan pelanggan salah memasukkan record atau terdapat record yang tidak tersinkronisasi dengan sempurna.
Kelihatannya hal sepele, yaitu hanya sekedar dns. Tapi jika tidak dimonitor dengan benar maka server dns yang down tidak akan mengirimkan query dns dari pengunjung.
akibatnya? query tidak berhasil ditemukan dan website pun tidak bisa diakes.
Jadi bagaimana solusinya?
Tahap Ke-1
Biasanya solusinya kita bisa login ke dns yang down tersebut, kemudian melakukan restart dns dan melihat errornya.
Kira-kira dengan perintah seperti ini.
# service named restart | grep error
dari perintah diatas kita mendapatkan daftar record yang error.
Tahap ke-2
Selanjutnya setelah mendapatkan data tersebut kita mencari lokasi server yang mana.
kita biasanya mengeceknya dengan menggunakan ping.
ping namadomainnya.com
kita pun mendapatkan informasi lokasi server dimana domain tersebut berada.
Tahap selanjutnya, kita masuk ke server tersebut dan masuk ke menu DNS Administration.
Kita pun perlu melihat satu per satu baris record untuk menemukan celah kesalahan.
Misalnya :
- Nameserver yang di isi oleh ip address, dimana harusnya adalah hostname
- TXT record yang harusnya mengandung duabuah double quote (“) tapi ternyata hanya terdapat satu saja.
- dan lain sebagainya.
Setelah menemukan record yang terindikasi error, maka kita hapus atau kita betulkan record tersebut.
Tunggu 10-15 hingga proses sinkronisasi dns selesai.
Memangkas Tahap 1 & 2
Kita coba pangkas pengecekan tahap 1 dan 2 dengan cara membuat script monitoring sederhana.
seperti ini
#!/bin/bash declare -a service_arr #Load this array with the service names (maybe from file) service_arr=("named") n=${#service_arr[*]} for ((i=0; i<n; i++)) do service ${service_arr[i]} status &> /dev/null if [ $? -ne 0 ] then echo "start ${service_arr[i]}" domains=`service named restart | grep error | awk '{print $2'} | awk -F'/' '{print $1}'` #mengosonngkan file > /var/www/html/log/dns.txt error=0 while read -r domain; do ip=`dig +short a $domain` host=`dig +short -x $ip` echo "$domain $ip $host" echo "$domain $ip $host" >> /var/www/html/log/dns.txt error=1 done <<< "$domains" chmod 777 /var/www/html/log/dns.txt if [ $error -ne 0 ] then echo "Failed to start ${service_arr[i]}" fi fi done exit;
hasilnya nanti akan mengeluarkan output
namadomain.com ipaddress.192.x.xx hostnamenya-usaweb.co.id
kita tinggal melihatnya melalui browser dengan mengetik alamat dns seperti dns1.pusathosting.com/log/dns.txt
Script tersebut dipasang di cron dan jalan setiap 1 jam sekali.
Konsultasi via WA di 0817-0334-1186Posting Terkait :
Pekerja teknis domain, hosting & server. Hubungi saya via WA di 0817-0334-1186 atau messengger di http://m.me/hsuwantoro
Leave a Reply
Want to join the discussion?Feel free to contribute!