Namai Server Dengan DNS (BIND9)


Apa itu DNS?

DNS (Domain Name Server) adalah layanan atau sistem pada Linux yang digunakan untuk mengubah cara akses pada server. Jika awalnya menggunakan IP address, maka dengan DNS sebuah server dapat diakses dengan nama yang lebih mudah diingat. Sebagai contoh, ketika kita mengakses google.com pada browser sebenarnya kita mengakses IP address dari server google.

BIND9

Salah satu layanan yang paling populer digunakan di internet sebagai server DNS pada sistem operasi linux adalah BIND9. Maka, kita akan belajar bagaimana menggunakan BIND9 sebagai DNS Server.

Cara Menggunakan BIND9

Pada artikel ini, server menggunakan Ubuntu sebagai DNS Server. Jika menggunakan distro linux lain, command yang digunakan dapat disesuaikan.

Langkah 1. Instalasi BIND9

Remote server yang telah disiapkan kemudian lakukan instalasi BIND9

apt install bind9 -y

Pastikan service Bind9 sudah terinstal dan berjalan


Langkah 2. Konfigurasi BIND9

Setelah instalasi berhasil selanjutnya kita konfigurasi file BIND9 pada /etc/bind.

Copy file forward zone db. local dan file reverse zone db.127 yang nantinya akan digunakan sebagai record domain. Sebagai contoh saya akan menamai db.local menjadi db.amar dan db.127 menjadi db.10

cp db.local db.amar; cp db.127 db.10

Buka file forward zone db.amar dan konfigurasi seperti di bawah ini:

; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     amar-idnacademy.id. root.amar-idnacademy.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      amar-idnacademy.id.
@       IN      A       10.23.1.209
www     IN      A       10.23.1.209
srv     IN      A       10.23.1.209

Pada contoh ini, saya ingin membuat domain saya menjadi amar-idnacademy.id dengan IP server saya 10.23.1.209. Saya menambahkan 2 sub domain yang dapat digunakan juga untuk mengakses server tersebut.Maka nantinya server tersebut dapat diakses menggunakan 3 domain, yaitu :

  1. amar-idnacademy.id
  2. www.amar-idnacademy.id
  3. srv.amar-idnacademy.id

Kemudian, buka file reverse zone db.10 dan konfigurasi seperti di bawah ini:

; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     amar-idnacademy.id. root.amar-idnacademy.id. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      amar-idnacademy.id.
209     IN      PTR     amar-idnacademy.id.

209 pada konfigurasi tersebut merupakan oktet terakhir dari IP server 10.23.1.209. Jadi sesuaikan dengan IP server yang digunakan.

Buka juga file konfigurasi named.conf.default-zones yang berada di dalam /etc/bind/ dan konfigurasi seperti di bawah ini:

zone "amar-idnacademy.id" {
        type master;
        file "/etc/bind/db.amar";
};

zone "1.23.10.in-addr.arpa" {
        type master;
        file "/etc/bind/db.10";

1.23.10.in-addr.arpa merupakan kebalikan dari IP server 10.23.1.209 tanpa oktet terakhir. Pada bagian ini disesuaikan pula dengan IP server.

Langkah terakhir konfigurasi resolv.conf untuk mengarahkan DNS yang digunakan dan masukan IP server yang digunakan seperti di bawah ini.

# instal resolvconf
apt install resolvconf

#buka konfigurasi resolvconf file head
sudo vim /etc/resolvconf/resolv.conf.d/head

Tuliskan IP address server DNS yang digunakan.

Kemudian jalankan perintah update konfigurasi resolvconf agar mengenali DNS yang digunakan.

sudo resolvconf -u
Langkah 3. Pengujian Domain BIND9

Setelah selesai melakukan instalasi dan konfigurasi BIND9 kita lakukan beberapa pengujian untuk memastikan apakah sudah berfungsi normal.

  1. Menggunakan NSLOOKUPNslookup merupakan alat sederhana untuk melakukan query ke server DNS dan memetakan domain menjadi IP address atau sebaliknya. Nslookup dapat digunakan untuk memeriksa, apakah koneksi jaringan yang kita gunakan sudah membaca record DNS pada server yang terhubung. Langkah-langkah pengujian menggunakan nslookup sebagai berikut.nslookup 10.23.1.209 nslookup amar-idnacademy.idJika muncul informasi seperti di atas ketika nslookup menggunakan IP address server dan domain yang dibuat, maka konfigurasi BIND9 sudah berhasil.
  2. Menggunakan PINGPing yang sudah familiar digunakan untuk mengetahui status koneksi server atau host bisa juga digunakan untuk melakukan pengecekan DNS. Langkah-langkah pengujian menggunakan ping sebagai berikut.ping amar-idnacademy.idJika status reply dan terdapat IP address server yang sesuai, maka BIND9 sudah berjalan dengan normal dan dapat digunakan.

Master-Slave DNS Server

Setelah DNS server berjalan dengan baik mungkin akan ada kondisi server mengalami kendala dan akibatnya domain tidak dapat digunakan. Untuk mengatasinya kita dapat membuat server kedua untuk DNS Server. Sehingga terdapat dua server, yaitu DNS Master dan DNS Slave (Backup).

Langkah 1. Konfigurasi DNS Master

Buka file named.conf.default-zones yang berada di dalam /etc/bind/ lalu tambahkan konfigurasi allow-transfer dan allow-notify

zone "amar-idnacademy.id" {
        type master;
        file "/etc/bind/db.amar";
        allow-transfer {10.23.1.218;};
        also-notify {10.23.1.218;};
};

zone "1.23.10.in-addr.arpa" {
        type master;
        file "/etc/bind/db.10";
        allow-transfer {10.23.1.218;};
        also-notify {10.23.1.218;};

allow-transer berfungsi untuk mengijinkan transfer record ke server cadangan. Kemudian allow-notify berfungsi untuk mengijinkan pemberitahuan ke server cadangan jika ada perubahan zona.

Kemudian buka konfigurasi file forward zone dan tambahkan subdomain dan IP address yang digunakan oleh server slave.

; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     amar-idnacademy.id. root.amar-idnacademy.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      amar-idnacademy.id.
        IN      NS      ns1.amar-idnacademy.id.
        IN      NS      ns2.amar-idnacademy.id.
@       IN      A       10.23.1.209
www     IN      A       10.23.1.209
ns1     IN      A       10.23.1.209
ns2     IN      A       10.23.1.218

Pada konfigurasi di atas kita menambahkan subdomain ns2 dengan dipetakan ke IP address server slave 10.23.1.218. Selain itu, kita juga menambahkan record nameserver baru ns2.amar-idnacademy.id

Kemudian buka juga konfigurasi file reverse zone dan tambahkan konfigurasi seperti di bawah ini.

; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     amar-idnacademy.id. root.amar-idnacademy.id. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      amar-idnacademy.id.
209     IN      PTR     amar-idnacademy.id.
209     IN      PTR     ns1.amar-idnacademy.id.
218     IN      PTR     ns2.amar-idnacademy.id.

Setelah itu, tambahkan juga IP server slave ke dalam resolvconf seperti di bawah ini.

sudo vim /etc/resolvconf/resolv.conf.d/head
sudo resolvconf -u

Langkah terakhir restart layanan bind9 untuk memperbarui jalannya konfigurasi.

sudo systemctl restart bind9.service

Jika dilihat status dari bind9 maka akan gagal saat sampai pada langkah ini.

Hiraukan terlebih dahulu, karena jika sudah dikonfigurasi kemudian terhubung dan saling mengenal dengan server slave maka akan berjalan normal.

Langkah 2. Instal dan Konfigurasi DNS Slave

Pada artikel ini, server DNS Slave memiliki IP 10.23.1.218. Pertama-tama, instal layanan bind9 terlebih dahulu.

sudo apt install bind9 -y

Kemudian seperti server master, copy file forward zone pada /etc/bind9 dan buka untuk menambahkan konfigurasi seperti di bawah ini. Record domain samakan dengan yang didaftarkan pada DNS Master. Kemudian tambahkan record IP DNS Slave.

; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     amar-idnacademy.id. root.amar-idnacademy.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      amar-idnacademy.id.
@       IN      A       10.23.1.218

Setelah itu, buka file named.conf.default-zones dan tambahkan konfigurasi seperti di bawah ini untuk mengenalkan dengan server DNS Master.

zone "amar-idnacademy.id" {
        type slave;
        file "db.amar";
        masters {10.23.1.209;};
};

type diubah menjadi slave, namakan file untuk menyimpan cache record zone yang diambil dari master, dan tambahkan masters {IP DNS Slave}; untuk menghubungkan dengan DNS Master.

Lalu restart layanan Bind9 untuk memperbarui konfigurasi

sudo systemctl restart bind9.service

Yang terakhir coba untuk melihat status dari layanan pada kedua server (Master dan Slave).

Langkah 3. Pengujian

Coba matikan server master untuk menguji fungsi dari server slave dalam melakukan backup DNS.

sudo poweroff

Gunakan nslookup untuk menguji apakah domain masih dapat digunakan

nslookup nama_domain

Jika domain masih bisa digunakan, maka instalasi dan konfigurasi DNS Master-Slave berhasil.

Untuk menguji apakah cache DNS pada server slave berfungsi, periksa file cache bind di dalam /var/cache/bind. Maka akan ada file sesuai dengan nama file yang kita konfigurasi pada named.conf.default-zones. Nama file seperti di bawah ini sesuai dengan konfigurasi yang dilakukan pada file konfigurasi Bind9.

Kemudian coba untuk melakukan reboot DNS slave dan coba nslookup kembali dengan kondisi DNS Master masih mati.

sudo reboot

Jika domain masih memberikan informasi yang tepat terkait IP server master, maka cache file DNS berhasil berfungsi.

Kesimpulan

Dengan menggunakan DNS Server kita dapat mengakses server menggunakan domain bukan menggunakan IP Address. Dengan begitu kita akan lebih mudah mengingat nama domain yang sudah dibuat sesuai dengan keinginan atau kebutuhan dari pada IP Address. Menggunakan DNS Server juga menjadikan mudah dalam manajemen server disisi penamaan. Karena DNS Server juga membutuhkan cadangan agar domain tetap bisa diakses ketika server tersebut bermasalah, maka DNS Master-Slave dapat menjadi solusi masalah tersebut.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti. Klik disini untuk beralih ke page pilihan training

Penulis : Bazigan Tsamara Sukamto