Cisco : DHCP Server di Cisco IOS
π― Tujuan
Setelah membaca artikel ini, kamu bisa:
- menjelaskan kenapa alamat IP lebih baik dibagikan otomatis daripada diketik satu per satu;
- membuat DHCP pool di router Cisco dan mengisi jawaban yang dibutuhkan klien;
- menyisihkan alamat yang tidak boleh dibagikan sebelum pool dipakai;
- membaca bukti bahwa alamat benar-benar sudah dipinjamkan, bukan cuma "kelihatannya jalan";
- membuat satu router melayani subnet lain lewat relay agent (
ip helper-address).
Fokus kita bukan menghafal perintah, tapi paham satu pertanyaan kunci: pool mana yang menjawab permintaan siapa.
π Konteks nyata
Bayangkan loker di gym sekolah. Kamu datang, lalu petugas menyerahkan kunci loker kosong, sekaligus memberi tahu di mana kamar mandi, jam tutup, dan aturan gym.
Kamu tidak perlu memilih loker sendiri. Petugas yang tahu loker mana masih kosong, mana yang sudah dipinjam, dan kapan harus ditarik kembali.
DHCP bekerja seperti petugas itu. Klien cuma bilang "saya butuh alamat", lalu server menjawab lengkap: alamat IP, subnet mask, gateway, dan DNS.
Masalahnya, petugas bisa salah kalau daftar lokernya tidak rapi. Alamat yang seharusnya dipakai server justru ikut dibagikan, atau petugas di gedung lain tidak tahu harus bertanya ke siapa.
Di sinilah router Cisco masuk. Router bisa jadi petugas loker sekaligus papan pengumuman yang memberi tahu klien harus ke mana.
π§ Konsep singkat
DHCP bukan sekadar "bagi IP". Ada tiga hal yang harus kamu pisahkan dulu: daftar alamat, alamat yang dilarang dibagikan, dan catatan pinjaman.
Kalau ketiganya tercampur, gejalanya khas: klien dapat alamat aneh, dapat alamat tapi tidak bisa keluar, atau dua perangkat memakai alamat yang sama.
πΉ Empat pesan yang membentuk satu alamat
Prosesnya sering disebut DORA. Empat pesan, empat peran.
| Pesan | Arah | Isi singkat |
|---|---|---|
| DHCPDISCOVER | klien ke semua | "Ada server yang bisa meminjamkan alamat?" |
| DHCPOFFER | server ke klien | "Saya punya alamat ini, mau?" |
| DHCPREQUEST | klien ke semua | "Saya pilih tawaran dari server itu" |
| DHCPACK | server ke klien | "Sah, alamat itu milikmu sampai tanggal sekian" |
Klien mengirim DISCOVER dari 0.0.0.0 ke 255.255.255.255 karena belum punya alamat sama sekali. Server mendengar di UDP port 67, klien menunggu di UDP port 68.
Selain empat pesan itu ada DHCPDECLINE (klien menemukan alamat sudah dipakai), DHCPNAK (server menolak permintaan), dan DHCPRELEASE (klien mengembalikan alamat).
- π Angka penting: port server DHCP adalah 67/UDP, port klien 68/UDP. Lease bawaan Cisco IOS adalah 1 hari kalau kamu tidak menulis
lease. Perpanjangan diminta di 50% masa sewa (T1) dan dicoba ulang ke server mana pun di 87,5% (T2).
πΉ Tiga hal yang sering tertukar: pool, excluded, binding
Ini bagian paling penting. Banyak siswa bingung karena ketiganya terlihat "soal IP yang sama".
| Istilah | Perannya | Ditulis di mana |
|---|---|---|
| Pool | daftar alamat + jawaban yang dibagikan | ip dhcp pool <nama>
|
| Excluded | lubang yang tidak boleh dibagikan | global config, di luar pool |
| Binding | catatan siapa meminjam apa sampai kapan | dibuat otomatis oleh server |
Nama pool tidak menentukan subnet. Yang menentukan adalah baris network di dalamnya. Pool bernama LAN-SISWA tetap bisa melayani 192.168.20.0/24 kalau network-nya begitu.
Sebaliknya, ip dhcp excluded-address adalah perintah global, bukan perintah di dalam pool. Ini yang sering salah tempat.
- β οΈ Hati-hati:
ip dhcp excluded-addressbukan "alamat cadangan". Alamat yang di-exclude benar-benar tidak akan pernah ditawarkan. Kalau kamu meng-exclude seluruh /24, pool akan tampak ada tapi tidak pernah membagikan apa pun.
πΉ Siapa yang menjawab: server lokal atau relay
Kalau server DHCP berada di subnet yang sama dengan klien, broadcast DISCOVER didengar langsung. Field giaddr bernilai nol, lalu server mencocokkan permintaan dengan subnet di interface yang menerima broadcast.
Kalau server berada di subnet lain, router yang menerima broadcast menambahkan giaddr: alamat IP interface yang menerima permintaan tadi. Server memakai giaddr itu untuk memilih pool.
Jadi urutan berpikirnya:
- klien broadcast di subnetnya;
- router terdekat mengisi
giaddrdengan alamat interface penerima; - server memilih pool yang
network-nya cocok dengangiaddr; - jawaban dikirim balik ke
giaddr, bukan ke klien langsung.
- π‘ Tips: kalau satu interface punya alamat primer dan sekunder, IOS memeriksa subnet primer dulu sampai alamatnya habis, baru pindah ke sekunder. Jangan heran kalau pool sekunder "diam" padahal masih kosong.
πΉ Kenapa router perlu "titip suara"
Router tidak meneruskan broadcast secara default. Artinya DISCOVER dari klien tidak akan pernah sampai ke server di gedung sebelah.
Solusinya ip helper-address <ip-server> di interface yang menghadap klien. Perintah ini membuat router mendengar broadcast DHCP di interface itu, lalu meneruskannya sebagai unicast ke server.
- β οΈ Hati-hati:
ip helper-addressharus dipasang di interface masuk (sisi klien), bukan interface keluar menuju server. Salah sisi = tidak ada yang diteruskan, dan biasanya tidak ada pesan error apa pun.
Helper juga bukan hanya untuk DHCP. Secara bawaan ia ikut meneruskan beberapa UDP broadcast lain, seperti TFTP (69), DNS (53), time (37), NetBIOS (137β138), dan TACACS (49).
- π₯ Kasus nyata: sebuah lab SMK memasang
ip helper-addressdi interface fisikG0/0, padahal yang menerima broadcast adalah subinterfaceG0/0.20. Akibatnya 32 PC di VLAN 20 tidak dapat alamat sama sekali selama dua hari. Guru sempat menuduh kabel dan switch rusak, padahalshow ip dhcp server statisticsdi server menunjukkan nol paket Discover masuk. Setelah helper dipindah keG0/0.20, semua PC dapat alamat dalam hitungan detik.
π§© Istilah penting
| Istilah | Arti sederhana |
|---|---|
| DHCP | protokol yang membagikan alamat IP dan pengaturan jaringan secara otomatis |
| DHCP pool | kumpulan alamat + jawaban yang disiapkan server |
network |
baris yang menentukan subnet layanan sebuah pool |
| excluded-address | alamat yang dilarang dibagikan |
| binding | catatan peminjaman: alamat, identitas klien, masa berlaku |
| lease | masa sewa sebuah alamat |
| client-id | identitas klien, umumnya MAC address + tipe media |
| giaddr | alamat interface router yang meneruskan permintaan |
| relay agent | router yang meneruskan DHCP antar-subnet |
ip helper-address |
perintah untuk menyalakan relay di sebuah interface |
| default-router | gateway yang dikirim ke klien |
| conflict | kondisi dua perangkat memakai alamat yang sama |
| database agent | tempat menyimpan catatan binding agar tahan reboot |
π§ Praktik: DHCP Server di Cisco IOS
Kita pakai Packet Tracer. Siapkan satu router 2911, satu switch 2960, dan dua PC.
| Perangkat | Interface | Alamat |
|---|---|---|
| R1 | G0/0 | 192.168.10.1/24 |
| Switch | Fa0/1 | ke R1 G0/0 |
| Switch | Fa0/2, Fa0/3 | ke PC1, PC2 |
| PC1, PC2 | NIC | DHCP |
Rencana penyisihan: .1 untuk gateway, .10 server, .11 printer, .12 access point, .13β.20 CCTV dan perangkat uji. Jadi yang boleh dibagikan mulai .21.
πΉ Langkah 1: alamat dan interface
enable
configure terminal
hostname R1-DHCP
interface g0/0
ip address 192.168.10.1 255.255.255.0
no shutdown
end
show ip interface brief
- π§ͺ Uji cepat:
show ip interface briefharus menampilkanGigabitEthernet0/0dengan statusupdan protocolup. Kalau masihadministratively down,no shutdownbelum masuk.
πΉ Langkah 2: sisihkan alamat yang tidak boleh dibagikan
configure terminal
ip dhcp excluded-address 192.168.10.1 192.168.10.20
Satu baris ini menyisihkan 20 alamat sekaligus. Tulis sebelum pool dibuat supaya alamat itu tidak pernah sempat ditawarkan.
- β οΈ Hati-hati: kalau pool sudah telanjur membagikan alamat statis, memperbaiki excluded saja tidak menarik kembali alamat yang sudah dipegang klien. Kamu perlu
clear ip dhcp binding <alamat>satu per satu, atau tunggu lease habis.
πΉ Langkah 3: buat pool dan isi jawabannya
ip dhcp pool LAN-SISWA
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
dns-server 1.1.1.1 8.8.8.8
domain-name lab.smk.local
lease 0 8 0
end
Arti tiap baris:
networkmenentukan subnet yang dilayani pool ini. Ini baris paling menentukan.default-routeradalah gateway yang akan dipasang di PC klien.dns-serverbisa diisi sampai 8 alamat; klien mencoba berurutan.domain-namemengisi suffix domain, berguna untuk akses nama pendek.lease 0 8 0berarti 0 hari, 8 jam, 0 menit. Tanpa baris ini, bawaannya 1 hari.
- π Angka penting:
default-routerdandns-servermasing-masing menerima sampai 8 alamat.leasemenerima format hariβjamβmenit, atau kata kunciinfiniteuntuk masa sewa tanpa batas.
Periksa hasilnya:
show ip dhcp pool
show ip dhcp binding
show ip dhcp pool menampilkan nama pool, total alamat, leased, dan available. show ip dhcp binding masih kosong karena belum ada klien yang meminjam.
πΉ Langkah 4: uji klien dan baca bukti
Buka PC1, masuk ke tab Desktop β IP Configuration, pilih DHCP. Tunggu beberapa detik.
Kalau berhasil, PC akan menampilkan alamat di rentang .21 ke atas, gateway 192.168.10.1, dan DNS yang kamu isi.
Sekarang kembali ke router dan baca buktinya:
show ip dhcp binding
show ip dhcp conflict
show ip dhcp server statistics
show ip dhcp pool
Yang perlu kamu cari:
- binding: alamat, client-id (MAC), dan waktu kedaluwarsa. Satu baris = satu peminjaman sah.
- conflict: daftar alamat yang ditolak karena sudah dipakai perangkat lain. Idealnya kosong.
- statistics: jumlah Discover, Offer, Request, Ack. Kalau Discover naik tapi Offer nol, masalahnya di sisi server atau pool.
- pool: jumlah leased dan available. Kalau available nol, pool habis.
- π‘ Tips:
show ip dhcp server statisticsadalah alat pemisah masalah paling cepat. Discover masuk tapi Offer tidak keluar berarti server menolak melayani; Discover tidak masuk sama sekali berarti masalahnya di jalur atau relay, bukan di pool.
- π₯ Kasus nyata: lab komputer sebuah SMK memakai satu /24 untuk 60 PC, tetapi 100 alamat pertama sudah dipakai server CBT, printer, CCTV, dan access point tanpa dimasukkan ke excluded. Selama dua hari ujian, 18 PC mendapat
169.254.x.xdan tidak bisa membuka aplikasi.show ip dhcp conflictmenampilkan belasan alamat bertanda konflik, dan server membuang alamat-alamat itu dari pool. Setelah rentang statis di-exclude dan binding dikosongkan, semua PC dapat alamat normal, dan ujian tidak perlu diundur lagi.
πΉ Langkah 5: satu server melayani subnet lain (relay)
Sekarang bagian yang paling sering ditanya: bagaimana kalau server DHCP tidak berada di subnet klien?
Tambahkan router kedua. R1 menjadi gateway cabang, R2 menjadi server pusat.
| Perangkat | Interface | Alamat | Peran |
|---|---|---|---|
| R1 | G0/0 | 192.168.20.1/24 | gateway LAN cabang |
| R1 | G0/1 | 10.0.0.1/30 | link ke pusat |
| R2 | G0/0 | 10.0.0.2/30 | server DHCP pusat |
Di R2, siapkan pool untuk subnet cabang:
configure terminal
ip dhcp excluded-address 192.168.20.1 192.168.20.10
ip dhcp pool CABANG-20
network 192.168.20.0 255.255.255.0
default-router 192.168.20.1
dns-server 1.1.1.1
lease 0 4 0
exit
ip route 192.168.20.0 255.255.255.0 10.0.0.1
Baris ip route itu wajib. Ingat, server membalas ke giaddr = 192.168.20.1. Kalau R2 tidak punya rute ke subnet itu, jawabannya tidak akan pernah sampai.
Di R1, nyalakan relay di interface yang menghadap klien:
configure terminal
interface g0/0
ip helper-address 10.0.0.2
Sekarang PC di cabang akan mendapat alamat 192.168.20.x dengan gateway 192.168.20.1, walaupun pool-nya berada di R2.
- π§ͺ Uji cepat: jalankan
show ip dhcp bindingdi R2. Kalau alamat192.168.20.xmuncul di sana, relay bekerja. Kalau yang muncul justru alamat dari pool lain, berartigiaddryang diterima server tidak sesuai perkiraanmu.
- β οΈ Hati-hati: jangan pasang
ip helper-addressdi interface yang menuju server. Perintah ini bekerja pada paket yang masuk dari sisi klien. Salah sisi adalah penyebab relay gagal yang paling sering dan paling sunyi.
πΉ Langkah 6: simpan dan bersihkan
copy running-config startup-config
Kalau ini hanya lab, bersihkan supaya topik berikutnya tidak tercampur:
clear ip dhcp binding *
configure terminal
no ip dhcp pool LAN-SISWA
no ip dhcp pool CABANG-20
no ip dhcp excluded-address 192.168.10.1 192.168.10.20
πΉ Versi GUI Packet Tracer
Di Packet Tracer, router tidak punya menu GUI untuk DHCP. Semua konfigurasi pool harus lewat tab CLI.
Yang punya GUI adalah perangkat Server-PT (menu Services β DHCP). Itu server terpisah, bukan fitur IOS di router. Jangan tertukar: kalau gurumu meminta "DHCP di router", jawabannya CLI.
Beberapa hal yang berjalan normal di PT: ip dhcp pool, ip dhcp excluded-address, ip helper-address, show ip dhcp binding, dan show ip dhcp pool. Yang tidak realistis di PT adalah ip dhcp database ke server eksternal, karena tidak ada agent FTP/TFTP nyata di baliknya.
π Dipakai di dunia kerja
- Sekolah: lab 60 PC dipakai bergantian tiap jam pelajaran. Pool per VLAN, excluded untuk server CBT dan printer, lease pendek 4β8 jam supaya perangkat tamu tidak menahan alamat seharian.
- Kantor: karyawan berpindah ruang dan lantai. Satu server DHCP pusat dengan relay di tiap lantai jauh lebih rapi daripada menaruh server kecil di setiap ruang.
- Rumah sakit: perangkat medis dan printer label harus statis, jadi rentangnya disisihkan. WiFi tamu diberi pool terpisah dengan lease pendek agar tidak mencampur perangkat kritis.
- ISP dan warnet: alamat pelanggan tetap diikat ke MAC lewat manual binding, sementara pelanggan harian memakai pool dinamis dengan lease pendek.
- Industri: PLC dan HMI memakai alamat statis yang ketat, sedangkan laptop teknisi memakai DHCP. Pemisahan ini mencegah mesin produksi ikut terkonfigurasi ulang.
- Ritel multi-cabang: server DHCP berada di pusat, setiap toko cukup jadi relay. Menambah toko baru berarti menambah pool, bukan mengirim teknisi untuk mengonfigurasi server lokal.
β Verifikasi
| Perintah | Yang harus kamu lihat |
|---|---|
show ip interface brief |
interface up/up, alamat sesuai rencana
|
show ip dhcp pool |
nama pool, subnet, leased, available |
show ip dhcp binding |
satu baris per klien, ada waktu kedaluwarsa |
show ip dhcp conflict |
kosong, atau alamat yang perlu dibereskan |
show ip dhcp server statistics |
Discover, Offer, Request, Ack bertambah |
show running-config | section dhcp |
pool dan excluded tertulis rapi |
ping <ip-klien> dari router |
klien benar-benar hidup di jaringan |
- π§ͺ Uji cepat: dari PC klien jalankan
ipconfig /all(Windows) atauip a(Linux). Tiga hal wajib muncul: alamat di rentang pool, gateway yang kamu isi didefault-router, dan DNS yang kamu isi didns-server. Kalau alamat benar tapi gateway kosong, curigai barisdefault-routeryang belum masuk.
β οΈ Kesalahan umum & troubleshooting
| Gejala | Cek dulu | Penyebab umum |
|---|---|---|
Klien dapat 169.254.x.x |
show ip dhcp server statistics |
tidak ada pool, excluded terlalu lebar, atau relay tidak jalan |
| Dapat IP, gateway tidak bisa diping | show ip dhcp pool |
mask di network tidak sama dengan mask interface
|
| Dapat IP subnet lain | show ip dhcp binding, cek giaddr |
helper salah interface, atau ada pool yang lebih cocok |
%DHCPD-4-PING_CONFLICT_DETECTED |
show ip dhcp conflict |
alamat statis berada di dalam rentang pool |
| Pool tersedia nol | show ip dhcp pool |
lease terlalu panjang, excluded terlalu besar, atau klien menumpuk |
| Relay diam total | show ip interface |
ip helper-address terpasang di interface keluar
|
| Binding hilang setelah reload | show ip dhcp database |
tidak ada database agent, catatan hanya di memori |
| Klien ditolak terus (NAK) | show ip dhcp binding |
klien memegang alamat dari subnet lama |
| Pool dibuat tapi tak terpakai | show running-config |
salah ketik di baris network
|
- β οΈ Hati-hati: kalau kamu memakai konflik logging tanpa database agent, setelah reload server bisa melaporkan konflik palsu dan membuang alamat dari pool. Cisco menyarankan memakai database agent; kalau tidak ada, matikan pencatatan konflik dengan
no ip dhcp conflict logging.
- π‘ Tips: saat mendiagnosis, jangan mulai dari PC. Mulai dari
show ip dhcp server statisticsdi server. Dari situ kamu langsung tahu apakah permintaan sampai, atau masalahnya justru sebelum server.
π Catatan keamanan & etika
DHCP adalah layanan yang dipercaya begitu saja oleh klien. Siapa pun yang menjawab lebih cepat, dialah yang menang.
Karena itu rogue DHCP server jadi masalah nyata di kampus dan sekolah: siswa membawa router WiFi murah, mencolokkannya ke LAN, dan router itu otomatis membagikan alamat serta gateway miliknya sendiri. Klien yang memakai gateway asing bisa diarahkan, disadap, atau diputus.
Mitigasi di sisi switch:
ip dhcp snooping
ip dhcp snooping vlan 10,20
interface g0/1
ip dhcp snooping trust
Prinsipnya: hanya port uplink menuju server resmi yang dianggap trusted. Port yang menghadap siswa tidak boleh menjawab DHCP.
Dua hal lain yang perlu dijaga:
- Jangan pasang DHCP server di interface WAN. Permintaan dari luar bisa dijawab, dan kamu membocorkan struktur jaringanmu.
- Batasi forward-protocol helper. Helper meneruskan lebih dari DHCP; kalau tidak dibutuhkan, pangkas dengan
no ip forward-protocol udp <port>.
- β οΈ Hati-hati: menyalakan DHCP server di jaringan yang bukan milikmu bukan "iseng kecil". Efeknya bisa memutus puluhan pengguna sekaligus, dan di lingkungan kerja itu termasuk pelanggaran serius.
π Kesimpulan
DHCP di Cisco IOS berdiri di atas tiga hal: pool yang menyimpan alamat dan jawaban, excluded yang menjaga alamat penting, dan binding yang mencatat peminjaman.
Kalau klien berada di subnet lain, tambahkan relay lewat ip helper-address di interface yang menghadap klien, dan pastikan server punya rute balik ke giaddr.
Satu kebiasaan yang layak dibawa ke dunia kerja: jangan pernah menyimpulkan "DHCP rusak" sebelum membaca statistik di server. Di sana sudah tertulis apakah permintaan sampai, atau kamu sedang mencari masalah di tempat yang salah.
Langkah berikutnya: buat pool untuk dua VLAN sekaligus di lab-mu, lalu buktikan dengan show ip dhcp binding bahwa setiap klien mendapat alamat dari pool yang benar.
π Materi terkait
- Cisco : Konfigurasi VLAN di Switch Cisco β syarat sebelum DHCP dipisah per VLAN.
- Cisco : Trunk dan Inter-VLAN Routing (Router-on-a-Stick) β tempat subinterface dan helper sering bertabrakan.
- Cisco : Routing Statis di Cisco β rute balik ke
giaddrsering jadi penyebab relay gagal. - Cisco : OSPF Dasar β kalau jaringanmu sudah memakai routing dinamis.
- Cisco : Dasar CLI Cisco IOS (Mode dan Konfigurasi Awal) β ulang mode dan penyimpanan konfigurasi.
- Mikrotik : DHCP Server untuk LAN β bandingkan pendekatan yang sama di RouterOS.
π Referensi
- Cisco, *IP Addressing: DHCP Configuration Guide, Cisco IOS Release 15M&T β Configuring the Cisco IOS DHCP Server*: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/15-mt/dhcp-15-mt-book/config-dhcp-server.html
- Cisco, *Troubleshoot DHCP in Enterprise Networks*: https://www.cisco.com/c/en/us/support/docs/ip/dynamic-address-allocation-resolution/27470-100.html
- IETF, *RFC 2131 β Dynamic Host Configuration Protocol*: https://www.ietf.org/rfc/rfc2131.txt
- IETF, *RFC 2132 β DHCP Options and BOOTP Vendor Extensions*: https://www.ietf.org/rfc/rfc2132.txt