Konfigurasi DNS Server Menggunakan BIND9 pada Debian 12

Pendahuluan

Dalam administrasi sistem jaringan, setiap perangkat yang terhubung ke jaringan memiliki alamat IP yang digunakan sebagai identitas. Alamat IP tersebut sebenarnya dapat digunakan untuk mengakses sebuah server, tetapi mengingat alamat IP cukup sulit diingat, terutama ketika jumlah server semakin banyak, diperlukan sebuah sistem yang dapat menerjemahkan nama menjadi alamat IP.

DNS (Domain Name System) merupakan layanan yang digunakan untuk menerjemahkan nama domain atau hostname menjadi alamat IP. Dengan adanya DNS, pengguna tidak perlu mengingat alamat IP setiap server ketika ingin mengakses sebuah layanan.

Sebagai contoh, tanpa DNS pengguna harus mengakses web server menggunakan:

http://10.40.1.13

Dengan DNS, server tersebut dapat diakses menggunakan nama:

http://web.namamu.test

Pada Linux Debian, salah satu DNS Server yang paling banyak digunakan adalah BIND9 (Berkeley Internet Name Domain).

BIND9 dapat digunakan untuk membuat DNS Server dengan berbagai jenis record seperti A, CNAME, NS, MX, dan PTR.

Gambar 1

Tujuan Pembelajaran

Setelah mempelajari materi ini, peserta didik mampu:

  • Menjelaskan pengertian DNS.
  • Menjelaskan fungsi DNS Server.
  • Menjelaskan cara kerja DNS.
  • Menginstal BIND9 pada Debian 12.
  • Melakukan konfigurasi Forward Zone.
  • Melakukan konfigurasi Reverse Zone.
  • Membuat DNS Record.
  • Mengelola layanan BIND9.
  • Melakukan pengujian DNS menggunakan nslookup dan dig.
  • Melakukan troubleshooting sederhana pada DNS Server.

Dasar Teori

Apa itu DNS?

DNS (Domain Name System) adalah sistem yang digunakan untuk menerjemahkan nama domain atau hostname menjadi alamat IP dan sebaliknya.

Contohnya:

web.namamu.test
        ↓
10.40.1.13

Dengan DNS, pengguna cukup mengingat nama server daripada harus mengingat alamat IP.

DNS juga dapat melakukan proses sebaliknya:

10.40.1.13
        ↓
web.namamu.test

Proses tersebut disebut Reverse DNS.

Fungsi DNS

Beberapa fungsi DNS antara lain:

  • Menerjemahkan domain menjadi alamat IP.
  • Menerjemahkan alamat IP menjadi hostname.
  • Mempermudah pengguna mengakses server.
  • Menyediakan informasi layanan jaringan.
  • Membantu pengelolaan layanan seperti web server dan mail server.

DNS Server

DNS Server adalah server yang menjalankan layanan DNS dan bertugas menjawab permintaan DNS dari client.

Forward DNS

Forward DNS digunakan untuk menerjemahkan:

Domain → IP Address

Contoh:

web.namamu.test → 10.40.1.13

Reverse DNS

Reverse DNS digunakan untuk menerjemahkan:

IP Address → Domain

Contoh:

10.40.1.13 → web.namamu.test

DNS Record

DNS menggunakan berbagai jenis record untuk menyimpan informasi.

RecordFungsi
ADomain menuju IPv4
AAAADomain menuju IPv6
CNAMEAlias dari domain
NSMenentukan DNS Server
MXMenentukan Mail Server
PTRIP menuju domain
SOAInformasi utama zone
TXTMenyimpan informasi teks

Pada praktikum ini akan digunakan beberapa record dasar yaitu:

  • SOA
  • NS
  • A
  • CNAME
  • PTR

Cara Kerja DNS

1. Client Mengirim Permintaan

Client meminta alamat IP dari sebuah domain.

Contoh:

web.namamu.test

2. DNS Server Menerima Permintaan

DNS Server menerima permintaan dari client.

3. DNS Server Mencari Record

BIND9 mencari record domain pada zone yang telah dikonfigurasi.

4. DNS Server Mengirim Jawaban

DNS Server mengembalikan alamat IP kepada client.

Diagram proses:

Gambar 2 Diagram DNS

💡 DNS membuat pengguna dapat menggunakan nama yang lebih mudah diingat daripada alamat IP.

Praktikum Instalasi dan Konfigurasi BIND9

Persiapan

Siapkan perangkat berikut:

  • 1 CT/VM Debian 12 di Proxmox.
  • Koneksi jaringan aktif.
  • Hak akses root atau sudo.
  • Alamat IP statis pada Debian.

Pada praktikum ini digunakan contoh konfigurasi:

KonfigurasiNilai
Hostnamedns
IP Address10.40.1.13
Netmask/26
Gateway10.40.1.1
Domainnamamu.test

Sesuaikan alamat IP dan nama domain dengan jaringan laboratorium.

Konfigurasi Network Debian 12

Berbeda dengan Ubuntu yang banyak menggunakan Netplan, konfigurasi jaringan Debian 12 pada instalasi yang menggunakan ifupdown dapat dilakukan melalui:

/etc/network/interfaces

Langkah 1 – Melihat Nama Interface

Jalankan:

ip a

Contoh hasil:

2: eth0:

Nama interface dapat berbeda pada setiap VM, misalnya:

ens18
enp0s3
eth0
Gambar 3 Nama Interface

Catat nama interface yang digunakan. Catat juga alamat IP yang didapat melalui dhcp kemudian akan kita buat static.

Langkah 2 – Membuka Konfigurasi Network

Buka file:

nano /etc/network/interfaces

Contoh konfigurasi:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 10.40.1.13/26
    gateway 10.40.1.1

Ganti eth0 sesuai nama interface pada server masing-masing.

Gambar 4 Konfigurasi Network Debian 12

Langkah 3 – Menyimpan Konfigurasi

Simpan konfigurasi:

CTRL + O
ENTER
CTRL + X

Kemudian restart layanan networking:

systemctl restart networking

⚠️ Jika sedang melakukan konfigurasi melalui SSH, berhati-hatilah ketika merestart jaringan karena koneksi SSH dapat terputus.

Langkah 4 – Memeriksa Alamat IP

Jalankan:

ip a

Pastikan alamat IP sudah sesuai.

Contoh:

10.40.1.13/24

alamat ip disesuaikan masing-masing

Instalasi BIND9

Langkah 1 – Update Repository

Jalankan:

apt update

Tunggu hingga proses selesai.

Gambar 5 Update Repository

Langkah 2 – Instal BIND9

Install package yang diperlukan:

apt install bind9 bind9-utils dnsutils -y

Package yang digunakan:

  • bind9 → DNS Server.
  • bind9-utils → utilitas untuk BIND9.
  • dnsutils → tools pengujian DNS seperti dig dan nslookup.
Gambar 6 Install BIND9

Langkah 3 – Memeriksa Status BIND9

Setelah instalasi selesai, periksa status BIND9:

systemctl status bind9

Jika berhasil akan muncul:

active (running)
Gambar 7 Status BIND9

Jika service belum berjalan, gunakan:

systemctl enable --now bind9

Konfigurasi Forward Zone

Forward Zone digunakan untuk menerjemahkan nama domain menjadi alamat IP.

Contoh:

web.namamu.test
        ↓
10.40.1.13

Langkah 1 – Masuk ke Direktori BIND9

cd /etc/bind

Untuk melihat file yang tersedia:

ls
Gambar 8 Direktori BIND9

Langkah 2 – Membuat File Forward Zone

Buat file zone sesuai nama domain yang dikehendaki

touch db.namamu.test

Contoh jika domain yang digunakan adalah:

ihsan.test

maka:

touch db.ihsan.test

Langkah 3 – Membuka File Forward Zone

Buka file:

nano /etc/bind/db.namamu.test 

⚠️ namamu disesuaikan ya nama file e , termasuk IP yang dimasukkan sesuaikan sesuai masing2 IP Server

Isikan dengan isian berikut, bisa di copy paste, kemudian ubah sesuaikan:

$TTL 604800
@       IN      SOA     ns.namamu.test. admin.namamu.test. (
                        1
                        604800
                        86400
                        2419200
                        604800 )

@       IN      NS      ns.namamu.test.

ns      IN      A       10.40.1.13
web     IN      A       10.40.1.13
Gambar 9 Konfigurasi Forward Zone

Penjelasan Konfigurasi

SOA Record

@ IN SOA ns.namamu.test. admin.namamu.test.

SOA (Start of Authority) berisi informasi utama mengenai zone.

NS Record

@ IN NS ns.namamu.test.

Menentukan DNS Server yang bertanggung jawab terhadap zone.

A Record

web IN A 10.40.1.13

Artinya:

web.namamu.test → 10.40.1.13

Konfigurasi Reverse Zone

Reverse Zone digunakan untuk menerjemahkan alamat IP menjadi hostname.

Contoh:

10.40.1.13
     ↓
web.namamu.test

Langkah 1 – Membuat File Reverse Zone

Masuk ke direktori BIND9:

cd /etc/bind

Kemudian buat file db.10.40.1 , sesuaikan dengan IP masing-masing server:

touch db.10.40.1

Langkah 2 – Membuka File Reverse Zone

nano /etc/bind/db.10.40.1

Isikan dengan isian berikut, bisa di copy paste, kemudian ubah sesuaikan:

$TTL 604800
@       IN      SOA     ns.namamu.test. admin.namamu.test. (
                        1
                        604800
                        86400
                        2419200
                        604800 )

@       IN      NS      ns.namamu.test.

13      IN      PTR     ns.namamu.test.
13      IN      PTR     web.namamu.test.
Gambar 10 Konfigurasi Reverse Zone

Pada konfigurasi tersebut:

13 → 10.40.1.13   , jadi sesuaikan dengan alamat IP masing-masing

Record PTR digunakan untuk menghubungkan IP Address dengan hostname.

Menambahkan Zone ke BIND9

Setelah membuat Forward Zone dan Reverse Zone, kedua zone tersebut harus didaftarkan ke BIND9.

Langkah 1 – Membuka named.conf.local

Jalankan:

nano /etc/bind/named.conf.local

Langkah 2 – Menambahkan Forward Zone

Tambahkan sehingga isi named.conf.local menjadi:

zone "namamu.test" {
    type master;
    file "/etc/bind/db.namamu.test";
};

zone "1.40.10.in-addr.arpa" {
    type master;
    file "/etc/bind/db.10.40.1";
};
Gambar 11 Konfigurasi Zone BIND9

Langkah 4 – Menyimpan Konfigurasi

Simpan:

CTRL + O
ENTER
CTRL + X

Pemeriksaan Konfigurasi BIND9

Sebelum melakukan restart, lakukan pemeriksaan konfigurasi.

Langkah 1 – Memeriksa Konfigurasi BIND9

Jalankan:

named-checkconf

Jika tidak ada pesan yang muncul, konfigurasi utama tidak memiliki kesalahan sintaks.

Langkah 2 – Memeriksa Forward Zone

Jalankan:

named-checkzone namamu.test /etc/bind/db.namamu.test

Jika konfigurasi benar akan muncul:

zone namamu.test/IN: loaded serial 1
OK
Gambar 12 Check Forward Zone

Langkah 3 – Memeriksa Reverse Zone

Jalankan:

named-checkzone 1.40.10.in-addr.arpa /etc/bind/db.10.40.1

Jika konfigurasi benar akan muncul:

OK
Gambar 13 Check Reverse Zone

Restart BIND9

Jika seluruh konfigurasi sudah benar, restart BIND9:

systemctl restart bind9

Kemudian periksa status:

systemctl status bind9

Pastikan status:

active (running)
Gambar 14 Status BIND9

Konfigurasi DNS Resolver

Agar server dapat menggunakan DNS Server yang telah dibuat, periksa file resolver:

cat /etc/resolv.conf

Untuk pengujian sederhana, dapat digunakan:

nameserver 10.40.1.13

Jika diperlukan, buka file:

nano /etc/resolv.conf

Kemudian hapus isinya dan isi hanya dengan alamat IP server:

nameserver 10.40.1.13 -> alamat ip Server masing-masing
Gambar 15 Konfigurasi resolv.conf

💡 Pada beberapa konfigurasi Debian, /etc/resolv.conf dapat dikelola oleh layanan jaringan sehingga perubahan manual dapat berubah kembali. Untuk praktikum dasar, file tersebut dapat digunakan untuk melakukan pengujian resolver.

Pengujian DNS Server

Setelah BIND9 berhasil dikonfigurasi, lakukan pengujian untuk memastikan DNS Server dapat menerjemahkan domain.

Pengujian Forward DNS

Langkah 1 – Menggunakan nslookup

Jalankan:

nslookup web.namamu.test

Jika berhasil, hasilnya akan menunjukkan:

Name:   web.namamu.test
Address: 10.40.1.x -> X adalah alamat ip server masing-masing
Gambar 16 Pengujian nslookup

Artinya DNS berhasil menerjemahkan:

web.namamu.test → 10.40.1.13

Pengujian Reverse DNS

Untuk menguji Reverse Zone, gunakan:

nslookup 10.40.1.13 -> alamat ip server masing-masing

Jika berhasil, DNS akan mengembalikan hostname:

web.namamu.test
Gambar 17 Pengujian Reverse DNS

Pengujian Menggunakan dig

Selain nslookup, DNS dapat diuji menggunakan perintah dig.

Forward DNS

dig @10.40.1.13 web.namamu.test

Perintah tersebut meminta DNS Server 10.40.1.13 untuk mencari alamat dari:

web.namamu.test
Gambar 18 Pengujian dig

Pengujian Dengan Ping

Setelah DNS berhasil, client juga dapat menguji resolusi nama menggunakan ping.

Pada Windows:

ping web.namamu.test

Jika DNS berhasil, nama domain akan diterjemahkan menjadi alamat IP.

Contoh:

Pinging web.ihsan.test [10.40.1.13]
Gambar 19 Ping Domain

💡 Jika ping mendapatkan IP yang benar, berarti proses resolusi DNS berhasil. Namun, keberhasilan atau kegagalan balasan ICMP tidak selalu menunjukkan bahwa layanan web pada server tersebut berjalan.

Troubleshooting

BIND9 Tidak Berjalan

Periksa status:

systemctl status bind9

Jika terdapat kesalahan konfigurasi, lihat log:

journalctl -u bind9

Periksa konfigurasi:

named-checkconf

Forward Zone Error

Periksa zone:

named-checkzone namamu.test /etc/bind/db.namamu.test

Periksa beberapa hal berikut:

  • Nama domain benar.
  • Nama file zone benar.
  • IP Address benar.
  • Penulisan record benar.
  • Tidak ada kesalahan tanda titik (.).

Reverse Zone Error

Periksa:

named-checkzone 1.40.10.in-addr.arpa /etc/bind/db.10.40.1

Pastikan:

10.40.1.13 → 13  --> sesuai ip masing-masing

DNS Tidak Bisa Diakses Dari Client

Periksa koneksi jaringan terlebih dahulu:

ping 10.40.1.13 -> alamat ip masing-masing

Kemudian periksa port DNS:

ss -tulpn | grep :53

DNS menggunakan:

UDP 53
TCP 53

Jika menggunakan firewall, pastikan port DNS tidak diblokir.

nslookup Tidak Menghasilkan IP

Periksa resolver:

cat /etc/resolv.conf

Pastikan DNS Server mengarah ke:

nameserver 10.40.1.13 -> alamat ip server masing-masing

Kemudian coba:

nslookup web.namamu.test 192.168.1.10

Verifikasi Konfigurasi

Setelah seluruh konfigurasi selesai, lakukan pemeriksaan berikut:

Cek service

systemctl status bind9

Cek konfigurasi

named-checkconf

Cek Forward Zone

named-checkzone namamu.test /etc/bind/db.namamu.test

Cek Reverse Zone

named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192.168.1

Cek DNS

nslookup web.namamu.test

Cek Reverse DNS

nslookup 192.168.1.20

Jika seluruh pengujian berhasil, maka DNS Server BIND9 telah berjalan dengan baik.

Kesimpulan

DNS merupakan layanan penting dalam administrasi sistem jaringan yang berfungsi menerjemahkan nama domain menjadi alamat IP maupun sebaliknya.

Pada praktikum ini telah dilakukan instalasi dan konfigurasi BIND9 pada Debian 12 mulai dari konfigurasi jaringan, instalasi BIND9, pembuatan Forward Zone, pembuatan Reverse Zone, konfigurasi DNS Record, hingga pengujian menggunakan nslookup dan dig.

Konfigurasi Forward Zone digunakan untuk menerjemahkan:

Domain → IP Address

sedangkan Reverse Zone digunakan untuk:

IP Address → Domain

Dengan memahami BIND9, administrator dapat membangun DNS Server pada jaringan lokal sehingga berbagai layanan server dapat diakses menggunakan nama yang lebih mudah diingat.

Contohnya:

web.namamu.test
ftp.namamu.test
file.namamu.test

daripada harus mengingat alamat IP masing-masing server.

Tinggalkan Balasan