Jumat, 03 Juli 2015

Install DHCP Server di Linux Centos 6



Kali ini saya akan sedikit share pengalaman cara setting DHCP server yang akan saya gunakan untuk Hostspot. Kebetulan saya menggunakan Linux Centos untuk server DHCP nya.

Sedikit Intro tentang DHCP Server :

Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client.

DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat "menyewakan" alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya. Beberapa sistem operasi jaringan seperti Windows NT Server, Windows 2000 Server, Windows Server 2003, atau GNU/Linux memiliki layanan seperti ini.

DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server. Sebagian besar sistem operasi klien jaringan (Windows NT Workstation, Windows 2000 Professional, Windows XP, Windows Vista, Windows 7, Windows 8 atau GNU/Linux) memiliki perangkat lunak seperti ini.
DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.

DHCP Client akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server dalam proses empat langkah berikut:

- DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP Server yang aktif.
- DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client.
- DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan.
- DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data database miliknya. Klien selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan.



Empat tahap di atas hanya berlaku bagi klien yang belum memiliki alamat Ip. Untuk klien yang sebelumnya pernah meminta alamat kepada DHCP server yang sama, hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (address renewal), yang jelas lebih cepat prosesnya.

Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat stand-alone, sehingga jika dalam sebuah jaringan terdapat beberapa DHCP server, basis data alamat IP dalam sebuah DHCP Server tidak akan direplikasi ke DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua DHCP server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamat yang sama.

Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat menetapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke waktu.

Cara Install DHCP server dengan Linux Centos 6 adalah sebagai berikut :

1. Install paket dhcp server nya :

# yum -y install dhcp

2. Kemudian kita edit file konfigurasi DHCP Server yang ada pada folder : /etc/dhcp/dengan nama file : dhcpd.conf

Kita bisa mengunakan perintah :

# nano dhcpd.conf

Atau mengunakan perintah :

# vi dhcpd.conf

Selanjutnya pada file konfigurasi  : /etc/dhcp/dhcpd.conf  ini kita isi dengan perintah :

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.2;
option domain-name-servers 8.8.8.8, 8.8.4.4;

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.10 192.168.1.200;
}

3. Edit file pada folder /etc/sysconfig/ dengan nama file "dhcpd"

# vi /etc/sysconfig/dhcpd

Isi jadi seperti ini :
# Command line options here
DHCPDARGS="eth1"

Kebetulan interface yang saya gunakan adalah eth1


4. Sampai disini tugas kita membuat DHCP Server Standart sudah selesai. Selanjutnya jika kita ingin membuat IP Address Reservation, yang fungsinya agar DHCP Server kita memberikan IP Address tertentu untuk PC Client / Laptop yang memiliki Mac Address tertentu. Kita edit lagi file konfigurasi dan menambahkan konfigurasi sebagai berikut :

host pc-client1 {
      option host-name "pc-client1.example.com;
      hardware ethernet 00:A0:78:9C:9E:9F;
      fixed-address 192.168.1.90;
   }

host pc-client2 {
      option host-name "pc-client2.example.com";
      hardware ethernet 00:A1:DD:71:CC:F5;
      fixed-address 192.168.1.91;
   }

5.  Kemudian simpan file konfigurasi  : /etc/dhcp/dhcpd.conf  ini lalu kita jalankan service DHCP Server dengan perintah :

# service dhcpd start

6. Untuk mengecek hasil log dari DHCP server bisa dilihat dengan perintah :

# tail -f /var/log/messages
Jul  3 21:45:09 localhost dhcpd: DHCPREQUEST for 192.168.1.23 (192.168.1.1) from d4:68:4d:28:74:50 via eth1
Jul  3 21:45:09 localhost dhcpd: DHCPACK on 192.168.1.23 to d4:68:4d:28:74:50 via eth1
Jul  3 21:46:29 localhost dhcpd: DHCPDISCOVER from f0:b0:52:04:45:40 via eth1
Jul  3 21:46:30 localhost dhcpd: DHCPOFFER on 192.168.1.16 to f0:b0:52:04:45:40 via eth1
Jul  3 21:46:34 localhost dhcpd: DHCPDISCOVER from f0:b0:52:04:45:40 via eth1
Jul  3 21:46:34 localhost dhcpd: DHCPOFFER on 192.168.1.16 to f0:b0:52:04:45:40 via eth1
Jul  3 21:46:39 localhost dhcpd: DHCPDISCOVER from f0:b0:52:04:45:40 via eth1

Install DHCP server sudah selesai, selanjut nya jika DHCP server ini akan digunakan untuk hostspot WiFi, maka tinggal arahkan saja setting DHCP dari Controller Access Point (AP) nya agar menggunakan external DHCP dan diarahkan ke IP dhcp server yang sudah dibuat ini.

Semoga bermanfaat juga untuk teman semua

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 40017