Konfigurasi Slave DNS Server di Plesk

Mempunyai Slave DNS untuk beberapa server website akan membantu mengurangi load pada main server, selain itu jika service DNS mengalami kendala atau down karena kondisi tertentu, maka website akan tetap bisa diakses.

Dalam membuat Slave DNS, disarankan untuk menggunakan 2 server (ns1.example.com, ns2.example.com) dengan lokasi datacenter yang berbeda untuk High availability.

Install Slave DNS Manager

Main Server

Login ke panel Plesk sebagai Administrator

Selanjutnya instal extension Slave DNS Manager

Setelah terinstal, klik menu Slave DNS Manager

Klik Add Slave dan tentukan Slave DNS IP address.

Jika menggunakan layanan Cloud VPS dengan floating IP, Sebaiknya slave DNS ditempatkan pada subnet IP private yang sama.

Cek konfigurasi untuk slave DNS pada path /usr/local/psa/var/modules/slave-dns-manager

# cat /usr/local/psa/var/modules/slave-dns-manager/slave_10.55.58.123.conf
/*
    Add to named.conf on the remote server (config location depends on the OS of the slave server):

    options {
        ...
        allow-new-zones yes;
    };

    key "rndc-key-10.55.58.237" {
      algorithm hmac-md5;
      secret "MGI0MDNiMjNlOTlkNjU2ZjM1NjEwYQ==";
    };

    controls {
        inet * port 953 allow { 10.55.58.237; 127.0.0.1; } keys { "rndc-key-10.55.58.237"; };
    };
*/

/*
 SYNOPSIS
   rndc [-b source-address] [-s server] [-p port] [-y key_id] {command} zone [class [view]]
 For example:
   rndc -b 10.55.58.237 -s 10.55.58.123 -p 953 -y rndc-key refresh example.com IN
*/

key "rndc-key" {
    algorithm hmac-md5;
    secret "MGI0MDNiMjNlOTlkNjU2ZjM1NjEwYQ==";
};

Edit rndc-key pada file rndc.conf dan named.conf

nano /var/named/chroot/etc/rndc.conf
nano /var/named/chroot/etc/named.conf

Sesuaikan seperti berikut.

key "rndc-key" {
    algorithm hmac-md5;
    secret "MGI0MDNiMjNlOTlkNjU2ZjM1NjEwYQ==";
};

Restart service DNS

systemctl restart named-chroot

Untuk memastikan secret valid. Test dengan perintah

rndc status

Slave Server

Login ke Slave Server sebagai user root.

Edit file /var/named/chroot/etc/rndc.conf.

key "rndc-key" {
    algorithm hmac-md5;
    secret "MGI0MDNiMjNlOTlkNjU2ZjM1NjEwYQ==";
};

Selanjutnya edit /var/named/chroot/etc/named.conf menjadi seperti berikut.

options {
        allow-recursion {
            localnets;
        };
        include "/etc/named-user-options.conf";
        directory "/var";
        pid-file "/var/run/named/named.pid";
        allow-new-zones yes;
};

key "rndc-key-10.55.58.237" {
      algorithm hmac-md5;
      secret "MGI0MDNiMjNlOTlkNjU2ZjM1NjEwYQ==";
};

controls {
        inet * port 953
        allow { 10.55.58.237; 127.0.0.1; } keys { "rndc-key-10.55.58.237"; };
};

Restart service DNS.

systemctl restart named-chroot

Cek Slave DNS Manager pada Main Server untuk memastikan server sudah terhubung ke slave DNS.

Terakhir klik Resync untuk mentransfer semua zone yang ada di Main Server ke slave DNS.