DHCP Pada Linux

DHCP server adalah sebuah service yg memberikan pelayanan dalam sebuah jaringan komputer dimana IP address (+ beberapa setting lain) tidak dipasang secara statis di masing2x komputer, melainkan diberikan oleh server secara dinamis (bisa juga statis tapi tetap diberikan oleh server, yg dikenal dg reservasi atau pencadangan IP address tertentu yg diberikan kepada komputer dg MAC address tertentu pula). Hal ini akan sangat membantu seorang administrator jaringan untuk mengelola suatu jaringan besar yg terdiri dari ratusan bahkan ribuan komputer dengan mempermudah pengelolaan jaringan dg memusatkan pengelolaan IP address jaringan dalam sebuah server. Jadi setiap komputer dalam jaringan akan meminta konfigurasi IP kepada server DHCP yg akan membagikan IP address sesuai konfigurasi yg dipasang di server tsb.
DHCP server berjalan di atas sistem Windows maupun Linux dg hampir tidak ada perbedaan dalam kemampuannya memberikan layanan utama berupa pemberian IP Address pada jaringan secara dinamis.
Karakteristik dari DHCP server yang berjalan di sistem Linux:
  1. Server dapat berjalan lebih cepat & stabil. Sistem-sistem Unix clone sudah diakui mempunyai reliabilitas yang sangat tinggi dalam menjalankan aplikasi-aplikasinya, dan ini berarti termasuk juga di Linux yang juga merupakan salah satu clone Unix. Linux juga seperti turunan Unix lain dapat dioperasikan hanya dengan command text saja. Ini berarti resource yang dibutuhkan server pasti lebih kecil daripada resource yang dibutuhkan untuk menjalankan software berbasis grafis seperti di sistem Windows.
  2. Dijalankan dengan dua aplikasi daemon untuk server dan client, misalnya : dhcpd (DHCP daemon) untuk server dan dhcpcd (DHCP client daemon) untuk client.
  3. File-file setting untuk DHCP di Linux umumnya diletakkan di dalam direktori /etc dan /var/lib/dhcp
  4. Setting DHCP dilakukan dalam sebuah file yaitu : /etc/dhcpd.conf dan akan menyimpan hasil transaksi penyewaan IP address di dalam sebuah file yang bernama /var/lib/dhcpcd.leases. Bila file ini tidak ada, DHCP tidak akan dapat bekerja.
  5. Setting relatif mudah karena hanya dipusatkan di satu file saja (/etc/dhcpd.conf) dan hanya terdiri dari beberapa baris perintah untuk memberikan layanan yang cukup lengkap.
Bagaimana DHCP bekerja dalam Linux
Client DHCP bekerja sebagai program level aplikasi. Sekalipun mengkonfigurasikan beberapa aspek mendasar dari operasi kernel sistem operasi, namun tidak perlu dijalankan sebagai kode kernel level. Dalam hal ini semua yang dilakukan client sebenarnya adalah :
  • Mengirim dan menerima beberapa paket UDP
  • Mengekstrak nilai dari jawaban DHCPACK
  • Menerapkan nilai tersebut pada sistem, seperti yang dilakukan ifconfig atau route.
Sedikit kesulitannya adalah client harus menangani lease DHCP sehingga setiap kali ia harus menghubungi server untuk memperpanjang lease terbaru. Untuk alasan ini, client berjalan sebagai “daemon”, yaitu aplikasi yang berjalan pada background, tidak terkoneksi ke terminal apapun (hal ini menjelaskan nama client dhcpcd, sekalipun untuk pertamakalinya akan tampak membingungkan).
Detail lease dicatat dalam dalam suatu file teks. Sekalipun mesin tersebut reboot dalam masa itu, client DHCP dapat menggunakan informasi ini pada saat berikutnya client me-request lease dari server DHCP. Dengan demikian satu mesin dapat menggunakan IP yg sama selama beberapa lama sekalipun alamat tersebut dialokasikan secara dinamis. Informasi ini juga disimpan dalam file dhcpcd.leases yg biasanya terdapat dalam direktodi /var/lib/dhcp
Instalasi DHCP server pada Linux
Cara menginstall server DHCP pada Linux relatif mudah. Di sini saya menggunakan Linux CentOS 5.1 yang merupakan turunan dari Red Hat Linux sehingga dapat menggunakan paket instalasi RPM yang lebih mudah. Perintah text instalasi secara manual misalnya seperti ini (sbg root) :
# yum install -y dhcpd dhcp-server dhcp-client dhcp-common
maka sistem akan menginstalkan paket instalasi DHCP server. Bila ada dependensi harus diinstall dulu secara manual.
# rpm –qa | grep dhcp
maka sistem akan menampilkan software-software terinstall yang mengandung kata “dhcp”.
Setelah instalasi selesai, sistem akan membuat file-file konfigurasi untuk DHCP yang terdiri dari 2 file utama yang harus ada untuk dapat menjalankan aplikasi DHCP yang diinstall, yaitu :
  • /etc/dhcpd.conf
  • /var/lib/dhcp/dhcpcd.leases
Isi dari file /etc/dhcpd.conf yang digunakan untuk memberikan layanan DHCP server pada jaringan bisa di setting sesuai kebutuhan dan dapat dipakai oleh DHCP client baik dari sistem Linux maupun dari sistem Windows. File /var/lib/dhcpd/dhcpcd.leases juga harus ada walaupun pada awalnya hanya sebuah file kosong. Tanpa file ini DHCP tidak akan berjalan. Sebagai contoh di sini kita akan setting server DHCP untuk kebutuhan2x sebagai berikut :
1. PC server DHCP (Linux CentOS) disetting IP statis 192.168.0.1
2. Memberikan alamat IP antara 192.168.0.11 dan 192.168.0.100 pada jaringan
3. Memberikan pada client setting-setting sebagai berikut : subnet mask 255.255.255.0, alamat broadcast 192.168.0.255, default gateway 192.168.0.1, server DNS 192.168.0.10, nama domain default adalah dodi.ind.ws, dan server WINS pada 192.168.0.11 (untuk client windows versi lama)
4. Memberikan lease-lease untuk waktu default 6 jam dan maximal 12 jam
Untuk kebutuhan setting seperti itu maka isi file /etc/dhcpd.conf harus diedit & disesuaikan sehingga menjadi seperti ini yg sudah diberikan keterangan penggunaan masing2x barisnya.
ddns-update-style none;
subnet 10.130.239.0 netmask 255.255.255.0 {
option domain-name “dodi.ind.ws”;
option domain-name-servers 192.168.0.10, 192.168.0.11;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

range 192.168.0.11
192.168.0.100;
option routers 192.168.0.1;

}
Dan kemudian untuk menjalankannya harus dilakukan restart terhadap service-nya dulu :
# /etc/rc.d/init.d/dhcpd restart
Perintah ini juga harus selalu dilakukan setelah melakukan perubahan apapun pada isi file /etc/dhcpd.conf. Kemudian apabila menghendaki agar DHCP server selalu start secara otomatis pada saat komputer dijalankan, maka perintah “/etc/rc.d/init.d/dhcpd start” harus dimasukkan dalam file /etc/rc.local yang berfungsi seperti file autoexec.bat dalam sistem Windows.
Instalasi DHCP Client
Memperoleh IP address dinamis server DHCP dari PC client dilakukan dengan cukup mudah baik pada sistem Windows maupun pada sistem Linux. Dan keduanya juga dapat dikonfigurasi dengan menggunakan utility grafis maupun text command. Cara instalasinya misalnya seperti demikian :
1. Client Windows XP Professional SP2.
Dari client Windows bisa dilakukan setting untuk permintaan IP addres di server dengan memilih Obtain dalam halaman setting Control Panel – Network.
Atau juga dapat dengan command text di command prompt dengan mengetikkan di Command Prompt perintah untuk meminta lease IP address baru pada server DHCP :
C:\> ipconfig /renew
Dan bila diinginkan untuk menghapus konfigurasi lesase DHCP yang sedang berjalan digunakan perintah :
C:\> ipconfig /release
Untuk melihat konfigurasi yang telah terpasang, gunakan perintah :
C:\> ipconfig /all
2. Client Linux openSUSE 10.2
Untuk DHCP client di Linux juga relatif mudah memasangnya, pertama dengan menyesuaikan setting di file /etc/sysconfig/network/ifcfg-eth0-[mac-address] seperti gambar berikut. Catatan : path dan nama file bisa tidak sama tergantung distro Linux yang dipakai. Path dan nama file tadi adalah untuk distro Linux openSUSE 10.2 yang saya pakai di sini.
Kemudian cek apakah aplikasi dhcpcd sudah terinstall di komputer Linux yg akan dijadikan DHCP client (cat : untuk distro selain openSUSE mungkin bisa berbeda) :
# rpm -qa |grep dhcpcd
Kalau belum terinstall, install dulu dengan menggunakan tool YaST untuk software DHCP client. Bisa lakukan dg memasukkan kata “dhcpcd” di kolom search software. Setelah muncul, beri check lalu jalankan instalasi. Setelah instalasi selesai ulangi pengecekan di shell dg perintah yg sama.
Kemudian gunakan command text seperti berikut untuk melepas lease IP (dhcpcd –d –k eth0) dan merequest IP address dari server DHCP (dhcpcd –d –B eth0):
Opsi –k >>> adalah untuk melepas lease IP yang sedang berjalan
Opsi -B >>> adalah untuk meminta lease IP baru pada server DHCP
Opsi -d >>> adalah agar dhcpcd mengirimkan banyak informasi ke file /var/log/messages yang akan berguna untuk mengetahui seriap detail proses yang terjadi, termasuk untuk memudahkan troubleshooting bila ada suatu masalah yang terjadi. File tersebut salah satu file log terpenting dalam Linux yang mencatat hampir semua peristiwa yang terjadi dalam sistem, termasuk semua yang terjadi pada saat koneksi DHCP server & client terbentuk.
# tail –f /var/log/messages
Pada client DHCP yang menggunakan Linux, apabila menggunakan konfigurasi DHCP untuk mendapatkan nama domain dan alamat DNS server dalam jaringan, maka setelah client mendapatkan lease IP baru dari server DHCP, maka otomatis DHCP akan merubah isi file /etc/resolv.conf yaitu sebuah file yang berisi konfigurasi nama domain & alamat DNS server untuk komputer yang bersangkutan. Sehingga bila file itu sudah berisi suatu setting tertentu secara manual, maka DHCP akan menghapusnya dan menggantinya dengan konfigurasi yang ada di server DHCP. Sebenarnya hal ini bisa dihindari dengan menambahkan satu opsi lagi dalam command text sewaktu meminta lease IP baru dari server. Opsi-opsi itu dapat dilihat dengan menjalankan perintah :
# man dhcpcd
atau
# dhcpcd –help
Setelah ada DHCP client yang meminta lease IP baru ke server DHCP, maka dhcpd akan menuliskan setiap penyewaan IP yang terjadi ke sebuah file yang bernama : /var/lib/dhcp/dhcpcd.leases di server DHCP.
Begitulah sedikit share dari aku tentang cara instalasi dan setting Server DHCP menggunakan Linux dg Client DHCP menggunakan platform Linux & Windows. Semoga dapat bermanfaat buat rekan2x Linuxers yg membutuhkan.

Comments

Popular Posts