
Dalam dunia jaringan modern, sistem DNS (Domain Name System) memiliki peran yang sangat vital. Tanpa DNS, kita harus mengingat deretan angka IP untuk mengakses setiap situs web — misalnya 172.217.194.100 untuk Google. DNS-lah yang menerjemahkan nama domain seperti google.com menjadi alamat IP yang dimengerti oleh perangkat jaringan.
Bagi penyedia layanan internet (ISP), pengelola jaringan sekolah, kantor, hingga rumah kos dengan sistem PPPoE, memiliki DNS lokal yang berfungsi sebagai forwarder sangatlah penting. DNS forwarder berperan untuk menyimpan cache hasil pencarian DNS dan meneruskan permintaan ke DNS publik seperti Google (8.8.8.8) atau Cloudflare (1.1.1.1) bila data belum tersedia secara lokal.
Dengan begitu, klien dalam jaringan akan mendapatkan kecepatan akses lebih tinggi, beban bandwidth keluar berkurang, serta meningkatkan keandalan layanan.
Artikel ini akan membahas secara lengkap dan praktis bagaimana cara menginstal serta mengonfigurasi BIND9 (Berkeley Internet Name Domain) sebagai DNS forwarder di CentOS Stream 9, menggunakan topologi jaringan yang umum digunakan pada sistem Mikrotik + Proxmox + PPPoE.
Topologi Jaringan :

[Internet]
|
(eth1)
[Mikrotik Router]
|
(eth2)
[Proxmox Host] - IP: 10.27.27.2/24
|
├── VM1: dns1.pikiranberkilau.com (CentOS 9) - 10.27.27.27
├── VM2: dns2.pikiranberkilau.com (CentOS 9) - 10.27.27.28
|
(eth3)
Network: 10.10.27.0/24 (Client PPPoE)
Fungsi tiap bagian:
Klien PPPoE (10.10.27.0/24): akan diarahkan ke DNS lokal agar lebih cepat.
Mikrotik Router: gateway utama ke internet.
Proxmox Host (10.27.27.2): hypervisor yang menampung VM DNS.
dns1.pikiranberkilau.com (10.27.27.27): DNS master sekaligus forwarder utama.
dns2.pikiranberkilau.com (10.27.27.28): DNS slave / secondary.
Langkah 1 — Persiapan Sistem
Pertama, login ke kedua VM (dns1 dan dns2) menggunakan SSH.
Perbarui semua paket:
dnf update -y
Pastikan firewall sudah aktif tetapi mengizinkan trafik DNS (port 53):
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
Langkah 2 — Instalasi BIND9
Di CentOS 9, paket BIND9 tersedia langsung di repositori resmi. Jalankan di kedua server:
dnf install bind bind-utils -y
Setelah instalasi selesai, aktifkan dan jalankan layanan:
systemctl enable named
systemctl start named
Langkah 3 — Konfigurasi DNS Forwarder di dns1 (Master)
Edit file konfigurasi utama:
nano /etc/named.conf
Sesuaikan isi bagian options menjadi seperti ini:
options {
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";
recursion yes;
allow-query { any; };
allow-recursion { any; };
listen-on port 53 { 127.0.0.1; 10.27.27.27; };
listen-on-v6 { none; };
// DNS publik sebagai forwarder
forwarders {
8.8.8.8;
1.1.1.1;
};
dnssec-validation auto;
};
Kemudian, tambahkan pengaturan zone lokal agar bisa digunakan internal (opsional tapi disarankan):
zone "pikiranberkilau.com" IN {
type master;
file "pikiranberkilau.com.zone";
allow-transfer { 10.27.27.28; };
};
Buat file zone:
nano /var/named/pikiranberkilau.com.zone
Isi dengan contoh konfigurasi:
$TTL 86400
@ IN SOA dns1.pikiranberkilau.com. admin.pikiranberkilau.com. (
2025102901 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
;
@ IN NS dns1.pikiranberkilau.com.
@ IN NS dns2.pikiranberkilau.com.
dns1 IN A 10.27.27.27
dns2 IN A 10.27.27.28
www IN A 10.27.27.100
Ubah kepemilikan file agar sesuai:
chown root:named /var/named/pikiranberkilau.com.zone
Periksa konfigurasi:
named-checkconf
named-checkzone pikiranberkilau.com /var/named/pikiranberkilau.com.zone
Jika tidak ada error, restart layanan:
systemctl restart named
Langkah 4 — Konfigurasi DNS Forwarder di dns2 (Slave)
Edit /etc/named.conf di dns2:
nano /etc/named.conf
Ubah menjadi:
options {
directory "/var/named";
recursion yes;
allow-query { any; };
allow-recursion { any; };
listen-on port 53 { 127.0.0.1; 10.27.27.28; };
listen-on-v6 { none; };
forwarders {
10.27.27.27; // arahkan ke DNS master
8.8.8.8;
};
dnssec-validation auto;
};
Tambahkan konfigurasi zone sebagai slave:
zone "pikiranberkilau.com" IN {
type slave;
masters { 10.27.27.27; };
file "slaves/pikiranberkilau.com.zone";
};
Buat direktori untuk menyimpan file slave:
mkdir -p /var/named/slaves
chown named:named /var/named/slaves
Periksa konfigurasi:
named-checkconf
Jika aman, restart:
systemctl restart named
Langkah 5 — Konfigurasi Mikrotik dan PPPoE Client
Di Router Mikrotik:
Pastikan DNS diarahkan ke dua server:
/ip dns
set servers=10.27.27.27,10.27.27.28 allow-remote-requests=yes
Di Profil PPPoE:
/ppp profile
set [find name=default] dns-server=10.27.27.27,10.27.27.28
Dengan begitu, semua pelanggan PPPoE (10.10.27.0/24) akan menggunakan DNS lokal yang sudah di-cache oleh BIND9, sehingga proses akses internet menjadi lebih cepat.
Langkah 6 — Pengujian
Tes dari dns1:
dig google.com @10.27.27.27
Tes dari dns2:
dig pikiranberkilau.com @10.27.27.28
Tes dari klien PPPoE:
nslookup google.com
Jika hasilnya menunjukkan Server: 10.27.27.27 dan ada bagian “Query time” yang kecil (<10ms setelah cache), berarti DNS forwarder berjalan dengan baik.
Langkah 7 — Optimasi dan Logging
Untuk memantau aktivitas DNS, aktifkan logging query.
Edit /etc/named.conf:
logging {
channel query_log {
file "/var/log/named_query.log" versions 3 size 10m;
severity info;
print-time yes;
};
category queries { query_log; };
};
Buat file log dan ubah permission:
touch /var/log/named_query.log
chown named:named /var/log/named_query.log
systemctl restart named
Kini kamu dapat melihat log permintaan DNS:
tail -f /var/log/named_query.log
Kesimpulan
Dengan konfigurasi di atas, kamu berhasil membangun sistem DNS forwarder yang efisien menggunakan BIND9 di CentOS Stream 9, sesuai topologi jaringan antara Mikrotik, Proxmox, dan klien PPPoE.
- dns1.pikiranberkilau.com (10.27.27.27) bertindak sebagai DNS utama dan forwarder.
- dns2.pikiranberkilau.com (10.27.27.28) menjadi backup/slave yang otomatis menerima replikasi zona.
- Semua klien PPPoE (10.10.27.0/24) mendapatkan DNS lokal sehingga kecepatan browsing meningkat, latency DNS menurun, dan beban bandwidth keluar dari gateway menjadi lebih ringan.
Dengan tambahan logging, kamu juga bisa memantau aktivitas DNS pelanggan untuk keperluan troubleshooting maupun analisis trafik.
Penutup
Membangun DNS forwarder lokal menggunakan BIND9 di CentOS Stream 9 adalah langkah cerdas untuk meningkatkan performa dan efisiensi jaringan. Dengan pendekatan ini, administrator dapat mengontrol lalu lintas DNS, menyediakan resolusi cepat bagi klien, serta menambah lapisan stabilitas untuk layanan internet pelanggan.
Konfigurasi ini tidak hanya cocok untuk ISP kecil, tetapi juga relevan untuk jaringan kantor, kampus, dan data center. Dengan mengikuti langkah-langkah di atas, kamu kini memiliki fondasi DNS yang kuat, aman, dan dapat diandalkan untuk kebutuhan jaringan jangka panjang.