Konfigurasi DNS Master Slave pada CentOS 7

Kali ini saya akan mebahas materi kelanjutan dari DNS Server yang sudah saya posting sebelumnya, Pada umumnya dalam jaringan atau server terdapat istilah redudant yang artinya ada penggati jika yang utama mengalami kegagalan. Dalam DNS Server istilahnya adalah Master Slave, server utama yang menyimpan database asli adalah Master, sedangkan server yang hanya menyalin saja dari yang asli disebut dengan Slave.

Sekarang saya akan menunjukan cara membuat Slave DNS Server, konfigurasi merupakan kelanjutan dari posting saya sebelumnya. Berikut ini adalah topologinya :

Saya akan menambahkan satu zone forward baru dan satu zone reverse baru yaitu server.net dan 10.0.0.64/26, yang menjadi server Utama adalah dlp1 konfigurasi seperti pada posting sebelumnya, dan dlp2 yang merupakan replika dari dlp1.

Konfigurasi Server Master

Di server master kita akan melakukan konfigurasi IP Address server slave yang boleh menyalin database dari server master ini, melanjutkan konfigurasi sebelumnya dan juga menambahkan zone forward, reverse baru.
  1. Edit file konfigurasi bind /etc/named.conf
  2. [root@dlp1 ~]# nano /etc/named.conf
    
    • Pada bagian allow-transfer tambahkan IP Address server DNS Slave agar diizinkan melakukan transfer penyalinan. Jika tidak ada allow-transfer maka tambahkan saja.
    • options {
              listen-on port 53 { any; };
              listen-on-v6 port 53 { none; };
              directory "/var/named";
              dump-file "/var/named/data/cache_dump.db";
              statistics-file "/var/named/data/named_stats.txt";
              memstatistics-file "/var/named/data/named_mem_stats.txt";
              allow-query     { any; };
              allow-transfer  { localhost; 10.0.0.66; };
      
    • Kemudian pada bagian paling bawah kita tambahkan zone forward dan reverse baru.
    • zone "jaringan.org" IN { //Forward Zone
              type master; //Master atau server DNS utama
              file "/var/named/db.jaringan"; //File database zone
      };
      
      zone "server.net" IN { 
              type master;
              file "/var/named/db.server";
      };
      
      zone "0.18.172.in-addr.arpa" IN { //Reverse Zone
              type master;
              file "/var/named/db.18";
      };
      
      zone "0.0.10.in-addr.arpa" IN {
              type master;
              file "/var/named/db.64";
      };
      
      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
      
    • Simpan file tersebut.
  3. Setelah konfigurasi bind named selesai, sekarang kita buat file database untuk zone yang baru.
    • Seperti biasa salin saja file database contoh yang sudah ada.
    • [root@dlp1 ~]# cd /var/named/
      [root@dlp1 named]# cp named.empty db.server
      [root@dlp1 named]# cp named.empty db.64
      
    • Edit file untuk zone forwardnya, kemudian isi dengan database record DNS sesuai dengan topologi.
    • [root@dlp1 named]# nano db.server
      $TTL 3H
      @ IN SOA  jaringan.org. root.jaringan.org. (
                                              0 ; serial
                                              1D ; refresh
                                              1H ; retry
                                              1W ; expire
                                              3H )    ; minimum
      @       IN NS dlp1.jaringan.org.
      @       IN A 10.0.0.66
      dlp2    IN A 10.0.0.66
      node03  IN A 10.0.0.67
      node04  IN A 10.0.0.68
      www     IN CNAME   node03.server.net.
      web     IN CNAME   node03.server.net.
      mail    IN CNAME   node03.server.net.
      ftp     IN CNAME   node04.server.net.
      smb     IN CNAME   node04.server.net.
      IN MX 0 dlp2.server.net.
      
    • Sekarang kita edit file reverse.
    • [root@dlp1 named]# nano db.64
      $TTL 3H
      @ IN SOA  jaringan.org. root.jaringan.org. (
                                              0 ; serial
                                              1D ; refresh
                                              1H ; retry
                                              1W ; expire
                                              3H )    ; minimum
      @       IN NS dlp1.jaringan.org.
      66      IN PTR     server.net.
      66 IN PTR     dlp2.server.net.
      67 IN PTR     node03.server.net.
      68 IN PTR     node04.server.net.
      
  4. Seperti biasa cek sintaks konfigurasi dari kesalahan penulisan.
  5. [root@dlp1 named]# named-checkconf -z
    zone jaringan.org/IN: loaded serial 0
    zone server.net/IN: loaded serial 0
    zone 0.18.172.in-addr.arpa/IN: loaded serial 0
    zone 64.0.0.10.in-addr.arpa/IN: loaded serial 0
    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
    
  6. Atur permission file database tersebut agar dapat dibaca oleh bind named.
  7. [root@dlp1 named]# chown named:named db.server 
    [root@dlp1 named]# chown named:named db.64
    
  8. Restart service named untuk memperbarui konfigurasi.
  9. [root@dlp1 named]# systemctl restart named
    

Konfigurasi Server Slave

Setelah konfigurasi server master selesai dan dapat bekerja dengan baik, sekarang kita akan mengkonfigurasi server slave dlp2 (diposisi kanan pada gambar topologi) agar server ini melakukan replika atau meniru database domain/zone pada server dns master.
  1. Langkah pertama pastinya yaitu menginstall aplikasi bind atau named pada server ini.
  2. [root@dlp2 ~]# yum -y install bind bind-utils
  3. Edit file konfigurasi bind named /etc/named.conf untuk mengatur beberapa parameter.
    • Menetukan listen address, dan siapa saja yang boleh mengakses DNS Server ini.
    • options {
              listen-on port 53 { any; }; //Menerima req DNS dari mana saja
              listen-on-v6 port 53 { none; }; //Mematikan IPv6
              directory "/var/named";
              dump-file "/var/named/data/cache_dump.db";
              statistics-file "/var/named/data/named_stats.txt";
              memstatistics-file "/var/named/data/named_mem_stats.txt";
              allow-query     { any; }; //Siapa saja boleh mengakses
      
    • Kemudian masukan zone forward dan reverse seperti yang ada di server master, tetapi tipenya Slave dan beserta IP Address dari server master yang memiliki databasenya. Letakan skrip ini dibagian bawah.
    • zone "jaringan.org" IN {
              type slave;
              masters {172.18.0.10;};
      };
      
      zone "server.net" IN {  
              type slave;
              masters {172.18.0.10;};
      };
      
      zone "0.18.172.in-addr.arpa" {  
              type slave;
              masters {172.18.0.10;};
      };
      
      zone "0.0.10.in-addr.arpa" {
              type slave;
              masters {172.18.0.10;};
      };
      
      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
      
  4. Buka akses firewall untuk dns pada server ini.
  5. [root@dlp2 ~]# firewall-cmd --add-service=dns --permanent
    success
    [root@dlp2 ~]# firewall-cmd --reload
    success
    
  6. Restart bind named untuk menyalin database domain dari server master.
  7. [root@dlp2 ~]# systemctl restart named
    [root@dlp2 ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
    
    Note : untuk mengetahui jika terjadi sebuah error kita tinggal lihat saya pesan log server, caranya ketikan perintah tail -f /var/log/messages
Setelah selesai mengkonfigurasi semuanya, sekarang kita lakukan testing pada server slave apakah sudah menyalin seluruh database dari server master.
[root@dlp2 ~]# nslookup server.net //Testing A Record
Server:  10.0.0.66
Address: 10.0.0.66#53

Name: server.net
Address: 10.0.0.66

[root@dlp2 ~]# nslookup www.server.net //Testing CNAME alias
Server:  10.0.0.66
Address: 10.0.0.66#53

www.server.net canonical name = node03.server.net.
Name: node03.server.net
Address: 10.0.0.67

[root@dlp2 ~]# nslookup 10.0.0.68 //Testing Reverse
Server:  10.0.0.66
Address: 10.0.0.66#53

68.0.0.10.in-addr.arpa name = node04.server.net.
Jika tidak ada pesan error tandanya semuanya sudah berhasil dan sudah dapat digunakan. Sekian terima kasih mohon maaf jika ada kesalahan.

Komentar