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 :

  1. Nameserver yang di isi oleh ip address, dimana harusnya adalah hostname
  2. TXT record yang harusnya mengandung duabuah double quote (“) tapi ternyata hanya terdapat satu saja.
  3. 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-1186
Posting Terkait :
Directadmin: Cara Merubah IP ber-Status Server Menjadi Global Shared

Beberapa waktu lalu kita install server dengan control panel directadmin kemudian menambah ip address, hanya saja ip address utama berstatus Read more

Sharing is Caring.!

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *