DHCP Server
Definisi dan Peran DHCP Server
DHCP server (Dynamic Host Configuration Protocol server) adalah server yang secara otomatis memberikan konfigurasi jaringan kepada perangkat klien saat mereka terhubung ke jaringan. Tanpa DHCP, administrator harus mengonfigurasi setiap perangkat secara manual - sebuah proses yang tidak praktis dalam jaringan berskala besar.
Alokasi alamat IP oleh DHCP server mengurangi kesalahan konfigurasi, mencegah duplikasi alamat, dan menyederhanakan manajemen jaringan. Protokol ini bekerja berdasarkan model client-server dan menggunakan port UDP 67 (server) dan 68 (client).
Implementasi DHCP Server
1. ISC DHCP Server (isc-dhcp-server)
ISC DHCP Server adalah implementasi DHCP server standar yang dikembangkan oleh Internet Systems Consortium. Stabil, fitur lengkap, dan banyak digunakan di lingkungan enterprise. Mendukung konfigurasi subnet, pool dinamis, static reservation, failover antar server, dan logging terperinci.
2. Dnsmasq
Dnsmasq adalah daemon ringan yang menggabungkan fungsi DNS forwarder dan DHCP server. Ideal untuk jaringan rumah dan kantor kecil. Dnsmasq mendukung DHCP dengan konfigurasi sederhana, distribusi alamat otomatis, static lease, dan integrasi dengan DNS-nya sendiri sehingga nama host klien otomatis terdaftar.
Cara Kerja DHCP - DORA Process
Proses alokasi alamat IP oleh DHCP server mengikuti urutan DORA:
- Discover - Klien mengirimkan broadcast DHCPDISCOVER untuk menemukan server DHCP di jaringan.
- Offer - Server merespons dengan DHCPOFFER berisi alamat IP yang tersedia, subnet mask, gateway, dan parameter lainnya.
- Request - Klien merespons dengan DHCPREQUEST untuk menerima tawaran tersebut.
- Ack - Server mengirimkan DHCPACK sebagai konfirmasi final; klien sekarang dapat menggunakan alamat IP.
Klien akan memperbarui lease (masa sewa) secara periodik dengan DHCPREQUEST sebelum masa berlaku habis.
Konfigurasi Subnet dan Range Pool
Konfigurasi DHCP melibatkan pendefinisian subnet dan kumpulan alamat (pool) yang akan didistribusikan.
Contoh Konfigurasi ISC DHCP Server
File /etc/dhcp/dhcpd.conf:
# Global option
option domain-name "lan.contoh.com";
option domain-name-servers 192.168.1.10, 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
authoritative;
# Subnet definition
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
# Dynamic pool
pool {
range 192.168.1.100 192.168.1.200;
option domain-name-servers 192.168.1.10;
}
# Static reservation
host printer-cetak {
hardware ethernet AA:BB:CC:DD:EE:FF;
fixed-address 192.168.1.50;
}
host server-file {
hardware ethernet 11:22:33:44:55:66;
fixed-address 192.168.1.10;
}
}
Contoh Konfigurasi Dnsmasq
File /etc/dnsmasq.conf:
interface=eth0
dhcp-range=192.168.1.100,192.168.1.200,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.10
dhcp-host=AA:BB:CC:DD:EE:FF,192.168.1.50
dhcp-host=11:22:33:44:55:66,192.168.1.10
Opsi DHCP Penting
Selain alamat IP, DHCP server mengirimkan option untuk mengonfigurasi parameter klien:
| Opsi | Kode | Deskripsi |
|---|---|---|
| Subnet Mask | 1 | Netmask yang digunakan klien |
| Router (Gateway) | 3 | Alamat IP default gateway |
| DNS Server | 6 | Alamat DNS server untuk resolusi nama |
| Domain Name | 15 | Nama domain lokal |
| Lease Time | 51 | Durasi masa sewa alamat IP |
Static Reservation
Static reservation (atau static lease) adalah mekanisme untuk memastikan perangkat tertentu selalu mendapatkan alamat IP yang sama, berdasarkan alamat MAC. Ini berguna untuk server, printer, dan perangkat infrastruktur lainnya yang membutuhkan alamat tetap tanpa harus dikonfigurasi manual.
Pada ISC DHCP Server, static reservation dibuat menggunakan blok
host seperti pada contoh di atas. Pada Dnsmasq, gunakan
direktif dhcp-host.
Logging dan Troubleshooting
Log DHCP sangat berguna untuk memecahkan masalah alokasi IP. Pada ISC
DHCP Server, log dikirim ke syslog dengan facility
daemon. Untuk memonitor:
tail -f /var/log/syslog | grep dhcpd
Log menunjukkan setiap langkah DORA, termasuk alamat yang dialokasikan, MAC address klien, dan masa lease. Jika klien tidak mendapatkan IP, periksa:
- Apakah server DHCP aktif?
systemctl status isc-dhcp-server - Apakah ada konflik alamat? Periksa log untuk pesan
DHCPDECLINE. - Apakah pool habis? Hitung jumlah alamat yang tersedia.
- Apakah firewall memblokir port UDP 67-68?