📌 Tujuan Praktikum

Setelah mengikuti praktikum ini, Anda diharapkan mampu:

  • Memahami fungsi dan cara kerja DNS Server
  • Mengkonfigurasi IP Address pada Ubuntu Server
  • Menginstall dan mengkonfigurasi BIND9 sebagai DNS Server
  • Membuat zone forward dan reverse untuk domain smk-tkj.lmn
  • Melakukan uji coba DNS menggunakan perintah nslookup dan dig

1. Fungsi DNS Server

DNS (Domain Name System) adalah sistem yang berfungsi untuk menerjemahkan nama domain (misalnya smk-tkj.lmn) menjadi IP Address (misalnya 192.168.10.20) dan sebaliknya.

Analogi DNS

DNS seperti "buku telepon" di dunia internet. Bayangkan Anda ingin menelepon teman bernama "Budi". Anda tidak perlu menghafal nomor HP-nya, cukup cari nama "Budi" di buku telepon, maka Anda akan menemukan nomornya. Begitu pula DNS, kita cukup mengingat nama domain seperti smk-tkj.lmn, dan DNS akan menerjemahkannya ke IP Address 192.168.10.20.

🔑 Fungsi Utama DNS Server

  • Forward Lookup: Menerjemahkan nama domain → IP Address
  • Reverse Lookup: Menerjemahkan IP Address → nama domain
  • Distribusi Beban: Mendistribusikan lalu lintas ke beberapa server
  • Redundansi: Menyediakan cadangan jika satu server down

📋 Jenis-jenis DNS Server

  • Authoritative DNS: Server yang memiliki wewenang penuh atas suatu domain
  • Recursive DNS: Server yang mencari jawaban dari server lain
  • Caching DNS: Server yang menyimpan hasil pencarian untuk mempercepat akses

2. Skenario & Topologi

Pada praktikum ini, kita akan membangun sebuah DNS Server dengan spesifikasi berikut:

KomponenKeterangan
Sistem OperasiUbuntu Server 24.04 LTS
IP Address Server192.168.10.20/24
Gateway192.168.10.1
DNS ServerBIND9
Domainsmk-tkj.lmn
ClientKomputer dalam satu jaringan (192.168.10.0/24)
Topologi Jaringan DNS Server
Gambar 1: Topologi Jaringan DNS Server

Keterangan Topologi

  • Router → Berfungsi sebagai gateway (192.168.10.1) dan sumber jaringan
  • Switch → Menghubungkan semua perangkat dalam satu jaringan
  • DNS Server → Server dengan IP 192.168.10.20 yang menjalankan BIND9
  • Client → Komputer yang akan mengakses DNS Server untuk resolusi domain

3. Konfigurasi IP Address

Langkah pertama adalah mengkonfigurasi IP Address pada server agar memiliki alamat tetap (static).

📝 Spesifikasi IP yang Digunakan

ParameterNilai
IP Address192.168.10.20
Netmask255.255.255.0 (/24)
Gateway192.168.10.1
DNS (sementara)8.8.8.8

🖥️ Langkah-langkah Setting IP Static

1. Cek nama interface jaringan:

ip a

2. Edit file konfigurasi Netplan:

sudo nano /etc/netplan/01-netcfg.yaml

3. Isi dengan konfigurasi berikut:

network:
  version: 2
  ethernets:
    enp0s3:                        # Sesuaikan dengan nama interface Anda
      dhcp4: no
      addresses:
        - 192.168.10.20/24
      routes:
        - to: default
          via: 192.168.10.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

💡 Catatan

Interface enp0s3 bisa berbeda di setiap komputer. Gunakan perintah ip a untuk melihat nama interface yang aktif.

4. Terapkan konfigurasi:

sudo netplan apply

5. Verifikasi IP Address:

ip a
ping 192.168.10.1

✅ Jika berhasil

IP Address sudah terpasang dan server bisa ping ke gateway.

4. Konfigurasi Hosts File

File /etc/hosts adalah file statis yang digunakan untuk pemetaan nama host ke IP Address secara lokal.

📝 Tujuan Konfigurasi Hosts

  • Memastikan server dapat meresolusi domain smk-tkj.lmn secara lokal
  • Menjadi referensi awal sebelum DNS Server berjalan

Edit file /etc/hosts:

sudo nano /etc/hosts

Tambahkan baris berikut:

127.0.0.1   localhost
192.168.10.20   smk-tkj.lmn   dns-server
192.168.10.20   www.smk-tkj.lmn

📖 Penjelasan

  • 192.168.10.20 smk-tkj.lmn → Memetakan domain ke IP server
  • 192.168.10.20 www.smk-tkj.lmn → Subdomain www mengarah ke server yang sama
  • dns-server → Alias hostname untuk memudahkan

Verifikasi file hosts:

cat /etc/hosts
ping smk-tkj.lmn

✅ Jika berhasil

Perintah ping smk-tkj.lmn akan merespon dari IP 192.168.10.20.

5. Konfigurasi Resolved

systemd-resolved adalah service resolver DNS bawaan Ubuntu. Kita perlu mengkonfigurasinya agar menggunakan DNS Server yang akan kita buat.

📝 Langkah Konfigurasi

1. Edit file resolved.conf:

sudo nano /etc/systemd/resolved.conf

2. Uncomment dan atur nilai berikut:

[Resolve]
DNS=192.168.10.20
Domains=smk-tkj.lmn
FallbackDNS=8.8.8.8 1.1.1.1
LLMNR=no
MulticastDNS=no
DNSSEC=no
DNSOverTLS=no

📖 Penjelasan

  • DNS=192.168.10.20 → Menggunakan DNS Server lokal
  • Domains=smk-tkj.lmn → Domain default untuk pencarian
  • FallbackDNS=8.8.8.8 → DNS cadangan jika server mati

3. Restart service resolved:

sudo systemctl restart systemd-resolved

4. Verifikasi resolved:

systemctl status systemd-resolved
resolvectl status

✅ Jika berhasil

DNS Server sudah terdaftar di resolver.

6. Install & Konfigurasi BIND9

BIND9 (Berkeley Internet Name Domain) adalah software DNS Server yang paling populer digunakan di Linux.

6.1 Install BIND9

sudo apt update
sudo apt install bind9 bind9utils bind9-doc -y

💡 Catatan

Paket bind9utils berisi utilitas seperti named-checkconf dan named-checkzone untuk verifikasi konfigurasi.

6.2 Konfigurasi DNS Zone

Edit file konfigurasi utama:

sudo nano /etc/bind/named.conf

Tambahkan zone berikut di akhir file:

# Forward Zone untuk domain smk-tkj.lmn
zone "smk-tkj.lmn" {
    type master;
    file "/etc/bind/db.smk-tkj";
};

# Reverse Zone untuk IP 192.168.10.x
zone "10.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192.168.10";
};

📖 Penjelasan

  • zone "smk-tkj.lmn" → Mendefinisikan domain utama
  • type master; → Server ini adalah master (utama)
  • file "/etc/bind/db.smk-tkj" → Lokasi file database zone forward
  • zone "10.168.192.in-addr.arpa" → Reverse DNS (IP 192.168.10.x)

6.3 Buat File Database Forward

Buat file /etc/bind/db.smk-tkj:

sudo nano /etc/bind/db.smk-tkj

Isi dengan:

$TTL    604800
@       IN  SOA smk-tkj.lmn. admin.smk-tkj.lmn. (
                1          ; Serial
                604800     ; Refresh
                86400      ; Retry
                2419200    ; Expire
                604800 )   ; Negative Cache TTL

; Name Server (NS) Record
@       IN  NS  smk-tkj.lmn.

; A Records (Forward Lookup)
@       IN  A   192.168.10.20
www     IN  A   192.168.10.20
mail    IN  A   192.168.10.20
ftp     IN  A   192.168.10.20
dns     IN  A   192.168.10.20

📖 Penjelasan Record DNS

  • SOA → Start of Authority (informasi awal zone)
  • NS → Name Server (menunjukkan server DNS)
  • A → Address Record (nama domain → IP Address)
  • @ → Mewakili domain utama smk-tkj.lmn
  • www → Subdomain www.smk-tkj.lmn
  • mail → Subdomain mail.smk-tkj.lmn
  • ftp → Subdomain ftp.smk-tkj.lmn
  • dns → Subdomain dns.smk-tkj.lmn

6.4 Buat File Database Reverse

Buat file /etc/bind/db.192.168.10:

sudo nano /etc/bind/db.192.168.10

Isi dengan:

$TTL    604800
@       IN  SOA smk-tkj.lmn. admin.smk-tkj.lmn. (
                1          ; Serial
                604800     ; Refresh
                86400      ; Retry
                2419200    ; Expire
                604800 )   ; Negative Cache TTL

; Name Server (NS) Record
@       IN  NS  smk-tkj.lmn.

; PTR Records (Reverse Lookup)
20      IN  PTR smk-tkj.lmn.
20      IN  PTR www.smk-tkj.lmn.
20      IN  PTR mail.smk-tkj.lmn.
20      IN  PTR ftp.smk-tkj.lmn.
20      IN  PTR dns.smk-tkj.lmn.

📖 Penjelasan Record PTR

  • PTR → Pointer Record (IP Address → nama domain)
  • 20 → Hanya octet terakhir dari IP 192.168.10.20
  • Fungsi: Jika ada yang mengecek IP 192.168.10.20, akan muncul nama smk-tkj.lmn

6.5 Verifikasi Konfigurasi

Cek konfigurasi zone forward:

sudo named-checkconf
sudo named-checkzone smk-tkj.lmn /etc/bind/db.smk-tkj

Cek konfigurasi zone reverse:

sudo named-checkzone 10.168.192.in-addr.arpa /etc/bind/db.192.168.10

✅ Jika berhasil

Akan muncul pesan OK pada setiap verifikasi.

6.6 Restart DNS Service

sudo systemctl restart bind9
sudo systemctl enable bind9
sudo systemctl status bind9

✅ DNS Server siap digunakan!

Service BIND9 berjalan dengan baik.

7. Uji Coba DNS Server

Setelah DNS Server terkonfigurasi, lakukan pengujian untuk memastikan semua berjalan dengan baik.

7.1 Uji dengan nslookup

# Forward Lookup
nslookup smk-tkj.lmn
nslookup www.smk-tkj.lmn
nslookup mail.smk-tkj.lmn
nslookup ftp.smk-tkj.lmn
nslookup dns.smk-tkj.lmn

# Reverse Lookup
nslookup 192.168.10.20

✅ Hasil yang diharapkan

  • Semua perintah forward lookup menampilkan IP 192.168.10.20
  • Perintah reverse lookup menampilkan nama smk-tkj.lmn

7.2 Uji dengan dig

# Forward Lookup
dig smk-tkj.lmn
dig www.smk-tkj.lmn

# Reverse Lookup
dig -x 192.168.10.20

7.3 Uji dengan ping

ping smk-tkj.lmn
ping www.smk-tkj.lmn
ping mail.smk-tkj.lmn
ping 192.168.10.20

⚠️ Jika ping gagal atau tidak bisa resolve

  • Periksa kembali file /etc/bind/db.smk-tkj dan /etc/bind/db.192.168.10
  • Periksa log BIND9: sudo tail -f /var/log/syslog | grep named
  • Pastikan /etc/resolv.conf menggunakan nameserver 192.168.10.20
  • Restart service: sudo systemctl restart bind9

8. Kesimpulan

Dalam praktikum ini, Anda telah berhasil melakukan:

  • ✅ Memahami fungsi DNS Server sebagai penerjemah nama domain ke IP Address
  • ✅ Mengkonfigurasi IP Address static pada Ubuntu Server 24.04
  • ✅ Mengkonfigurasi file hosts untuk resolusi lokal
  • ✅ Mengkonfigurasi systemd-resolved untuk menggunakan DNS lokal
  • ✅ Menginstall dan mengkonfigurasi BIND9 sebagai DNS Server
  • ✅ Membuat zone forward dan reverse untuk domain smk-tkj.lmn
  • ✅ Melakukan uji coba DNS dengan nslookup, dig, dan ping

Selanjutnya

Setelah DNS Server berhasil, Anda dapat melanjutkan ke materi berikutnya: Konfigurasi Web Server untuk menghosting website dengan domain smk-tkj.lmn.