Cara Membuat DNS Server Ubuntu 24.04 Menggunakan Bind9 Lengkap
1. Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address
sebuah komputer cukup host name (nama Komputer).
2. Konsisten, IP address sebuah komputer bisa berubah tapi host name tidak berubah.
3. Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di
Intranet.
BIND9 (Berkeley Internet Name Domain) adalah software DNS Server yang paling banyak digunakan pada sistem Linux. Dengan BIND9 di Ubuntu Server 24.04, kita dapat membuat DNS server untuk:
- DNS internal perusahaan (LAN)
-
Domain lokal seperti
kantor.local - DNS authoritative untuk domain publik
- DNS caching resolver
- Reverse DNS lookup
- Server VPS/hosting
Ubuntu menyediakan paket BIND9 secara resmi dan konfigurasi utamanya berada pada direktori /etc/bind.
Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mencek ke local database DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address. Setelah kita mengetahui apa itu DNS disini saya akan membuat dns server di ubuntu server 24.04.
1. Persiapan Server Ubuntu 24.04
Login ke server:
ssh user@192.168.1.10
Update repository:
sudo apt update sudo apt upgrade -y
Cek hostname:
hostnamectl
Ubah hostname:
sudo hostnamectl set-hostname dns-server
Restart:
sudo reboot
2. Konfigurasi IP Static Ubuntu
DNS Server wajib menggunakan IP tetap.
Cek interface:
ip addr
Contoh:
ens33 IP : 192.168.1.10
Ubuntu 24.04 menggunakan Netplan.
Lihat konfigurasi:
ls /etc/netplan/
Edit:
sudo nano /etc/netplan/50-cloud-init.yaml
Contoh:
network: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.168.1.10/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 192.168.1.10 - 8.8.8.8
Apply:
sudo netplan apply
Tes:
ip addr3. Install BIND9
Install paket DNS:
sudo apt install bind9 bind9-utils dnsutils -y
Cek service:
sudo systemctl status bind9Jika aktif:
Active: active (running)Aktifkan otomatis:
sudo systemctl enable bind9
4. Struktur Folder BIND9
Lokasi konfigurasi:
/etc/bind/Isi:
/etc/bind | ├── named.conf ├── named.conf.options ├── named.conf.local ├── db.local ├── db.127File penting:
File Fungsi named.conf.options konfigurasi global named.conf.local daftar zone db.domain forward lookup db.reverse reverse lookup
5. Konfigurasi DNS Resolver
Edit:
sudo nano /etc/bind/named.conf.optionsIsi:
acl local-network { 192.168.1.0/24; }; options { directory "/var/cache/bind"; listen-on { 192.168.1.10; }; allow-query { local-network; }; recursion yes; forwarders { 8.8.8.8; 1.1.1.1; }; dnssec-validation auto; };Penjelasan:
ACL
acl local-networkMengizinkan hanya jaringan lokal menggunakan DNS.
listen-on
listen-on { 192.168.1.10; };DNS hanya mendengarkan IP tersebut.
Forwarder
forwarders { 8.8.8.8; };Jika DNS tidak menemukan domain lokal, diteruskan ke Google DNS.
6. Membuat Forward Zone
Forward zone berfungsi:
hostname → IP AddressContoh:
www.arif.local menjadi 192.168.1.20Edit:
sudo nano /etc/bind/named.conf.localTambahkan:
zone "arif.local" { type master; file "/etc/bind/db.arif.local"; };
7. Membuat File Zone DNS
Copy template:
sudo cp /etc/bind/db.local \ /etc/bind/db.arif.localEdit:
sudo nano /etc/bind/db.arif.localIsi:
; ; DNS Zone arif.local ; $TTL 604800 @ IN SOA dns-server.arif.local. admin.arif.local. ( 2026091801 3600 1800 604800 86400 ) ; Name Server @ IN NS dns-server.arif.local. ; DNS Server dns-server IN A 192.168.1.10 ; Web Server www IN A 192.168.1.20 ; Mail Server mail IN A 192.168.1.30 ; Alias ftp IN CNAME wwwHasil:
dns-server.arif.local | 192.168.1.10 www.arif.local | 192.168.1.20 mail.arif.local | 192.168.1.30
8. Membuat Reverse DNS Zone
Reverse DNS:
IP Address → hostnameContoh:
192.168.1.20 menjadi www.arif.localEdit:
sudo nano /etc/bind/named.conf.localTambahkan:
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.reverse.arif"; };
Copy template:
sudo cp /etc/bind/db.127 \ /etc/bind/db.reverse.arifEdit:
sudo nano /etc/bind/db.reverse.arifIsi:
$TTL 604800 @ IN SOA dns-server.arif.local. admin.arif.local. ( 2026091801 3600 1800 604800 86400 ) @ IN NS dns-server.arif.local. 10 IN PTR dns-server.arif.local. 20 IN PTR www.arif.local. 30 IN PTR mail.arif.local.
9. Validasi Konfigurasi
Sebelum restart lakukan pengecekan.
Cek konfigurasi BIND
sudo named-checkconfJika benar:
tidak ada output
Cek Forward Zone
sudo named-checkzone arif.local \ /etc/bind/db.arif.localOutput:
zone arif.local/IN: loaded serial 2026091801 OK
Cek Reverse Zone
sudo named-checkzone \ 1.168.192.in-addr.arpa \ /etc/bind/db.reverse.arif
10. Restart DNS Server
sudo systemctl restart bind9Cek:
sudo systemctl status bind9
11. Membuka Firewall
Jika menggunakan UFW:
sudo ufw allow 53/tcp sudo ufw allow 53/udpReload:
sudo ufw reloadDNS menggunakan:
Protocol Port UDP 53 TCP 53
12. Pengujian DNS Server
Install tools:
sudo apt install dnsutils -y
Tes NS Lookup
nslookup www.arif.local 192.168.1.10Output:
Server: 192.168.1.10 Name: www.arif.local Address: 192.168.1.20
Tes menggunakan dig
dig www.arif.localOutput:
ANSWER SECTION: www.arif.local. A 192.168.1.20
Reverse Lookup
dig -x 192.168.1.20Output:
www.arif.local
13. Mengatur Client Agar Menggunakan DNS Server
Pada komputer client:
Windows:
Network Adapter ↓ IPv4 ↓ DNS Server 192.168.1.10Linux:
Edit:
sudo nano /etc/systemd/resolved.confTambahkan:
DNS=192.168.1.10Restart:
sudo systemctl restart systemd-resolved
14. Troubleshooting BIND9
Error: SERVFAIL
Cek log:
sudo journalctl -u bind9Biasanya karena:
- file zone salah
- serial tidak berubah
- syntax error
Error: connection refused
Cek port:
sudo ss -tulpn | grep :53Harus muncul:
udp LISTEN 53 named tcp LISTEN 53 named
Error: zone not loaded
Cek:
named-checkzonePeriksa:
- tanda titik pada FQDN
Salah:
dns-server.arif.localBenar:
dns-server.arif.local.
15. Monitoring DNS
Melihat query:
sudo rndc querylog onLog:
sudo tail -f /var/log/syslog
16. Backup Konfigurasi DNS
Backup:
sudo tar -czvf bind9-backup.tar.gz /etc/bind
Restore:
sudo tar -xzvf bind9-backup.tar.gz -C /Kesimpulan
Dengan konfigurasi di atas Ubuntu Server 24.04 sudah menjadi DNS Server BIND9 yang mampu:
✅ Resolusi domain lokal ✅ Forward lookup ✅ Reverse lookup ✅ DNS caching ✅ Internal network DNS ✅ Siap digunakan untuk server kantor, lab, VPS, atau infrastruktur enterprise.
Komentar
Posting Komentar