Kamis, 03 Maret 2011

Konfigurasi DHCP (Dynamic Configuration Protocol) di Linux

DHCP (Dynamic Configuration Protocol)
1.    Pengertian
 
DHCP   (Dynamic   Configuration   Protocol)   adalah   layanan   yang   secara otomatis memberikan nomor IP kepada komputer yang memintanya. Komputer yang memberikan   nomor   IP  disebut   sebagai  DHCP  server,   sedangkan   komputer   yang meminta nomor   IP disebut   sebagai  DHCP Client. Dengan demikian administrator tidak perlu  lagi  harus  memberikan nomor   IP  secara manual  pada  saat  konfigurasi TCP/IP, tapi cukup dengan memberikan referensi kepada DHCP Server.Pada saat kedua DHCP client dihidupkan , maka  komputer tersebut melakukan request  ke  DHCP-Server  untuk mendapatkan nomor   IP.  DHCP menjawab dengan memberikan   nomor   IP   yang   ada   di   database   DHCP.   DHCP   Server   setelah memberikan nomor   IP,  maka   server  meminjamkan  (lease)  nomor   IP yang ada ke DHCP-Client dan mencoret nomor IP tersebut dari daftar pool.  Nomor IP diberikan bersama dengan subnet mask dan default gateway. Jika tidak ada lagi nomor IP yang dapat diberikan, maka client tidak dapat menginisialisasi TCP/IP, dengan sendirinya tidak dapat tersambung pada jaringan tersebut.


Setelah  periode   waktu   tertentu,   maka   pemakaian   DHCP   Client   tersebut dinyatakan selesai dan client tidak memperbaharui permintaan kembali, maka nomor IP tersebut dikembalikan kepada DHCP Server, dan server dapat memberikan nomor IP  tersebut  kepada  Client  yang membutuhkan.  Lama periode  ini  dapat  ditentukan dalam menit, jam, bulan atau selamanya. Jangka waktu disebut leased period.


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.

2.    Cara Kerja DHCP

DHCP menggunakan 4 tahapan proses untuk memberikan konfigurasi nomor IP. (Jika   Clietn punya NIC Card lebih dari satu dan perlu no IP lebih dari 1 maka proses DHCP dijalankan untuk setiap adaptor secara sendiri-sendiri) :
1.    IP Least Request : Client meminta nomor IP ke server (Broadcast mencari DHCP server).
2.    IP Least Offer : DHCP  server   (bisa  satu atau  lebih  server   jika memang ada 2 atau  lebih DHCP  server)  yang mempunyai  no  IP memberikan penawaran ke   client tersebut.
3.    IP Lease Selection : Client memilih penawaran DHCP Server yng pertama diterima dan kembali melakukan broadcast   dengan  message  menyetujui   peminjaman   tersebut kepada DHCP Server
4.    IP Lease Acknowledge : DHCP Server yang menang memberikan jawaban atas pesan tersebut berupa konfirmasi   no   IP   dan   informasi   lain   kepada   Client   dengan   sebuah ACKnowledgment.   Kemudian   client   melakukan   inisialisasi   dengan mengikat (binding) nomor IP tersebut dan client dapat bekerja pada jaringan tersebut.

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

3.    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 kebutuhan-kebutuhan sebagai berikut :

      1.    PC server DHCP (Linux CentOS) disetting IP statis 192.168.200.2
      2.    Memberikan alamat IP antara 192.168.200.226 dan 192.168.200.250 pada jaringan
      3.    Memberikan pada client setting-setting sebagai berikut : subnet mask 255.255.255.0,
             alamat broadcast  192.168.200.255, default gateway 192.168.200.1,  server DNS
             192.168.200.225, nama domain default adalah sugi.ind.ws, dan server WINS pada 
             192.168.200.226 (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 masing-masing 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.200.225, 192.168.200.226;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
range 192.168.200.226 192.168.200.250;
option routers 192.168.200.2;
}
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.

4.    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
             1.    Pastikan dulu DHCP sudah ada di Linux box dan login nya root
             2.    rpm -qa | grep dhcp
                    yast2-dhcp-server-2.14.1-5
                   dhcp-server-3.0.5-7
                   dhcp-3.0.5-7
                   dhcp-relay-3.0.5-7
                   dhcp-tools-1.6-61
                   dhcpcd-1.3.22pl4-241
            3.    Jika file diatas belum ada, gunakan fasilitas yast untuk mengintal software di atas.  Pada Linux
                   openSuse, dhcpd.conf diletakkan secara defaults di directory /etc,
            4.    Membuat konfigurasi DHCP : dengan mengedit file /etc/hdcpd.conf
            5.    nama Domain :sugi.com
                   option domain-name “sugi.com”;
            6.    IP DNS option domain-name-servers 192.168.200.225, 192.168.200.226;
            7.    Router / Gateway,option routers 192.168.200.1;ddns-update-style none;
                   default-lease-time 14400;
            8.    IP network dan netmask
                   subnet 192.168.200.2 netmask 255.255.255.0 {
            9.    Range IP untuk client dari 192.168.200.226  s/d 192.168.200.250
                   Ini untuk orang lain yang ingin bergabung, jadi mereka tinggal colok kabel aja
                   range 192.168.200.226. 192.168.200.250 ;
                   default-lease-time 14400;
                   max-lease-time 172800;
         10.    Setelah di konfigurasi, jalankan daemon dhcpd,  /etc/init.d/dhcpd start
         11.    Untuk melihat apakah IP addres sudah dipakai atau belum bisa dilihat di : tail -f /var/lib/dhcp/
                  db /dhcpd.leases

Begitulah sedikit share dari saya tentang cara instalasi dan setting Server DHCP menggunakan Linux dengan Client DHCP menggunakan platform Linux & Windows. Semoga dapat bermanfaat buat rekan-rekan Linuxers yang membutuhkan.

Tidak ada komentar:

Posting Komentar