Administrasi Server Jaringan

DHCP Server Classic (ISC-DHCP)

Panduan praktikum instalasi dan konfigurasi DHCP Server klasik menggunakan isc-dhcp-server di Debian & Ubuntu Server. Mencakup penyesuaian blok subnet "a slightly different", konfigurasi interface, static lease reservation, dan troubleshooting.

DHCP Server Classic di Linux (ISC-DHCP-Server)

ISC-DHCP-Server (isc-dhcp-server) adalah paket perangkat lunak server DHCP legendaris yang dikembangkan oleh Internet Systems Consortium (ISC) dan telah menjadi fondasi distribusi IP otomatis di sistem operasi Linux selama lebih dari dua dekade.

Meskipun ISC secara resmi telah menetapkan status End-of-Life (EOL) untuk software ini pada akhir 2022, pemahaman mengenai isc-dhcp-server tetap sangat penting bagi siswa SMK TKJ karena masih banyak digunakan pada infrastruktur jaringan sekolah eksisting (legacy), modul praktikum, dan materi Uji Kompetensi Keahlian (UKK).

Jobsheet Praktikum 07: Administrasi Server Jaringan (ASJ)
Waktu Praktikum: 4 x 45 Menit
Tingkat SMK: XI / XII TJKT (TKJ)
Software Utama:isc-dhcp-server (Standar Klasik / Legacy)
Untuk mempelajari standar industri modern masa depan berbasis JSON yang menjadi standar bawaan di Debian 12 & Ubuntu 24.04 LTS, silakan pelajari modul DHCP Server Modern (Kea DHCPv4).

1. Cara Kerja DHCP (Proses DORA)

Komunikasi antara DHCP Client dan DHCP Server berlangsung melalui 4 proses negosiasi berurutan (DORA):

1. DISCOVER

Client yang baru menyala menyiarkan (broadcast) paket DHCPDISCOVER ke seluruh jaringan (255.255.255.255) melalui UDP Port 67 untuk mencari DHCP Server yang aktif.

2. OFFER

DHCP Server merespons dengan paket DHCPOFFER ke UDP Port 68 berisi penawaran IP Address kosong, durasi peminjaman (lease time), gateway, dan DNS.

3. REQUEST

Client memilih penawaran server dan membalas dengan DHCPREQUEST untuk mengonfirmasi bahwa ia bersedia menyewa IP yang ditawarkan.

4. ACKNOWLEDGE

Server mengirimkan DHCPACK sebagai konfirmasi final. Konfigurasi dicatat dalam file database lease server dan client resmi mengaktifkan IP tersebut.


2. Topologi Virtual Lab Praktikum

┌────────────────────────────────┐
│  Debian / Ubuntu Server        │
│  Interface: enp0s8 (Internal)  │
│  IP Statis: 192.168.50.1/24    │
│  Layanan  : isc-dhcp-server    │
└───────────────┬────────────────┘
                │
   [ Virtual Switch / Internal Network: "sw-lab-tkj" ]
                │
        ┌───────┴───────────────┬───────────────────────┐
        │                       │                       │
┌───────┴────────────┐  ┌───────┴────────────┐  ┌───────┴────────────┐
│ Client 1 (Debian)  │  │ Client 2 (Windows) │  │ Komputer Guru (PC) │
│ Mode: DHCP Client  │  │ Mode: DHCP Client  │  │ MAC: aa:bb:cc:...  │
│ Alokasi: Dinamis   │  │ Alokasi: Dinamis   │  │ Static: .50.10     │
└────────────────────┘  └────────────────────┘  └────────────────────┘
Parameter JaringanNilai KonfigurasiKeterangan
Interface Serverenp0s8 (atau ens33 / eth1)Interface yang mengarah ke switch client
IP Address Server192.168.50.1/24IP Statis server sebagai Gateway jaringan
DHCP Pool (Range)192.168.50.100 – 192.168.50.200101 IP dialokasikan untuk client dinamis
Subnet Mask255.255.255.0 (/24)Subnet kelas C
Default Gateway192.168.50.1Router penerus traffic
DNS Resolver192.168.50.1, 8.8.8.8DNS Server lokal & Google Public DNS
Domain Searchsmk-tkj.sch.idNama domain lokal sekolah
Pastikan interface server (enp0s8) telah diset dengan IP Statis terlebih dahulu sebelum memulai instalasi (lihat Jobsheet 03).

3. Instalasi Paket isc-dhcp-server

Jalankan perintah instalasi paket:

# Update index repositori
sudo apt update

# Pasang paket ISC DHCP Server
sudo apt install isc-dhcp-server -y

Catatan: Setelah selesai diinstall, service isc-dhcp-server akan otomatis berstatus failed atau error. Hal ini normal karena file konfigurasi utama dan parameter interface belum disesuaikan.


4. Konfigurasi File Utama /etc/dhcp/dhcpd.conf

Sesuai standar praktikum SMK TKJ, kita terlebih dahulu mengonfigurasi file pengaturan utama /etc/dhcp/dhcpd.conf.

Cadangkan file konfigurasi asli terlebih dahulu:

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

Buka file konfigurasi menggunakan editor nano:

sudo nano /etc/dhcp/dhcpd.conf

Cara Cepat Menemukan Baris Subnet

Di dalam file bawaan Debian/Ubuntu, terdapat ratusan baris contoh yang diawali tanda pagar (#). Cara termudah adalah mencari blok komentar a slightly different:

  1. Pada editor nano, tekan tombol Ctrl + W (fungsi Search/Where Is).
  2. Ketik kata kunci: slightly lalu tekan Enter.
  3. Kursor Anda akan langsung menuju ke baris:
    # A slightly different configuration for an internal subnet.

Tampilan Sebelum Diubah (Bawaan Default)

Perhatikan blok template aslinya yang masih tertutup tanda komentar (#):

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option subnet-mask 255.255.255.224;
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

Tampilan Sesudah Diubah (Hilangkan # & Sesuaikan IP Lab)

Hilangkan tanda pagar (#) dari baris subnet sampai tanda kurung kurawal tutup (}), lalu ubah nilainya sesuai IP laboratorium TKJ berikut:

/etc/dhcp/dhcpd.conf
# A slightly different configuration for an internal subnet.
subnet 192.168.50.0 netmask 255.255.255.0 {
  range 192.168.50.100 192.168.50.200;
  option domain-name-servers 192.168.50.1, 8.8.8.8;
  option domain-name "smk-tkj.sch.id";
  option subnet-mask 255.255.255.0;
  option routers 192.168.50.1;
  option broadcast-address 192.168.50.255;
  default-lease-time 43200;
  max-lease-time 86400;
}

Menambahkan Static Lease (IP Reservation)

Jika ada perangkat yang membutuhkan IP permanen (misalnya Komputer Guru atau Printer Lab), tambahkan deklarasi host tepat di bawah blok subnet di atas:

/etc/dhcp/dhcpd.conf
# ─── Static Lease (IP Reservation Komputer Guru) ─────────────────────────
host pc-guru {
  hardware ethernet 08:00:27:aa:bb:cc;
  fixed-address 192.168.50.10;
}

# ─── Static Lease (Printer Laboratorium) ─────────────────────────────────
host printer-lab {
  hardware ethernet 08:00:27:11:22:33;
  fixed-address 192.168.50.20;
}

Simpan file di nano: tekan Ctrl + O, tekan Enter, lalu keluar dengan Ctrl + X.

Opsi Alternatif Otomatis (One-Liner Terminal):
Bagi siswa yang ingin langsung mengganti isi file konfigurasi secara otomatis tanpa mencari baris nano secara manual, Anda cukup klik tombol Copy pada perintah berikut dan paste ke terminal:
/etc/dhcp/dhcpd.conf
cat << 'EOF' | sudo tee /etc/dhcp/dhcpd.conf
default-lease-time 43200;
max-lease-time 86400;
authoritative;
ddns-update-style none;

subnet 192.168.50.0 netmask 255.255.255.0 {
  range 192.168.50.100 192.168.50.200;
  option routers 192.168.50.1;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 192.168.50.1, 8.8.8.8;
  option domain-name "smk-tkj.sch.id";
  option broadcast-address 192.168.50.255;
}

host pc-guru {
  hardware ethernet 08:00:27:aa:bb:cc;
  fixed-address 192.168.50.10;
}
EOF

5. Penentuan Interface di /etc/default/isc-dhcp-server

Setelah file utama /etc/dhcp/dhcpd.conf selesai dikonfigurasi dan disimpan, langkah berikutnya adalah menentukan kartu jaringan (interface) yang akan melayani permintaan DHCP.

Buka file konfigurasi interface bawaan:

sudo nano /etc/default/isc-dhcp-server

Gulir ke baris paling bawah, lalu cari baris INTERFACESv4. Masukkan nama interface jaringan lokal yang mengarah ke switch client (cek dengan perintah ip a, contoh: enp0s8):

/etc/default/isc-dhcp-server
# Interface kartu jaringan yang melayani DHCP client
INTERFACESv4="enp0s8"
INTERFACESv6=""

Simpan file: tekan Ctrl + O, Enter, lalu Ctrl + X.


6. Validasi Sintaks & Menjalankan Service

A. Uji Validitas Sintaks Konfigurasi

Sebelum me-restart layanan, jalankan perintah uji sintaks untuk memastikan tidak ada kesalahan penulisan atau titik koma (;) yang tertinggal:

sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

Jika tidak ada pesan error merah atau fatal, konfigurasi Anda siap dijalankan.

B. Menjalankan & Mengaktifkan Layanan

# Restart service ISC DHCP
sudo systemctl restart isc-dhcp-server

# Aktifkan auto-start saat booting server
sudo systemctl enable isc-dhcp-server

# Periksa status operasional
sudo systemctl status isc-dhcp-server

Status yang diharapkan saat normal:

● isc-dhcp-server.service - LSB: DHCP server
     Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
     Active: active (running) since ...

7. Monitoring Client Lease & Realtime Log

ISC-DHCP-Server mencatat seluruh aktivitas peminjaman IP client ke dalam file teks datar:

# Melihat seluruh riwayat peminjaman IP
cat /var/lib/dhcp/dhcpd.leases

Atau gunakan utilitas pemantau ringkas bawaan:

dhcp-lease-list

Untuk memantau pertukaran paket DORA secara langsung (realtime):

sudo journalctl -u isc-dhcp-server -f

8. Pengujian dari Sisi Client

Skenario A: Client Linux (Debian / Ubuntu)

# Lepas IP lama
sudo dhclient -r enp0s3

# Minta IP baru dari server
sudo dhclient -v enp0s3

# Periksa IP yang diperoleh
ip a show enp0s3
ip route show

Skenario B: Client Windows

Buka Command Prompt (CMD):

ipconfig /release
ipconfig /renew
ipconfig /all

Pastikan baris DHCP Server tertera alamat IP server Anda (192.168.50.1).


9. Konfigurasi Firewall Server (UFW)

Buka port UDP 67 dan 68 jika firewall UFW dalam kondisi aktif:

sudo ufw allow 67/udp
sudo ufw allow 68/udp
sudo ufw status

10. Troubleshooting Error Umum ISC-DHCP

Gejala ErrorKemungkinan PenyebabLangkah Solusi
isc-dhcp-server failed to startKesalahan sintaks (misal titik koma lupa di akhir baris)Jalankan sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf untuk menemukan nomor baris yang bermasalah.
Not configured to listen on any interfacesInterface di /etc/default/isc-dhcp-server belum diisi atau salahSesuaikan nama interface pada INTERFACESv4="enp0s8" dengan output ip a.
No subnet declaration for interfaceSubnet di dhcpd.conf tidak cocok dengan IP statis interfacePastikan IP interface server (192.168.50.1) satu subnet dengan blok subnet 192.168.50.0.
Client tidak dapat IP (Timeout)Firewall memblokir atau beda virtual switchBuka port 67/udp dan pastikan kedua VM terhubung ke switch internal yang sama.

11. Lembar Kerja Praktikum Siswa

Tugas Praktik Mandiri Siswa:
  1. Instalasi: Pasang paket isc-dhcp-server di server Linux Anda dan tunjukkan output systemctl status isc-dhcp-server.
  2. Konfigurasi File Utama: Buka /etc/dhcp/dhcpd.conf, cari blok # A slightly different configuration..., hilangkan tanda komentar #, dan sesuaikan subnet 192.168.50.0/24.
  3. Konfigurasi Interface: Atur INTERFACESv4 pada file /etc/default/isc-dhcp-server agar mengarah ke kartu jaringan lab (enp0s8).
  4. Validasi Sintaks: Jalankan sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf dan buktikan konfigurasi bebas dari error sintaks.
  5. Pengujian Client: Hubungkan VM Client, minta IP otomatis via DHCP, dan lampirkan tangkapan layar ip a atau ipconfig.
  6. Static Lease: Tambahkan reservasi IP permanen 192.168.50.15 untuk client Anda berdasarkan MAC Address-nya.

Sudah Selesai Mempelajari Modul Ini?

Tandai modul ini untuk mencatat progress belajar Anda.