Karena fungsi DNS yang sangat vital, sebuah domain disarankan tidak
hanya dilayani oleh satu DNS server saja. Perlu setidaknya dua dns
server untuk redundansi, backup atau mengatur load balance. Disini kita
akan mempelajari cara mengkonfigurasi slave untuk sebuah domain.
Mengenal Berkas Konfigurasi Bind9 di Ubuntunamed.conf
Ini adalah berkas konfigurasi utama. Berkas-berkas lainnya di
include-kan
dari berkas ini. Sebaiknya setiap perubahan yang Anda buat, tidak
dimasukkan ke berkas ini, Anda bisa mengaturnya di berkas lain yang
tersedia, named.conf.options dan named.conf.local
named.conf.options
Berkas ini ditujukan untuk konfigurasi atau opsi-opsi global. Misal,
mengatur siapa yang berhak menggunakan DNS server kita, atau siapa yang
berhak melakukan zona transfer untuk sebuah domain.
named.conf.local
Berkas ini ditujukan untuk konfigurasi zona baru yang ingin Anda
tambahkan. Misal Anda ingin menambahkan domain perusahaan.com, maka
konfigurasi zona baru itu bisa Anda tambahkan disini.
rndc.key
Ini adalah berkas konfigurasi untuk memanage bind menggunakan rndc.
Seharusnya sudah dikonfigurasi secara default pada saat instalasi, jadi
secara umum kita tidak perlu mengubah apa-apa dengan berkas ini.
db.0, db.127, db.255, db.empty, db.local
Ini adalah berkas untuk konfigurasi zona localhost, local network,
dan local broadcast. Secara default, zona-zona ini sudah ditambahkan di
berkas named.conf.
db.root
Berkas ini berisikan informasi
root name server.
zones.rfc1918
Jika Anda berniat tidak mengkonfigurasi DNS untuk IP private (IP
private ini didefiniskan pada RFC1918), maka Anda bisa menggunakan zone
ini. Konfigurasi pada berkas ini, menset semua nya ke db.empty.
Konfigurasi Slave ZonesSetelah kita memahami berkas-berkas konfigurasi bind9 di ubuntu, sekarang kita akan membuat konfigurasi slave.
Caranya mudah, kita sunting berkas /etc/bind/named.conf.local,
di DNS server yang akan kita jadikan sebagai DNS server kedua/cadangan.
Tambahkan konfigurasi berikut, sesuaikan IP address master dengan IP
address DNS server utama yang mengelola domain tersebut.
1 2 3 4 5 6 7
| zone "perusahaan.com" { type slave; masters { 192.168.1.3; }; file "/etc/bind/slave/db_perusahaan.com"; }; |
Sebelumnya pastikan direktori untuk menyimpan berkas slave itu, sudah dibuat, dan pemiliknya user yang menjalankan bind.
sudo mkdir /etc/bind/slave
sudo chown bind:bind /etc/bind/slave
Konfigurasi sudah selesai, sekarang saatnya menginstruksikan bind untuk membaca ulang konfigurasi baru.
sudo rndc reload
Atau restart bind9 (jika memang harus).
/etc/init.d/bind9 restart
Silakan Anda periksa, seharusnya berkas baru akan dibuat di direktori /etc/bind/slave. Jika ada masalah (misalnya berkas tidak dibuat), silakan cek log /var/log/daemon.log.
Membatasi Zona TransferJika Anda ingin membatasi siapa saja atau server mana saja yang
berhak melakukan proses zona transfer sebuah domain, Anda bisa
mengaturnya di DNS server utama Anda (master).
Sunting berkas /etc/bind/named.conf.options, buat
konfigurasi seperti berikut. Sebagai bonus saya tambahkan konfigurasi
yang membatasi siapa saja yang boleh menggunakan DNS server Anda sebagai
resolver di client.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| acl slavedns { 192.168.2.3; 192.168.3.3; }; acl localnetwork { 192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; }; options { directory "/var/cache/bind"; allow-recursion { localnetwork; }; allow-transfer { slavedns; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; |
Setelah konfigurasi dibuat, sekarang kita intruksikan bind untuk membaca ulang berkas konfigurasi.
sudo rndc reload
RangkumanMembuat secondary DNS server sangatlah mudah. Tulisan ini agak
panjang, karena saya memang menyelipkan sedikit penjelasan tentang
berkas-berkas konfigurasi bind9 yang dibawa oleh paket dari repo Ubuntu.
Mudah-mudahan penjelasan ditulisan ini bisa membantu Anda memahami cara
mengkonfigurasi bind9 di Ubuntu.
Seperti biasa, jika ada pertanyaan, silakan tulis di kolom komentar.