Cara Install dan Konfigurasi BIND9 sebagai DNS Forwarder di AlmaLinux 8/9 dengan Topologi Mikrotik dan Proxmox

Dalam infrastruktur jaringan modern, sistem DNS (Domain Name System) berperan penting dalam menerjemahkan nama domain menjadi alamat IP yang bisa dimengerti oleh perangkat. Namun, jika setiap permintaan DNS dikirim langsung ke server publik seperti Google DNS (8.8.8.8) atau Cloudflare (1.1.1.1), maka jaringan lokal bisa mengalami latensi tinggi dan konsumsi bandwidth yang tidak efisien.

Untuk mengatasi hal ini, kita dapat membangun DNS Forwarder lokal menggunakan BIND9 (Berkeley Internet Name Domain) di server berbasis Linux, seperti AlmaLinux 8 atau 9.

BIND9 akan menyimpan cache hasil resolusi domain, sehingga jika permintaan yang sama muncul, server dapat menjawab langsung dari cache tanpa perlu menghubungi DNS eksternal lagi.
Hasilnya: respon lebih cepat, bandwidth hemat, dan stabilitas jaringan meningkat.

Topologi Jaringan

Berikut topologi yang digunakan dalam panduan ini:

Ilustrator Topologi
[Internet]
     |
   (eth1)
 [Mikrotik Router]
     |
   (eth2)
 [Proxmox Host] - IP: 10.27.27.2/24
     |
   ├── VM1: dns1.pikiranberkilau.com (AlmaLinux 9) - 10.27.27.27
   ├── VM2: dns2.pikiranberkilau.com (AlmaLinux 9) - 10.27.27.28
     |
   (eth3)
  Network: 10.10.27.0/24 (Client PPPoE)

Penjelasan:

  • Mikrotik Router: gateway utama menuju internet.
  • Proxmox Host (10.27.27.2): menampung VM untuk DNS server.
  • dns1.pikiranberkilau.com (10.27.27.27): master DNS forwarder.
  • dns2.pikiranberkilau.com (10.27.27.28): slave forwarder.
  • Klien PPPoE (10.10.27.0/24): jaringan pengguna akhir.

Langkah 1 – Persiapan Sistem

Masuk ke VM dns1 dan dns2 melalui SSH, lalu perbarui sistem:

dnf update -y

Pastikan modul epel-release sudah terpasang agar repositori lengkap:

dnf install epel-release -y

Aktifkan firewall dan izinkan port DNS (UDP/TCP 53):

systemctl enable firewalld --now
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

Langkah 2 – Instalasi BIND9

Di AlmaLinux, paket BIND sudah tersedia di repositori default. Install dengan:

dnf install bind bind-utils -y

Aktifkan dan jalankan layanan BIND:

systemctl enable named
systemctl start named

Langkah 3 – Konfigurasi DNS Forwarder di dns1 (Master)

Edit file konfigurasi utama BIND:

nano /etc/named.conf

Ubah bagian options menjadi seperti berikut:

options {
    directory       "/var/named";
    allow-query     { any; };
    allow-recursion { any; };
    listen-on port 53 { 10.27.27.27; 127.0.0.1; };
    listen-on-v6    { none; };

    forwarders {
        8.8.8.8;
        1.1.1.1;
    };

    dnssec-enable yes;
    dnssec-validation auto;
    recursion yes;
    max-cache-size 512M;
};

Selanjutnya, tambahkan konfigurasi zone internal untuk domain lokal:

nano /etc/named.rfc1912.zones

Tambahkan:

zone "pikiranberkilau.com" IN {
    type master;
    file "pikiranberkilau.com.zone";
    allow-transfer { 10.27.27.28; };
};

Lalu buat file zone:

nano /var/named/pikiranberkilau.com.zone

Isi dengan konfigurasi dasar:

$TTL 86400
@   IN  SOA dns1.pikiranberkilau.com. admin.pikiranberkilau.com. (
        2025102901 ; Serial
        3600       ; Refresh
        1800       ; Retry
        1209600    ; 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

Pastikan hak akses file benar:

chown named: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:

nano /etc/named.conf

Sesuaikan opsi berikut:

options {
    directory       "/var/named";
    allow-query     { any; };
    allow-recursion { any; };
    listen-on port 53 { 10.27.27.28; 127.0.0.1; };
    listen-on-v6    { none; };

    forwarders {
        10.27.27.27;
        8.8.8.8;
    };

    dnssec-enable yes;
    dnssec-validation auto;
    recursion yes;
    max-cache-size 512M;
};

Tambahkan konfigurasi zone slave:

nano /etc/named.rfc1912.zones

Isi dengan:

zone "pikiranberkilau.com" IN {
    type slave;
    masters { 10.27.27.27; };
    file "slaves/pikiranberkilau.com.zone";
};

Pastikan direktori slaves ada:

mkdir -p /var/named/slaves
chown named:named /var/named/slaves

Periksa dan restart:

named-checkconf
systemctl restart named

Langkah 5 – Integrasi dengan Mikrotik dan PPPoE

Di Mikrotik:

Masukkan DNS lokal:

/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

Semua klien PPPoE kini otomatis menggunakan DNS lokal dari server BIND.

Langkah 6 – Pengujian

Coba jalankan di VM DNS1:

dig google.com @10.27.27.27

Di DNS2:

dig pikiranberkilau.com @10.27.27.28

Dari klien PPPoE:

nslookup youtube.com

Jika resolusi cepat dan menunjukkan DNS lokal, berarti konfigurasi berhasil.

Langkah 7 – Menambahkan Logging DNS (Opsional)

Aktifkan logging untuk pemantauan permintaan DNS:

nano /etc/named.conf

Tambahkan di bagian bawah:

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:

touch /var/log/named_query.log
chown named:named /var/log/named_query.log
systemctl restart named

Kesimpulan

Dengan konfigurasi di atas, sistem DNS Forwarder berbasis BIND9 di AlmaLinux 8/9 berhasil dibangun dengan dua node:

  • dns1.pikiranberkilau.com (10.27.27.27) sebagai master forwarder.
  • dns2.pikiranberkilau.com (10.27.27.28) sebagai slave forwarder.

Semua klien PPPoE menggunakan DNS lokal ini untuk resolusi domain. Sistem ini mempercepat respon DNS, menghemat bandwidth keluar, dan meningkatkan efisiensi jaringan internal secara signifikan.

Penutup

Membangun DNS lokal dengan BIND9 di AlmaLinux 8/9 adalah solusi ideal untuk ISP kecil, RT/RW Net, atau perusahaan dengan banyak pengguna internal.
Selain meningkatkan kecepatan akses internet, sistem ini juga memperkuat keamanan dan stabilitas jaringan.

Dengan sedikit konfigurasi tambahan seperti logging, monitoring, dan auto zone transfer, sistem DNS kamu bisa menjadi infrastruktur yang andal dan efisien jangka panjang.

Langkah ini bukan hanya sekadar optimasi teknis, tetapi juga investasi strategis dalam pengelolaan jaringan yang profesional.

Leave a Comment