Bismillahi rohman nir rohim, Assalamu'alaikum wr. wb. Pada artikel ini, penulis mencoba untuk mempelajari apa itu Dynamic Host Configuration Protocol (DHCP, DHCP server-client dan relay-agent) secara generik, gunanya, cara bekerjanya dan bagaimana cara mengkonfigurasinya - dan berikut mencoba beberapa contoh aplikasi routing statis dan dinamis dengan menggunakan sistem operasi Linux CentOS dan aplikasi routing dinamis Quagga/Zebra. Artikel ini merupakan kelanjutan dari artikel sebelumnya tentang Linux VLAN - multilayer switching dan routing dinamis dengan Quagga http://opensource.telkomspeedy.com/foru … 66#p105866 - sehingga banyak referensi maupun konfigurasi yang dibutuhkan dalam artikel ini dirujuk kepada artikel sebelumnya. Tulisan ini bersifat generik dan umum (implementasi yang hampir sama/seragam antara satu perangkat router dengan router lainnya, perbedaan mungkin hanya masalah penulisan perintah). Tulisan ini dibuat secara sederhana (garis besar) dan tidak terlalu detil, sehingga pembaca wajib mencari sumber referensi utama/tambahan yang lebih akurat/terpercaya seperti dokumentasi RFC/Request for Comment, atau Wikipedia dsb. Sebagai alat peraga penulis menggunakan 3 komputer berisikan sistem operasi Linux CentOS versi 5.5 (download dan dokumentasi dapat dirujuk ke website Linux CentOS http://www.centos.org) dan sebuah switch unmanaged. Mohon dicatat bahwa artikel ini hanyalah sekedar contoh sederhana pada laboratorium terbatas (tidak untuk digunakan pada lingkungan produksi). Tujuan dan tahapan : 1. Dapat menjelaskan apa itu DHCP, DHCP server-client dan relay-agent (generik) dan bagaimana cara bekerjanya? kenapa dibutuhkan? referensi lanjut dapat disimak pada http://en.wikipedia.org/wiki/Dhcp 2. Dapat menyusun langkah konfigurasi DHCP server-client dan relay-agent pada sistem operasi Linux (generik), dan langkah troubleshooting yang diperlukan? (akan dibahas pada artikel ini) 3. Dapat membuat kesimpulan dari hasil belajar DHCP pada sistem operasi Linux (generik) secara keseluruhan Kebutuhan : 1. Pengetahuan dasar OSI dan TCP/IP layer 2. Pengetahuan dasar pengalamatan IP subnet 3. Pengetahuan dasar sistem operasi Linux CentOS 4. Pengetahuan dasar operasi routing statis (iproute2) 5. Pengetahuan dasar konfigurasi aplikasi routing dinamis (Quagga dengan RIP, OSPF atau BGP). http://i165.photobucket.com/albums/u66/rossonieri_1/SPEEDY/linux-quagga-sederhana1.png penjelasan : - bagian Linux VLAN - bagian Linux multilayer switch - bagian Linux routing dinamis dgn Quagga perhatikan pada skema contoh diatas bahwa ada 2 macam network yang akan dipergunakan (yang mempengaruhi protokol routing dinamis dan konfigurasi yang akan dipergunakan) : 1. jaringan broadcast 2. jaringan nonbroadcast multi access/NBMA - bagian DHCP : server DHCP berada pada r3, sedangkan klien DHCP berasal dari semua jaringan disekitarnya. perlengkapan : - sistem operasi Linux - aplikasi bridge-utils - aplikasi vconfig - aplikasi Quagga/Zebra - aplikasi dhcp - server peralatan : - network interface card/NIC/LAN-card/network adapter/kartu jaringan yang mendukung 802.1q VLAN (sila dirujuk ke data spesifikasi masing2 produk) langkah : - ikuti langkah sebelumnya http://opensource.telkomspeedy.com/foru … 66#p105866 bila menemukan kesulitan untuk memahami langkah dalam artikel ini. DHCP server dan dhcp-relay untuk VLAN memasang aplikasi DHCP server pada router : Code: [root@server5 ~]# yum search dhcp dhcp.i386 : DHCP (Dynamic Host Configuration Protocol) server and relay agent. [root@server5 ~]# yum install dhcp.i386 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: mirror.centos.org * centosplus: mirror.centos.org * contrib: mirror.centos.org * extras: mirror.nus.edu.sg * updates: mirror.centos.org Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package dhcp.i386 12:3.0.5-23.el5_5.2 set to be updated --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================== Installing: dhcp i386 12:3.0.5-23.el5_5.2 updates 868 k Transaction Summary =========================================================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 868 k Is this ok [y/N]: y Downloading Packages: dhcp-3.0.5-23.el5_5.2.i386.rpm | 868 kB 00:12 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : dhcp 1/1 Installed: dhcp.i386 12:3.0.5-23.el5_5.2 Complete! menyalin dan merubah berkas konfigurasi DHCP server untuk : - server1 (VLAN 11, 12, 51 dan 52) - server3 (VLAN 21, 22, 52 dan 53) - server5 (VLAN 31, 32, 51 dan 53) Code: [root@server5 ~]# cp /etc/dhcpd.conf /etc/dhcpd.conf.orig [root@server5 ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf cp: overwrite `/etc/dhcpd.conf'? y [root@server5 ~]# vi /etc/dhcpd.conf ---> sesuaikan isinya (konfigurasi berikut hanya sekedar contoh) ddns-update-style interim; ignore client-updates; # VLAN 31 - server5 subnet 192.168.31.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.31.1; option subnet-mask 255.255.255.0; # option nis-domain "domain.org"; option domain-name "contoh.lokal"; option domain-name-servers 192.168.1.1; # option time-offset -18000; # Eastern Standard Time option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.31.2 192.168.31.14; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address # host ns { # next-server marvin.redhat.com; # hardware ethernet 12:34:56:78:AB:CD; # fixed-address 207.175.42.254; # } } # VLAN 32 - server5 subnet 192.168.32.0 netmask 255.255.255.0 {} # VLAN 11 - server1 subnet 192.168.11.0 netmask 255.255.255.0 { option routers 192.168.11.1; option subnet-mask 255.255.255.0; # option nis-domain "domain.org"; option domain-name "contoh.lokal"; option domain-name-servers 192.168.1.1; # option time-offset -18000; # Eastern Standard Time option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.11.2 192.168.11.14; default-lease-time 21600; max-lease-time 43200; } # VLAN 12 - server1 subnet 192.168.12.0 netmask 255.255.255.0 {} # VLAN 21 - server3 subnet 192.168.21.0 netmask 255.255.255.0 {} # VLAN 22 - server3 subnet 192.168.22.0 netmask 255.255.255.0 { option routers 192.168.22.1; option subnet-mask 255.255.255.0; # option nis-domain "domain.org"; option domain-name "contoh.lokal"; option domain-name-servers 192.168.1.1; # option time-offset -18000; # Eastern Standard Time option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.22.2 192.168.22.14; default-lease-time 21600; max-lease-time 43200; } # VLAN 51 subnet 192.168.51.0 netmask 255.255.255.0 {} # VLAN 52 subnet 192.168.52.0 netmask 255.255.255.0 {} # VLAN 53 subnet 192.168.53.0 netmask 255.255.255.0 {} // begitu juga dgn VLAN lainnya, buatkan konfigurasi khusus untuk VLAN tersebut edit sesuai kebutuhan VLAN. aktifkan dhcp server pada interface spesifik untuk VLAN 31 : Code: [root@server5 ~]# man dhcpd [root@server5 ~]# dhcpd --help Internet Systems Consortium DHCP Server V3.0.5-RedHat Copyright 2004-2006 Internet Systems Consortium. All rights reserved. Usage: dhcpd [-p ] [-d] [-f] [-cf config-file] [-lf lease-file] [-tf trace-output-file] [-play trace-input-file] [-t] [-T] [-s server] [if0 [...ifN]] [root@server5 ~]# dhcpd -cf /etc/dhcpd.conf Internet Systems Consortium DHCP Server V3.0.5-RedHat Copyright 2004-2006 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/ Wrote 1 leases to leases file. Listening on LPF/br32/00:11:22:aa:bb:cc/192.168.32/24 Sending on LPF/br32/00:11:22:aa:bb:cc/192.168.32/24 Listening on LPF/br31/00:11:22:aa:bb:cc/192.168.31/24 Sending on LPF/br31/00:11:22:aa:bb:cc/192.168.31/24 Listening on LPF/eth1.53/00:11:22:aa:bb:cc/192.168.53/24 Sending on LPF/eth1.53/00:11:22:aa:bb:cc/192.168.53/24 Listening on LPF/eth1.51/00:11:22:aa:bb:cc/192.168.51/24 Sending on LPF/eth1.51/00:11:22:aa:bb:cc/192.168.51/24 No subnet declaration for eth0 (192.168.0.82). ** Ignoring requests on eth0. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth0 is attached. ** No subnet declaration for eth1 (10.4.4.3). ** Ignoring requests on eth1. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth1 is attached. ** Sending on Socket/fallback/fallback-net uji mekanisme DHCP untuk VLAN 31 dari sebuah mesin klien : Code: [admin@mk5] > /ip dhcp-client add interface=vlan31 comment=dhcp_vlan31 [admin@mk5] > /ip dhcp-client enable numbers=0 [admin@mk5] > /ip dhcp-client print Flags: X - disabled, I - invalid # INTERFACE USE-PEER-DNS ADD-DEFAULT-ROUTE STATUS ADDRESS 0 ;;; dhcp_vlan31 vlan31 yes yes bound 192.168.31.14/24 [admin@mk5] > /ping 192.168.31.1 count=2 192.168.31.1 64 byte ping: ttl=64 time=1 ms 192.168.31.1 64 byte ping: ttl=64 time<1 ms 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 0/0.5/1 ms [admin@mk5] > /ping 192.168.21.2 count=2 192.168.21.2 64 byte ping: ttl=62 time=4 ms 192.168.21.2 64 byte ping: ttl=62 time<1 ms 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 0/2.0/4 ms DHCP relay-agent memasang aplikasi DHCP server untuk me-relay permintaan IP DHCP pada server3 (dilakukan seperti pada contoh sebelumnya) Code: [root@server3 ~]# man dhcrelay [root@server3 ~]# dhcrelay --help Usage: dhcrelay [-p ] [-d] [-D] [-i interface] [-q] [-a] [-c count] [-A length] [-m append|replace|forward|discard] [server1 [... serverN]] mengaktifkan dhcrelay pada router (server3) dimana DHCP server berada pada server5 : Code: [root@server3 ~]# dhcrelay 192.168.31.1 Internet Systems Consortium DHCP Relay Agent V3.0.5-RedHat Copyright 2004-2006 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/ Listening on LPF/br22/00:33:33:aa:bb:cc Sending on LPF/br22/00:33:33:aa:bb:cc Listening on LPF/br21/00:33:33:aa:bb:cc Sending on LPF/br21/00:33:33:aa:bb:cc Listening on LPF/eth0.53/00:33:33:aa:bb:cc Sending on LPF/eth0.53/00:33:33:aa:bb:cc Listening on LPF/eth0.52/00:33:33:aa:bb:cc Sending on LPF/eth0.52/00:33:33:aa:bb:cc Listening on LPF/eth1/00:33:34:aa:bb:cc Sending on LPF/eth1/00:33:34:aa:bb:cc Listening on LPF/virbr0/00:00:00:00:00:00 Sending on LPF/virbr0/00:00:00:00:00:00 Listening on LPF/eth0/00:33:33:aa:bb:cc Sending on LPF/eth0/00:33:33:aa:bb:cc Sending on Socket/fallback uji dhcrelay pada server3 dari klien VLAN 22 : Code: [admin@mk3] > /ip dhcp-client print Flags: X - disabled, I - invalid # INTERFACE USE-PEER-DNS ADD-DEFAULT-ROUTE STATUS ADDRESS 0 vlan22 yes yes searching... [admin@mk3] > /ip dhcp-client print Flags: X - disabled, I - invalid # INTERFACE USE-PEER-DNS ADD-DEFAULT-ROUTE STATUS ADDRESS vlan22 yes yes bound 192.168.22.14/24 uji release-renew DHCP IP : Code: [admin@mk3] > /ip dhcp-client renew vlan22 [admin@mk3] > /ip dhcp-client print Flags: X - disabled, I - invalid # INTERFACE USE-PEER-DNS ADD-DEFAULT-ROUTE STATUS ADDRESS 0 vlan22 yes yes rebinding... 192.168.22.14/24 [admin@mk3] > /ip dhcp-client print Flags: X - disabled, I - invalid # INTERFACE USE-PEER-DNS ADD-DEFAULT-ROUTE STATUS ADDRESS 0 vlan22 yes yes bound 192.168.22.14/24 kesimpulan??? - dari sisi DHCP server??? - dari sisi segmen jaringan/relay-agent??? kredit - Linux CentOS http://www.centos.org referensi DHCP http://www.faqs.org/rfcs/rfc2131.html semoga bermanfaat smile sekedar catatan belajar jaringan komputer, bila ada kekurangan/kesalahan - mohon dikoreksi smile bila artikel ini membantu rekan2 semua, perkenankan abdi memohonkan bantuan sedekah bagi kaum dhuafa dan yatim-piatu disekitar kita semua, dan silahkan disalurkan sendiri secara langsung. atas kebaikannya, abdi ucapkan terima kasih smile Alhamdulillahi robbil alamin, Billahit taufiq wal hidayah, Wassalamu'alaikum wr. wb. Offline