Friday, May 19, 2006

Bikin DHCP Server Linux

Tujuan utama dari penggunaan Dynamic Host Configuration Protocol adalah untuk memberikan pengaturan IP address secara tersentralisasi melalui suatu server daripada harus melakukan konfigurasi satu persatu pada setiap mesin klien. Sebuah mesin klien yang dikonfigurasi menggunakan DHCP tidak dapat mengatur IP address secara static dengan sendirinya, semuanya diatur dan ditentukan oleh server DHCP yang telah ditentukan.

Salah satu cara dalam penggunaan DHCP adalah dengan mengenali alamat hardware terlebih dahulu dari setiap network card (MAC Address, biasanya alamat ini fixed) kemudian memberikan klien tersebut setting IP address yang identik setiap kali ia terhubung ke server. DHCP juga dapat di konfigurasi sedemikian rupa sehingga server DHCP dapat memberikan alamat-alamat IP secara dinamis pada host yang terhubung dengannya, dengan menggunakan range IP address yang telah ditentukan. Pada kasus ini server DHCP akan mencoba memberikan alamat yang sama pada mesin klien setiap kali host itu meminta alamat ke server (walaupun untuk waktu yang cukup lama). Hal ini tentu saja tidak berfungsi dengan baik, bila pada jaringan tersebut terdapat lebih banyak host komputer dibandingkan alamat yang di siapkan oleh server.

Dengan kelebihan ini, DHCP membuat kerja para administrator jaringan menjadi lebih mudah. Setiap kali ada perubahan yang terkait dengan pengalamatan dan konfigurasi pada jaringan secara global, dapat di implementasikan secara tersentral dengan hanya melakukan perubahan file konfigurasi pada server. Hal ini tentu saja lebih efisien daripada Anda harus melakukan setting atau men-setup pada tiap-tiap host (mesin klien). Disamping itu sangat mudah bagi kita untuk mengintegrasikan mesin-mesin (host), terutama mesin yang baru ke dalam jaringan karena mesin-mesin tersebut akan mendapatkan alamat melalui pooling alamat yang dibuat pada server.

Sebuah server DHCP tidak hanya memberikan alamat IP dan netmask-nya saja, tetapi juga memberikan host name (nama host), domain name, gateway, dan name server (DNS) yang digunakan oleh mesin klien tersebut. DHCP juga dapat memiliki beberapa parameter lain seperti penggunaan time server yang dapat di akses oleh setiap klien.

Menginstall dan Mengkonfigurasi DHCP Server Software DHCP baik server maupun untuk klien umumnya sudah di paketkan dalam distro-distro Linux. Server DHCP yang disediakan pada Linux adalah dhcpd (dikeluarkan oleh Internet Software Consortium). Pada sisi klien ada yang menggunakan aplikasi dhclient (juga dari ISC) atau DHCP client daemon yang terdapat pada paket dhcpd.

Bagian utama dari setiap sistem DHCP adalah daemon dynamic host configuration protocol. Daemon dhcpd ini leases alamat-alamat dan dan memperhatikan bagaimana mereka menggunakannya, sesuai dengan setting yang terdapat pada file konfigurasi di /etc/dhcpd.conf. Dengan mengubah parameter-parameter yang ada, kita dapat akan terbiasa dengan program ini.

Untuk menginstall dan mengkonfigurasi DHCP server ini, silakan ikuti langkah-langkah dibawah ini:

Langkah 1: Baca man page
Seperti biasanya, untuk mendapatkan pengertian yang lebih dalam mengenai daemon yang berjalan di Linux, silakan baca man page yang terkait dengan paket DHCP ini.

Pada bahasan kali ini silakan baca man page dhcpd dan dhcpd.conf, gunakan perintah berikut ini:

$ man dhcpd

dan

$ man dhcpd.conf

Langkah 2: Memastikan paket dhcpd telah terinstall
Dengan asumsi bahwa Anda telah melakukan instalasi paket dhcpd melalui installer Linux, maka kita hanya akan memastikan bahwa paket tersebut telah terinstall, gunakan perintah berikut ini:

$ rpm -qa |grep dhcpd-server

Bila belum ada lakukan instalasi melalui installer Linux.

atau gunakan perintah ini, untuk semua paket DHCP yang terinstall (server dan client):

$ rpm -qa |grep dhcp

Langkah 3: Mengedit file konfigurasi /etc/dhcpd.conf
Gunakan editor vi untuk mengedit file /etc/dhcpd.conf

$ vi /etc/dhcpd.conf

File /etc/dhcpd.conf adalah file konfigurasi utama dari daemon dhcpd (dhcp), berikut adalah contoh sederhana dari file konfigurasi /etc/dhcpd.conf:

default-lease-time 600; # 10 minutes
max-lease-time 7200; # 2 hours

option domain-name mutiaracyber.com;
option domain-name-servers 192.168.0.1, 192.168.0.10;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option subnet-mask 255.255.255.0;

subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.10 192.168.0.20;
range 192.168.0.100 192.168.0.200;
}
Dengan konfigurasi diatas tersebut server DHCP sudah dapat berfungsi untuk memberikan alamat IP kepada host yang terhubung pada jaringannya. Pastikan Anda mengetik tanda colon (;) pada setiap akhir baris agar file konfigurasi ini dapat berfungsi dengan benar. Bila diperhatikan terlihat bahwa file konfigurasi ini terdiri dari tiga bagian:

Bagian pertama mendefinisikan berapa lama sebuah IP address di leased kepada host yang meminta dengan nilai default yang telah ditentukan, sebelum host itu harus melakukan pendaftaran kembali. Pada bagian ini juga diperlihatkan pernyataan yang menunjukkan berapa lama periode maksimum sebuah host untuk menahan IP address yang diterimanya dari server DHCP sebelum ia harus memperbaharuinya lagi (max-lease-time).

Pada bagian kedua, beberapa parameter network didefinisikan secara global:

  • option domain-name mendefinisikan domain default dari jaringan.
  • option domain-name-servers dapat berisi sampai dengan 3 alamat DNS server yang digunakan untuk me-resolve jaringan.
  • option broadcast-address digunakan mendefinisikan alamat broadcast dari jaringan.
  • option routers adalah alamat gateway yang memberitahukan kepada jaringan ke mana paket data harus diteruskan bila tidak terletak pada jaringan lokal.
  • option subnet-mask menentukan netmask yang akan diberikan kepada klien.

Bagian terakhir adalah mendefinisikan network dan netmask. Pada bagian ini ditentukan range IP address yang akan diterima oleh klient yang meminta alamat ke server DHCP. Pada contoh ini IP yang disiapkan adalah range 192.168.0.10  192.168.0.20 dan range 192.168.0.100  192.168.0.200.

Setelah selesai mengatur konfigurasi /etc/dhcpd.conf diatas, Anda dapat segera menjalankan daemon dhcpd, lihat langkah 4 dibawah.

Mengatur host dengan IP Address Fixed. Selain untuk penggunaan IP addres seperti diatas, DHCP juga dapat mengatur IP address untuk host yang memerlukan pengalamatan yang tetap (fixed IP Address). Secara sederhana sebenarnya server DHCP hanya memerlukan alamat hardware dari network card untuk memberikan IP address secara fixed. Alamat hardware ini yang biasa disebut dengan MAC Address, adalah alamat unik dari setiap network card yang tidak mungkin sama. Alamat ini terdiri dari 48 bit bilangan hexadecimal (contoh : 00:0C:6E:EA:F8:D1). Untuk melakukan konfigurasi ini tambahkan pada file konfigurasi /etc/dhcpd.conf diatas baris berikut :

host education {
hardware ethernet 00:0C:6E:EA:F8:D1
fixed-address 192.168.0.111
}

Pada baris diatas terlihat host diberi nama education, kemudian hardware address adalah MAC address dari ethernet card pada host tersebut. Setelah menemukan alamat hardware yang sesuai dengan catatan pada konfigurasi ini, kemudian server DHCP akan memberikan IP address 192.168.0.111

Untuk mengetahui MAC address, pada Linux Anda dapat menggunakan perintah ifstatus di ikuti dengan nama device tersebut, mis: eth0, kemudian lihat pada bagian link/ether.

Langkah 4: Menjalankan Server DHCP Sebelum Anda menjalankan daemon dhcpd, Anda harus melakukan sedikit perubahan pada file /etc/sysconfig/dhcpd pada parameter :

DHCPD_INTERFACE =eth0 —> sesuaikan interface ini dengan sistem Anda.

Setelah melakukan hal tersebut diatas, kini tiba saatnya kita mengaktifkan Server DHCP tersebut. Seperti pada service Linux lainnya, kita dapat menjalankan server DHCP ini menggunakan cara :

$ /etc/init.d/dhcpd start

Pengaturan DHCP Server via Browser Sama halnya dengan pengaturan service lainnya, Server DHCP juga dapat diatur melalui browser menggunakan aplikasi webmin. Untuk menggunakan aplikasi ini Anda terlebih dahulu harus mengginstall paket webmin, kemudian pengaturan Server DHCP dapat dilakukan menggunakan browser melalui URL https://localhost:10000 pada tempat host yang menjalankan Server DHCP tersebut.

Anda akan diminta untuk memasukkan username dan password, gunakan username root dengan passwordnya. Kemudian pada browser yang muncul, pilih tab Server dan temukan menu DHCP Server. Untuk selanjutnya silakan gunakan kemudahan pada browser ini dan bandingkan dengan konfigurasi file yang telah dibuat sebelumnya.

Pada tulisan ini tidak akan dibahas cara-cara pengaturan via browser, Anda dapat bereksperimen sendiri dengan membandingkan file konfigurasi /etc/dhcpd.conf.