DHCP Server - Kelas XI TKJ

Dynamic Host Configuration Protocol (DHCP)

DHCP adalah protokol yang mengotomatisasi pemberian alamat IP, subnet mask, gateway, dan DNS kepada perangkat di jaringan. Dengan DHCP, pengelolaan jaringan menjadi lebih efisien.

1. Konsep DHCP

DHCP (Dynamic Host Configuration Protocol) merupakan layanan jaringan yang secara otomatis memberikan informasi konfigurasi IP kepada klien. Hal ini membuat setiap perangkat bisa langsung terkoneksi ke jaringan tanpa harus diatur manual.

2. Kegunaan DHCP

3. Proses DHCP (DORA)

Proses kerja DHCP menggunakan mekanisme DORA:

  1. Discover → Klien mencari server DHCP.
  2. Offer → Server menawarkan alamat IP.
  3. Request → Klien meminta alamat IP yang ditawarkan.
  4. Acknowledgment → Server mengonfirmasi dan memberikan alamat IP.
Proses DORA

4. Jenis Alokasi DHCP

DHCP dapat memberikan alamat IP kepada klien dengan tiga metode alokasi:

5. DHCP Scope, Lease, dan Option

6. Instalasi & Konfigurasi DHCP Server

Contoh instalasi DHCP Server pada Linux (Ubuntu 20.04):

# Update & instalasi DHCP Server
sudo apt update
sudo apt install isc-dhcp-server -y

# Edit konfigurasi utama
sudo nano /etc/dhcp/dhcpd.conf

# Tambahkan konfigurasi:
subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.100 192.168.10.200;
  option routers 192.168.10.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option domain-name "";
  option broadcast-address 192.168.10.255;
  default-lease-time 600;
  max-lease-time 7200;
}

# Restart layanan
sudo systemctl restart isc-dhcp-server

# Cek status
sudo systemctl status isc-dhcp-server
      

7. Memilih Interface dan Konfigurasi IP

Sebelum menjalankan DHCP Server, kita perlu memilih interface mana yang akan digunakan dan mengkonfigurasi IP statis pada interface tersebut:

a. Mengetahui Interface yang Tersedia

# Lihat daftar interface yang tersedia
ip link show

# Atau gunakan perintah:
ip -a
        

b. Menentukan Interface untuk DHCP Server

Biasanya kita akan menggunakan:

  • eth0 atau ens33 untuk koneksi LAN/internal
  • wlan0 untuk koneksi wireless
# Edit file konfigurasi interface DHCP
sudo nano /etc/default/isc-dhcp-server

# Tentukan interface yang akan digunakan (contoh: eth1)
INTERFACESv4="eth1"
INTERFACESv6=""
        

c. Konfigurasi IP Statis pada Interface

# Edit konfigurasi network (Ubuntu 20.04 menggunakan netplan)
sudo nano /etc/netplan/01-netcfg.yaml

# Contoh konfigurasi untuk eth1:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth1:
      addresses: [192.168.10.1/24]
      dhcp4: no

# Terapkan konfigurasi
sudo netplan apply
        

8. Konfigurasi Sharing Internet ke Client

Untuk membagikan koneksi internet dari server ke client melalui DHCP, kita perlu mengaktifkan IP forwarding dan mengatur NAT (Network Address Translation).

a. Mengaktifkan IP Forwarding

# Edit sysctl.conf untuk mengaktifkan IP forwarding
sudo nano /etc/sysctl.conf

# Hilangkan tanda # pada baris berikut:
net.ipv4.ip_forward=1

# Atau gunakan perintah langsung:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

# Untuk perubahan permanen, jalankan:
sudo sysctl -p
        

b. Mengatur NAT dengan iptables

# Asumsi:
# - eth0: interface yang terhubung ke internet
# - eth1: interface yang terhubung ke client (DHCP)

# Atur NAT untuk sharing internet
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

# Simpan aturan iptables agar tetap aktif setelah reboot
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
        

c. Konfigurasi DHCP untuk Sharing Internet

# Edit konfigurasi DHCP
sudo nano /etc/dhcp/dhcpd.conf

# Tambahkan konfigurasi berikut:
subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.100 192.168.10.200; #range IP yang sudah di hitung
  option routers 192.168.10.1; # IP server pada interface yang menerima internet (enp0s3)
  option domain-name-servers 8.8.8.8, 8.8.4.4; #DNS google bisa di tambahkan juga IP server
  option domain-name "tkjsmkn5bdg.my.id"; #DNS TKJ (optional)
  option broadcast-address 192.168.10.255; #Broadcast address yang sudah di hitung 
  default-lease-time 600;
  max-lease-time 7200;
}

# Restart layanan DHCP
sudo systemctl restart isc-dhcp-server
        

d. Testing Koneksi

# Cek apakah client mendapatkan IP dari DHCP
# Pada client, jalankan:
sudo dhclient -r  # Hapus lease lama
sudo dhclient     # Minta IP baru

# Cek IP yang didapat
ip addr show

# Test koneksi internet
ping 8.8.8.8
ping google.com
        

9. Evaluasi

Jawablah pertanyaan berikut untuk mengukur pemahaman:

  1. Apa fungsi utama DHCP Server?
  2. Sebutkan urutan proses kerja DHCP (DORA)!
  3. Apa perbedaan Dynamic, Automatic, dan Manual Allocation pada DHCP?
  4. Jelaskan pengertian DHCP Scope, Lease, dan Option!
  5. Bagaimana cara memilih interface yang akan digunakan untuk DHCP Server?
  6. Apa langkah-langkah untuk melakukan sharing internet melalui DHCP Server?
  7. Tuliskan contoh konfigurasi DHCP dengan rentang IP 192.168.20.50 - 192.168.20.100!