Cara Setup DHCP Server di Linux

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:

  1. Akses root atau sudo ke server Linux
  2. Interface network yang udah dikonfigurasi dengan IP static
  3. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *