Panduan Lengkap Instalasi dan Konfigurasi DNS Server dengan Bind9 Pada Debian 10
Pengantar: Apa itu BIND9?
BIND9 (Berkeley Internet Name Domain) adalah software open-source yang digunakan untuk membangun dan mengelola DNS server. DNS (Domain Name System) berfungsi sebagai penerjemah nama domain (contoh: tjktkel8.org
) menjadi alamat IP (contoh: 192.168.78.116
), sehingga memudahkan komunikasi di internet.
Langkah-Langkah Instalasi dan Konfigurasi DNS Server di Debian 10
1. Update Sistem Operasi
Sebelum instalasi, pastikan paket sistem diperbarui.
sudo apt update && sudo apt upgrade -y
2. Instal BIND9
Instal BIND9 beserta alat-alat bantu yang dibutuhkan.
sudo apt install bind9 bind9utils bind9-doc -y
Periksa apakah layanan BIND9 berjalan:
sudo systemctl status bind9
Jika belum berjalan, aktifkan dan mulai layanan:
sudo systemctl enable bind9
sudo systemctl start bind9
3. Konfigurasi BIND9 sebagai DNS Server
3.1 Edit Konfigurasi Utama BIND9
File utama konfigurasi BIND9 ada di /etc/bind/named.conf.options
. Edit file tersebut:
sudo nano /etc/bind/named.conf.options
Temukan dan edit blok berikut untuk mengatur DNS forwarding (opsional):
options {
directory "/var/cache/bind";
recursion yes; // Aktifkan rekursi untuk DNS resolver.
allow-query { any; };
forwarders {
8.8.8.8; // DNS Google sebagai resolver cadangan.
8.8.4.4;
};
dnssec-validation auto;
};
Simpan dan keluar dari editor.
3.2 Buat Zona untuk Domain
Tambahkan zona untuk domain Anda di file /etc/bind/named.conf.local
.
sudo nano /etc/bind/named.conf.local
Tambahkan konfigurasi berikut:
zone "tjktkel8.org" {
type master;
file "/etc/bind/db.tjkt1";
};
zone "78.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.tjkt2";
};
File di atas mendefinisikan dua zona:
- Zona forward: untuk memetakan domain ke IP.
- Zona reverse: untuk memetakan IP ke domain.
3.3 Konfigurasi File Zona Forward
Buat file zona untuk db.tjkt1
.
sudo nano /etc/bind/db.tjkt1.com
Isi file:
$TTL 604800
@ IN SOA ns1.tjktkel8.org. root.tjktkel8.org. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.tjktkel8.org.
@ IN A 192.168.78.116
ns1 IN A 192.168.78.116
www IN A 192.168.78.116
3.4 Konfigurasi File Zona Reverse
Buat file zona reverse untuk IP 192.168.78.0/24
.
sudo nano /etc/bind/db.tjkt2
Isi file:
$TTL 604800
@ IN SOA ns1.tjktkel8.org. root.tjktkel8.org. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.tjktkel8.org.
116 IN PTR tjktkel8.org.
116 IN PTR www.tjktkel8.org.
4. Verifikasi dan Restart BIND9
4.1 Verifikasi Konfigurasi
Periksa apakah konfigurasi BIND9 benar:
sudo named-checkconf
Periksa file zona:
sudo named-checkzone example.com /etc/bind/db.tjkt1
sudo named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.tjkt1
Jika tidak ada kesalahan, lanjutkan.
4.2 Restart Layanan BIND9
Restart BIND9 untuk menerapkan perubahan:
sudo systemctl restart bind9
5. Buka Port DNS di Firewall (UFW)
BIND9 menggunakan port 53 untuk DNS. Pastikan port tersebut terbuka di firewall.
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
Periksa status firewall:
sudo ufw status
6. Konfigurasi Klien untuk Menggunakan DNS Server
Pada klien (misalnya komputer lain), ubah pengaturan DNS agar menggunakan IP server Debian sebagai DNS resolver.
- Pada Linux: Edit file
/etc/resolv.conf
:Copy codenameserver 192.168.1.10
- Pada Windows:
- Buka Control Panel > Network and Internet > Network Connections.
- Klik kanan pada jaringan, pilih Properties.
- Pilih Internet Protocol Version 4 (TCP/IPv4), klik Properties.
- Masukkan IP server Debian pada kolom Preferred DNS server.
7. Pengujian DNS Server
7.1 Tes Resolusi Nama Domain
Pada server atau klien yang menggunakan DNS server, jalankan perintah:
nslookup tjktkel8.org 192.168.78.116
Output yang diharapkan:
Server: 192.168.78.116
Address: 192.168.78.116#53
Name: tjktkel8.org.com
Address: 192.168.78.116
7.2 Tes Resolusi IP (Reverse Lookup)
Jalankan perintah berikut:
nslookup 192.168.78.116
Output yang diharapkan:
116.78.168.192.in-addr.arpa name = tjktkel8.org.
8. Troubleshooting
- Cek Log BIND9:
Jika ada masalah, cek log di/var/log/syslog
:bashCopy codesudo tail -f /var/log/syslog
- Periksa Status Layanan:
Pastikan layanan berjalan dengan benar:bashCopy codesudo systemctl status bind9