Manajemen Bandwidth Dengan WebHTB (I)

Jumat, 10 Juni 2011


Apakah Anda pernah mengalami hal ini, ketika Anda membuka internet di kantor, koneksinya sangat lemah. Padahal pada saat itu Anda hendak mengirimkan data ke klien atau sedang menyelesaikan tugas penting. Alhasil pekerjaan Anda mengalami sedikit kendala. Usut punya usut ternyata hampir semua pegawai sedang membuka internet, entah pada saat itu pegawai sedang mendownload sesuatu atau sedang melakukan streaming. Kalau sudah begini apa yang harus dilakukan perusahaan?
Hampir semua perusahaan mempunyai masalah seperti hal itu. Untuk mengakalinya, perusahaan menggunakan suatu aplikasi yang disebut WebHTB. WebHTB merupakan aplikasi yang berbasis web yang digunakan untuk membatasi besarnya bandwidth client pada suatu jaringan. Aplikasi ini dapat memberikan batasan kecepatan browsing ataupun download pada masing-masing klien. Penggunaan webhtb berdasarkan rules pada kartu jaringan pada server, jadi semua alur data yang melewati kartu jaringan akan segera terfilter oleh webhtb.
Fitur-fitur yang ada di dalam webhtb adalah
  • Melakukan pembatasan bandwidth untuk upload dan download pada host berdasarkan alamat ip
  • Pembatasan bandwidth berdasarkan alamat ip private (SNAT), hanya dengan menggunakan satu file konfigurasi
  • Mendukung penggunaan alamat kartu jaringan u16 dan u32 untuk upload dan download.
  • Dan masih banyak yang lain.

Dependensi

Sebuah paket ada yang membutuhkan dependensi dan ada yang tidak, begitu juga dengan webhtb. Aplikasi ini membutuhkan dependensi yang akan mendukung kinerjanya di dalam membatasi bandwidth user dalam mengakses internet. Berikut ini adalah paket-paket dependensi yang digunakan untuk mendukung webhtb:
  • apache2 berfungsi sebagai webserver
  • mysql berfungsi sebagai penyimpan data klien htb
  • php berfungsi sebagai penghubung antara htb dan mysql
  • openssl berfungsi sebagai keamanan pada apache2
  • ssl-cert berfungsi untuk membuat kunci ssl pada apache2
Semua dependensi ini akan dibutuhkan oleh webhtb dalam menjalankan tugasnya. Jika satu saja tidak terinstal, maka webhtb tidak akan berjalan dengan sempurna dan bisa dibilang gagal.
Pada latihan kali ini kita akan menggunakan sistem operasi Ubuntu 8.0.4.4 LTS dengan spesifikasi server yang digunakan sebagai berikut:
  • Harddisk 6 GB
  • Memory RAM 512 MB
  • Dua buah Ethernet Card, yaitu eth0 dan eth1, dimana eth0 menggunakan ip public 202.169.54.157 yang terhubung ke internet, dan eth1 dengan ip address 192.168.0.50 yang merupakan koneksi jaringan lokal.
Klien yang menggunakan kali ini berjumlah 2 host pada jaringan lokal untuk mengetes besarnya bandwidth yang akan didapat oleh masing-masing host. Langkah selanjutnya adalah melakukan instalasi dependensi dan juga instalasi webhtb.

Tahap Instalasi

Instalasi webhtb tergolong cukup mudah, asalkan Anda teliti untuk melihat semua baris perintah yang digunakan untuk instalasi. Di bawah ini adalah instalasi webhtb secara lengkap, jadi perhatikan setiap langkah dibawah ini agar instalasi berjalan lancar.
  • Langkah pertama, Anda harus melakukan instalasi paket-paket dependensi yang dibutuhkanoleh webhtb. Jalankan perintah ini untuk melakukan instalasi dependensi:
    # apt-get install apache2 mysql-server-5.0 php5 libphp-adodb
    php5-cli php5-gd php5-snmp php5-mysql php5-xmlrpc
  • Biarkan proses instalasi berjalan. Pada tengah-tengah proses instalasi, Anda akan diminta untuk memasukkan password account administrator MySQL, yaitu root. Masukkan password MySQL server yang akan digunakan tekan ENTER. Kemudian masukkan lagi konfirmasi password yang Anda masukkan sebelumnya, dan pilih hingga selesai.
  • Download aplikasi webhtb dari alamat http://sourceforge.net/projects/webhtb/files/, dan kemudian letakkan file download webhtb ke direktori /home/user pada komputer server Anda.
  • Setelah selesai, ekstrak file download WebHTB_V2.9.bz2 yang ada di /home/user ke folder /var/www dengan menggunakan perintah ini:
    # tar -xvf /home/user/WebHTB_V2.9.bz2 -C /var/www/

    Disini akan terbentuk file webhtb di dalam direktori /var/www yang siap untuk diakses, namun sebelumnya Anda harus membuat sertivikat ssl pada apache2 terlebih dahulu.
  • Instal paket openssl dan ssl-cert untuk membuat kunci keamanan apache dimana Anda akan mengakses webhtb dari https yang lebih aman. Jalan perintah berikut :
    # apt-get install openssl ssl-cert
  • Pada paket di atas sudah selesai diinstal, saatnya untuk membuat file ssl. Jalankan perintah ini secara berurutan untuk membuat sertifikat ssl:
    # mkdir /etc/apache2/ssl

    # Make-ssl-cert /user/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Akan ada tampilan dialog konfigurasi SSL Certificate.
  • Masukkan identitas negara pada kolom Country Name = ID | pilih OK
  • Masukkan nama provinsi pada kolom State or Province name = Jawa Timur | pilih OK
  • Masukkan nama kota tempat Anda tinggal = Mojokerto | pilih OK
  • Masukkan nama organisasi Anda = InfoLinux | pilih OK
  • Masukkan nama organisasi unit tempat Anda bekerja = Server | pilih OK
  • Masukkan nama hostname Anda = Localhost | pilih OK
  • Masukkan alamat email sertifikat = e-mail_anda | pilih OK
Jika Anda bingung untuk mengisi dialog tersebut, biarkan saja nilainya default, dengan menekan ENTER hingga proses instalasi selesai.
  • Aktifkan modul ssl supaya sertifikat ssl dikenali oleh apache2, dengan perintah berikut:
    # a2enmod ssl
  • Restart apache2 dengan opsi force-reload seperti ini:
    # /etc/init.d/apache2 force-reload
  • Langkah selanjutnya adalah menempatkan certificate ssl yang sudah Anda buat sebelumnya di virtualhost apache2. Jalankan perintah ini:
    # cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
  • Edit file /etc/apache2/sites-available/ssl dengan menggunakan editor kesayangan Anda:
    # vim /etc/apache2/sites-available/ssl
  • Tambahkan pula script dibawah ini pada baris terakhir sebelum baris :

    SSLEngine On

    SSLCertificateFile /etc/apache2/ssl/apache.pem

    SSLCertificateKeyFile /etc/apache2/ssl/91d3d3


    Pada SSLCertificateKeyFile file 91d3d3 adalah nama file yang dihasilkan, ketika Anda membuat file sertifikat ssl. Anda dapat melihatnya pada file /etc/apache2/ssl.
  • Masih di file yang sama, yaitu /etc/apache2/sites-available/ssl, ubah juga bagian atas file menjadi di bawah ini:
    NameVirtualHost *:443

    dan ubah juga bagian di bawahnya menjadi:
  • Buka dan edit file /rtc/apache2/sites-available/default dengan editor Anda:
    # vim /etc/apache2/sites-available/default.
  • Tambahkan script di bawah ini pada baris terakhir sebelum baris :
    SSLCertificateFile /etc/apache2/ssl/apache.pem
  • Selanjutnya, lakukan restart apache2, dan aktifkan mmodul HTTPS untuk mengakses webhtb dari web browser Anda:
    # /etc/init.d/apache2 force-reload

    kemudian jalankan juga perintah ini:
    # a2ensite ssl
  • Terakhir restart kembali layanan daemon apache2 dengan perintah:
    # /etc/init.d/apache2 restart

    Disini, proses instalasi webhtb sudah selesai dijalankan, dan siap untuk diakses melalui web browser Anda.
  • Buka web browser Anda, dan pada kolom url ketikkan alamat https://192.168.0.50/webhtb/setup. Alamat ip 192.168.0.50 merupakan alamat ip yang dimiliki server untuk terkoneksi dengan klien di jaringan LAN. Disini, Anda akan melakukan pengaturan webhtb supaya bisa terhubung dengan mysql.
  • Pada halaman setup ini, isi kolom yang bertuliskan warna merah. Berikut adalah kolom yang harus diisikan pada bagian setup webhtb:
  • MySQL admin password : password user administrator MySQL Anda ketika instalasi dependensi di atas
  • MySQL WebHTB password : password user untuk database webhtb di MySQL. Masukkan password sesuai yang Anda kehendaki.
  • MySQL WebHTB password again: masukkan kembali password user webhtb sebelumnya
  • Default interface: nomor ethernet card yang Anda gunakan untuk terkoneksi ke jaringan lokal.
Setelah semuanya selesai, klik tombol Submit, dan kalau sukses akan muncul jendela dialog yang menyatakan “SUCCESS : NOW YOU MUST DELETE THE SET UP FOLDER”. Tekan OK.
  • Seperti yang sudah diperintahkan di atas, hapus folder setup pada direktori /var/www/webhtb, dengan perintah:
    # rm -rf /var/www/webhtb/setup
  • Langkah terakhir dalam instalasi webhtb adalah mengganti password root sistem Anda. Jika tidak diganti, maka Anda tidak akan bisa login ke dalam webhtb. Jalankan perintah mengganti password root seperti berikut ini:
    # password root
  • Akses https://192.168.0.50/webhtb/, dan setelah itu akan muncul tampilan untuk login, dan masukkan password root yang sudah dibuat pada langkah sebelumnya. Saat ini Anda sudah dapat menggunakan webhtb, dan siap untuk melakukan konfigurasi.

0 komentar:

Posting Komentar