Pernah nggak sih kalian kepikiran gimana caranya ngasih IP address otomatis ke device-device di jaringan kalian? Nah, di sinilah peran DHCP (Dynamic Host Configuration Protocol) jadi sangat penting. Tanpa DHCP, kalian harus setting IP manual satu per satu ke tiap device bayangin aja kalau ada 50 device, pasti mampus tangan kalian copot ngisi-ngisinya.
Di artikel ini, saya bakal jelasin step-by-step cara setup DHCP server di Linux. Saya pakai Ubuntu/Debian sebagai contoh, tapi konsepnya sama aja buat distro lain kayak CentOS atau Fedora, bedanya cuma perintah install dan lokasi file konfigurasi doang.
Apa Itu DHCP dan Kenapa Perlu Dipasang?
DHCP itu protokol yang otomatis ngasih IP address, subnet mask, gateway, dan DNS ke device yang nyambung ke jaringan. Jadi kalau ada laptop baru nyambung ke WiFi, dia langsung dapet IP tanpa harus digodok manual sama admin.
Keuntungan pake DHCP:
- Otomatisasi: Device langsung dapet IP pas nyambung
- Hindari konflik IP: Nggak bakal ada dua device dengan IP sama
- Manajemen gampang: Ubah setting network dari satu tempat aja
- Mobilitas: Device bisa pindah-pindah subnet tanpa ribet
Persiapan Sebelum Install
Sebelum mulai, pastikan kalian punya:
- Akses root atau sudo ke server Linux
- Interface network yang udah dikonfigurasi dengan IP static
- Dua network interface (opsional tapi recommended): satu buat internet, satu buat jaringan lokal DHCP
Cek interface network kalian:
ip addr show
# atau
ifconfig -a
Catat nama interface yang bakal dipake buat DHCP, misalnya eth0 atau ens33.
Step 1: Install DHCP Server
Di Ubuntu/Debian, paket DHCP server namanya isc-dhcp-server. Install pake perintah:
sudo apt update
sudo apt install isc-dhcp-server -y
Kalau di CentOS/RHEL:
sudo yum install dhcp-server
# atau
sudo dnf install dhcp-server
Step 2: Konfigurasi Interface DHCP
File pertama yang perlu diedit buat tentuin interface mana yang bakal jalanin DHCP:
sudo nano /etc/default/isc-dhcp-server
Cari baris INTERFACESv4 dan masukin nama interface kalian:
INTERFACESv4="eth1"
# kalau IPv6 juga mau aktif:
INTERFACESv6=""
Ganti eth1 sesuai interface yang kalian pake buat jaringan lokal.
Step 3: Setting File Konfigurasi Utama
File konfigurasi utama DHCP ada di /etc/dhcp/dhcpd.conf. Backup dulu file aslinya biar aman:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup
sudo nano /etc/dhcp/dhcpd.conf
Hapus semua isi file (atau comment out) dan ganti dengan konfigurasi berikut:
# Konfigurasi global
option domain-name "local.lan";
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
# Cek apakah DHCP authoritative untuk subnet ini
authoritative;
# Subnet declaration
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name-servers 192.168.1.1, 8.8.8.8;
# Lease time dalam detik
default-lease-time 600;
max-lease-time 7200;
}
Penjelasan konfigurasi:
- subnet: Network address yang bakal dikelola DHCP
- range: Rentang IP yang bisa dipinjamkan ke client (192.168.1.10 sampai 192.168.1.100)
- routers: IP gateway/default route
- domain-name-servers: DNS server yang bakal dikasih ke client
Step 4: Setting Static IP untuk Server
Pastikan server DHCP kalian punya IP static di interface yang sama. Edit file netplan (Ubuntu 18.04+) atau /etc/network/interfaces (Ubuntu 16.04 ke bawah).
Contoh netplan (/etc/netplan/00-installer-config.yaml):
network:
version: 2
ethernets:
eth1:
addresses:
- 192.168.1.1/24
dhcp4: no
Apply konfigurasi:
sudo netplan apply
Step 5: Start dan Enable DHCP Service
Setelah konfigurasi selesai, start servicenya:
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
Cek status buat mastiin jalan dengan baik:
sudo systemctl status isc-dhcp-server
Kalau ada error, cek log di /var/log/syslog atau /var/log/messages:
sudo tail -f /var/log/syslog | grep dhcpd
Step 6: Konfigurasi Firewall
Jangan lupa buka port DHCP di firewall. DHCP pake port 67/UDP (server) dan 68/UDP (client).
sudo ufw allow 67/udp
sudo ufw allow 68/udp
# atau kalau pake iptables
sudo iptables -A INPUT -p udp --dport 67 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 68 -j ACCEPT
Step 7: Testing DHCP Client
Sekarang coba tes dari client device. Pastikan client diatur buat dapet IP otomatis (DHCP).
Di Linux client:
sudo dhclient -v eth0
Atau restart network manager:
sudo systemctl restart NetworkManager
Cek IP yang didapet:
ip addr show
Harusnya muncul IP dalam range yang kalian tentuin tadi (192.168.1.10 – 192.168.1.100).
Step 8: Monitoring Lease DHCP
Kalian bisa cek daftar IP yang lagi dipinjam client di file lease:
cat /var/lib/dhcp/dhcpd.leases
Atau pake perintah:
dhcp-lease-list
# kalau belum install:
sudo apt install isc-dhcp-client
Tips dan Troubleshooting
1. DHCP nggak jalan? Cek konfigurasi subnet harus match sama IP interface server. Kalau server di 192.168.1.1, subnet declaration harus 192.168.1.0.
2. Client nggak dapet IP?
- Pastikan kabel/network bener-bener nyambung
- Cek firewall nge-block atau nggak
- Pastikan nggak ada DHCP server lain di jaringan yang bikin konflik
3. Mau reserve IP buat device tertentu? Tambahin di dhcpd.conf:
host printer-lantai-2 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
Kesimpulan
Setup DHCP server di Linux ternyata nggak seseram yang dibayangin kan? Dengan isc-dhcp-server, kalian bisa ngelola IP address di jaringan dengan lebih efisien dan otomatis.
Intinya cuma: install → konfigurasi subnet → tentuin range IP → start service. Udah deh, client-client bakal dapet IP otomatis tanpa harus kalian pusingin satu per satu.