Konfigurasi DNS Lokal dengan dnsmasq

 Salah satu solusi paling sederhana untuk membangun DNS lokal yaitu adalah dnsmasq. Dengan konfigurasi yang minimal dan penggunaan resource yang ringan, dnsmasq sering dipakai untuk lab, testing, hingga kebutuhan internal network kecil. Pada tulisan blog saya hari ini akan membahas pengertian dnsmasq, perbedaannya dengan BIND (named), serta cara konfigurasi DNS lokal menggunakan dnsmasq.


Pengertian dnsmasq

dnsmasq adalah layanan DNS ringan yang berfungsi sebagai DNS forwarder dan DNS cache, serta dapat menjalankan DHCP server dalam satu service. Dnsmasq dirancang untuk kebutuhan DNS sederhana tanpa konfigurasi yang kompleks.

Umumnya dnsmasq digunakan pada:

  • Lab environment

  • VM atau server kecil

  • Router dan internal network

  • DNS lokal untuk testing aplikasi atau service

dnsmasq tidak ditujukan untuk mengelola DNS skala besar, tetapi efektif untuk kebutuhan internal.


Perbedaan dnsmasq dengan BIND (named)

Secara fungsi, dnsmasq dan BIND sama-sama menangani DNS, namun keduanya punya fokus yang berbeda.

dnsmasq:

  • Ringan dan mudah dikonfigurasi

  • Cocok untuk DNS lokal dan internal

  • Lebih sering digunakan sebagai DNS cache/forwarder

BIND (named):

  • Full-featured DNS server

  • Mendukung DNS authoritative dan recursive

  • Cocok untuk domain production dan enterprise

Jika kebutuhan hanya DNS lokal tanpa pengelolaan zone secara kompleks, dnsmasq jauh lebih efisien dibanding BIND.


Cara Konfigurasi DNS Lokal dengan dnsmasq

Contoh berikut menggunakan sistem Linux (Ubuntu/Debian-based). Konsepnya tetap sama untuk distro lain.

1. Instalasi dnsmasq

Update repository dan install dnsmasq:

$ apt update $ apt install dnsmasq -y

Pastikan service berjalan:

$ systemctl status dnsmasq

2. Konfigurasi Dasar dnsmasq

File konfigurasi utama berada di:

/etc/dnsmasq.conf

Disarankan tidak mengedit seluruh file, tapi menambahkan konfigurasi di bagian bawah atau menggunakan file tambahan di /etc/dnsmasq.d/

Contoh konfigurasi dasar DNS lokal:

domain=domainanda.com expand-hosts listen-address=127.0.0.1,192.168.1.10

Penjelasan singkat:

domain: domain lokal


    3. Menambahkan DNS Lokal (Static Record)

    DNS lokal dapat didefinisikan langsung di file /etc/hosts:

    192.168.1.20 app.domainanda.com 192.168.1.21 db.domainanda.com

    dnsmasq akan membaca file ini secara otomatis.

    Alternatif lain, gunakan konfigurasi address:

    address=/app.domainanda.com/192.168.1.20 address=/db.domainanda.com/192.168.1.21

    4. Konfigurasi DNS Forwarder

    Untuk query di luar domain lokal, dnsmasq dapat meneruskan ke DNS publik atau internal:

    server=8.8.8.8 server=1.1.1.1

    5. Restart dan Testing

    Restart service dnsmasq:

    systemctl restart dnsmasq

    Lakukan pengujian:

    nslookup app.domainanda.com 127.0.0.1

    Jika konfigurasi benar, IP akan ter-resolve sesuai yang didefinisikan. Untuk pengingat, konfigurasi ini dilakukan secara lokal, sehingga hanya dapat ter-resolve dalam jaringan lokal.

    Comments