#2-DHCP Server Relay

Apa Itu DHCP Relay?

Dalam jaringan yang kompleks, seringkali klien DHCP (perangkat yang meminta alamat IP) berada pada subnet yang berbeda dengan server DHCP. Router tidak meneruskan broadcast DHCP secara default karena akan membatasi lalu lintas broadcast dalam satu segmen jaringan saja. Di sinilah peran DHCP Relay menjadi penting.

DHCP Relay Agent adalah perangkat (biasanya router atau switch layer 3) yang bertindak sebagai perantara antara klien DHCP dan server DHCP yang berada di subnet berbeda. Cara kerjanya adalah sebagai berikut:

  1. Klien DHCP mengirimkan DHCP Discover
    Ketika klien dinyalakan atau baru terhubung ke jaringan, ia mengirimkan pesan broadcast DHCP Discover untuk mencari server DHCP.
  2. DHCP Relay menerima DHCP Discover
    Router yang dikonfigurasi sebagai DHCP Relay akan menerima broadcast ini pada interface yang terhubung ke klien.
  3. DHCP Relay meneruskan DHCP Discover (unicast)
    Alih-alih membuang paket broadcast, DHCP Relay meneruskan pesan DHCP Discover ke alamat IP server DHCP secara unicast. Dalam proses ini, DHCP Relay menambahkan informasi dirinya (biasanya IP address interface yang menerima request) ke dalam paket. Informasi ini digunakan oleh server DHCP untuk mengetahui subnet asal permintaan.
  4. Server DHCP menerima dan memproses
    Server DHCP menerima pesan dari DHCP Relay, melihat informasi subnet asal, dan memberikan penawaran alamat IP (DHCP Offer) yang sesuai dengan subnet klien.
  5. Server DHCP mengirimkan DHCP Offer (unicast) ke DHCP Relay
    DHCP Offer dikirimkan kembali ke alamat IP DHCP Relay.
  6. DHCP Relay meneruskan DHCP Offer (broadcast) ke klien
    DHCP Relay menerima DHCP Offer dan meneruskannya sebagai broadcast ke subnet klien.
  7. Klien DHCP mengirimkan DHCP Request
    Klien memilih salah satu penawaran dan mengirimkan DHCP Request (broadcast) untuk meminta alamat IP tersebut.
  8. DHCP Relay menerima dan meneruskan DHCP Request (unicast)
    DHCP Relay kembali menerima broadcast ini dan meneruskannya secara unicast ke server DHCP.
  9. Server DHCP mengirimkan DHCP ACK (unicast) ke DHCP Relay
    Server DHCP mengkonfirmasi pemberian alamat IP dengan mengirimkan DHCP ACK ke DHCP Relay.
  10. DHCP Relay meneruskan DHCP ACK (broadcast) ke klien
    DHCP Relay meneruskan DHCP ACK sebagai broadcast ke klien. Klien sekarang memiliki alamat IP, subnet mask, gateway, dan informasi DNS.

Manfaat menggunakan DHCP Relay

  • Sentralisasi server DHCP
    Memungkinkan satu server DHCP untuk melayani banyak subnet, sehingga memudahkan pengelolaan alamat IP.
  • Mengurangi lalu lintas broadcast
    Broadcast DHCP tidak perlu menjangkau seluruh jaringan.
  • Fleksibilitas desain jaringan
    Memungkinkan klien dan server DHCP berada di segmen jaringan yang berbeda.
  1. Klik menu IP
  2. Pilih submenu DHCP Relay
  3. Klik tombol Add (+)
  4. Ketik nama untuk DHCP Relay nya
  5. Pilih interface LAN
  6. Isikan atau ketik IP Server DHCP
  7. Ketik IP Address gateway LAN
  8. Klik tombol Apply
  9. Klik OK
  • Name: Berikan nama untuk konfigurasi relay (misalnya relay-subnet-192.168.100.0/24).
  • Interface: Pilih interface yang terhubung ke subnet klien yang membutuhkan layanan DHCP (ether2-LAN).
  • DHCP Server: Masukkan alamat IP server DHCP (172.16.100.1).
  • Local Address: Pilih alamat IP interface router pada subnet server DHCP (192.168.100.254). Ini adalah alamat yang akan digunakan oleh DHCP Server untuk mengirimkan balasan ke relay. Jika Anda memiliki beberapa alamat IP pada interface ini, pastikan Anda memilih yang benar. Anda juga bisa memilih 0.0.0.0 agar router memilih alamat IP yang sesuai secara otomatis.

Login ke server sebagai user root

login as: root
root@172.16.100.1's password:
Linux debian 6.1.0-34-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.135-1 (2025-04-25) x86_64

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@debian:~#

Lakukan update terlebih dahulu

root@debian:~# apt update
Get:1 http://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:2 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 http://security.debian.org/debian-security bookworm-security/main Sources [129 kB]
Get:5 http://deb.debian.org/debian bookworm/non-free-firmware Sources [7,148 B]
Get:6 http://deb.debian.org/debian bookworm/main Sources [9,494 kB]

Fetched 25.2 MB in 59s (430 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
32 packages can be upgraded. Run 'apt list --upgradable' to see them.

Install paket isc-dhcp-server

root@debian:~# apt install isc-dhcp-server -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  policycoreutils selinux-utils
Suggested packages:
  policykit-1 isc-dhcp-server-ldap ieee-data
The following NEW packages will be installed:
  isc-dhcp-server policycoreutils selinux-utils
0 upgraded, 3 newly installed, 0 to remove and 32 not upgraded.
Need to get 1,766 kB of archives.
After this operation, 7,818 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main amd64 isc-dhcp-server amd64 4.4.3-P1-2 [1,479 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 selinux-utils amd64 3.4-1+b6 [126 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 policycoreutils amd64 3.4-1 [161 kB]
Fetched 1,766 kB in 3s (582 kB/s)
Preconfiguring packages ...
Selecting previously unselected package isc-dhcp-server.
(Reading database ... 33521 files and directories currently installed.)
Preparing to unpack .../isc-dhcp-server_4.4.3-P1-2_amd64.deb ...

Setting up isc-dhcp-server (4.4.3-P1-2) ...
Generating /etc/default/isc-dhcp-server...
Job for isc-dhcp-server.service failed because the control process exited with error code.
See "systemctl status isc-dhcp-server.service" and "journalctl -xeu isc-dhcp-server.service" for details.
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
× isc-dhcp-server.service - LSB: DHCP server
     Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
     Active: failed (Result: exit-code) since Mon 2025-05-19 07:10:55 WIB; 6ms ago
       Docs: man:systemd-sysv-generator(8)
    Process: 1538 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
        CPU: 17ms

debian dhcpd[1550]: bugs on either our web page at www.isc.org or in the README file
debian dhcpd[1550]: before submitting a bug.  These pages explain the proper
debian dhcpd[1550]: process and the information we find helpful for debugging.
debian dhcpd[1550]:
debian dhcpd[1550]: exiting.
debian isc-dhcp-server[1538]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
debian isc-dhcp-server[1538]:  failed!
debian systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE
debian systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
debian systemd[1]: Failed to start isc-dhcp-server.service - LSB: DHCP server.
Processing triggers for man-db (2.11.2-2) ...
root@debian:~#

root@debian:~# nano /etc/dhcp/dhcpd.conf
# A slightly different configuration for an internal subnet.
subnet 172.16.100.0 netmask 255.255.255.0 {
  range 172.16.100.20 172.16.100.200;
  #option domain-name-servers ns1.internal.example.org;
  #option domain-name "internal.example.org";
  option routers 172.16.100.254;
  option broadcast-address 172.16.100.255;
  default-lease-time 600;
  max-lease-time 7200;
}

# A slightly different configuration for an internal subnet.
subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.10 192.168.100.200;
  option domain-name-servers 172.16.100.1,8.8.8.8;
  option domain-name "ns100.sekolah100.sch.id";
  option routers 192.168.100.254;
  option broadcast-address 192.168.100.255;
  default-lease-time 600;
  max-lease-time 7200;
}

Simpan dan Tutup File dengan menekan tombol F2 atau (Ctrl + X), lalu Y untuk menyimpan, dan Enter untuk keluar dari nano.

Mengarahkan layanan DHCP ke interface

root@debian:~# nano /etc/default/isc-dhcp-server
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="ens33"
#INTERFACESv6=""

Restart layanan DHCP Server dengan perintah /etc/init.d/isc-dhcp-server restart kemudian lihat statusnya apakah sudah berjalan dengan baik dengan perintah systemctl status isc-dhcp-server.service

root@debian:~# /etc/init.d/isc-dhcp-server restart
Restarting isc-dhcp-server (via systemctl): isc-dhcp-server.service.
 isc-dhcp-server.service - LSB: DHCP server
     Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
     Active: active (running) since Mon 2025-05-19 08:00:22 WIB; 11min ago
       Docs: man:systemd-sysv-generator(8)
    Process: 1814 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 1331)
     Memory: 3.9M
        CPU: 30ms
     CGroup: /system.slice/isc-dhcp-server.service
             └─1826 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf ens33

debian systemd[1]: Starting isc-dhcp-server.service - LSB: DHCP server...
debian isc-dhcp-server[1814]: Launching IPv4 server only.
debian dhcpd[1826]: Wrote 1 leases to leases file.
debian dhcpd[1826]: Server starting service.
debian isc-dhcp-server[1814]: Starting ISC DHCPv4 server: dhcpd.
debian systemd[1]: Started isc-dhcp-server.service - LSB: DHCP server.
debian dhcpd[1826]: DHCPREQUEST for 192.168.100.10 from 00:0c:29:5f:63:04 (IK-PC) via ens33
debian dhcpd[1826]: DHCPACK on 192.168.100.10 to 00:0c:29:5f:63:04 (IK-PC) via ens33
debian dhcpd[1826]: DHCPREQUEST for 192.168.100.10 from 00:0c:29:5f:63:04 (IK-PC) via ens33
debian dhcpd[1826]: DHCPACK on 192.168.100.10 to 00:0c:29:5f:63:04 (IK-PC) via ens33
  • Hubungkan Lapotp/PC klien ke interface ether2 Router Mikrotik.
  • Pastikan konfigurasi IP address pada klien diatur ke Obtain an IP address automatically (DHCP).
  • Restart atau release/renew alamat IP pada klien.
  • Periksa apakah klien mendapatkan alamat IP dari range yang dikonfigurasi pada DHCP Server Debian (192.168.100.10 – 192.168.100.200).
  • Periksa juga informasi gateway dan DNS server pada klien, pastikan sesuai dengan konfigurasi DHCP Server.

Dengan konfigurasi yang benar, klien pada subnet 192.168.100.0/24 akan memperoleh alamat IP dari DHCP Server yang berada pada subnet 172.16.100.0/24 melalui perantaraan Router Mikrotik sebagai DHCP Relay Agent.

Pastikan firewall pada kedua perangkat (Mikrotik dan Debian) tidak menghalangi lalu lintas DHCP (port UDP 67 dan 68). Secara default, Mikrotik mungkin memiliki firewall yang perlu disesuaikan jika ada aturan yang memblokir komunikasi antar interface. Pada Debian, pastikan ufw atau firewall lainnya mengizinkan traffic DHCP.

Semoga penjelasan ini membantu! Jika ada pertanyaan lebih lanjut, jangan ragu untuk bertanya.

Artikel & Tutorial

Terbaru

Topik

Kantor

Jl. dr. Wahidin Sudiro Husodo No.22,
Klaten Utara, Klaten 57432,
Jawa Tengah, INDONESIA.
Telp. 0272-321266

Terbaru

Galeri

Copyright © 2025  – TJKT SMK NEGERI 1 KLATEN – HYD