advert

BANDWIDTH LIMITER dengan HTB TOOLS FOR LINUX


Kita   mungkin   sudah   banyak   mengenal   banyak   cara   untuk   melakukan   shaper   htb  spt menggunakan  tc   sendiri  atau  bantuan  scripts  htb.init,   cbq.init,  mastershaper,  dan  banyak  lagi utility untuk melakukan  pengaturan bandwidth. tapi  kali ini  saya  coba  bahas  salah satu  utility untuk mempermudah kita dalam pengaturan bandwidth yaitu htb-tools [http://htb-tools.arny.ro]. menurut saya tool ini sangat sederhana terutama dalam hal konfigurasinya dan cukup efektif.



Instalasi HTB-Tools & bahan-bahan yang diperlukan :


Htb-tools akan di install didalam gateway selain untuk routing juga untuk limiter, Anda bisa juga menggunakan bandwidth manager tersendiri yang di bridging diantara gateway dan isp, tapi dalam hal ini saya tidak bahas dlm bagian ini.
* OS Linux (pastinya :D), kernel yg mendukung QOS seharusnya distro-distro sekarang yg memakai kernel >= 2.6 sudah mendukung module tsb. dalam hal ini sistem yang saya gunakan adalah debian


darkstar:/boot# cat /etc/debian_version 4.0


darkstar:/boot# uname -a

Linux darkstar 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686

GNU/Linux


lakukan pengecekan module


"darkstar:/boot# cat /boot/config-2.6.18-4-686 |grep SCH "

CONFIG_IOSCHED_NOOP=y

CONFIG_IOSCHED_AS=y

CONFIG_IOSCHED_DEADLINE=y

CONFIG_IOSCHED_CFQ=y

CONFIG_DEFAULT_IOSCHED="cfq"

CONFIG_SCHED_SMT=y

CONFIG_SCHED_MC=y

CONFIG_NET_SCHED=y

CONFIG_NET_SCH_CLK_JIFFIES=y

# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set

# CONFIG_NET_SCH_CLK_CPU is not set

CONFIG_NET_SCH_CBQ=m

CONFIG_NET_SCH_HTB=m

CONFIG_NET_SCH_HFSC=m

CONFIG_NET_SCH_ATM=m

CONFIG_NET_SCH_PRIO=m

CONFIG_NET_SCH_RED=m

CONFIG_NET_SCH_SFQ=m

CONFIG_NET_SCH_TEQL=m

CONFIG_NET_SCH_TBF=m

CONFIG_NET_SCH_GRED=m

CONFIG_NET_SCH_DSMARK=m

CONFIG_NET_SCH_NETEM=m

CONFIG_NET_SCH_INGRESS=m

CONFIG_CHR_DEV_SCH=m

CONFIG_SENSORS_FSCHER=m

# CONFIG_USB_EHCI_TT_NEWSCHED is not set



    * Paket htb-tools (http://htb-tools.arny.ro/download.php), versi yang saya gunakan htb_tools-0.2.6
    * Paket iproute2 >=  iproute2-2.6.10-ss050124 http://developer.osdl.rg/dev/iproute2/download
    * Paket flex kalau belum ada ("http://flex.sourceforge.net/")




Saya tidak akan membahas cara-cara instalasi paket yg diperlukan oleh htb-tools, silahkan baca manual/referensi dari masing-masing distro yg digunakan



Instalasi:

download htb-tools di http://htb-tools.arny.ro/download.php), versi yang saya gunakan

htb_tools-0.2.6, taruh di /tmp


darkstar:/tmp# cd /tmp/

darkstar:/tmp# cd /tmp/

darkstar:/tmp# tar -xvzf htb_tools-0.2.6.tar.gz

darkstar:/tmp# make

darkstar:/tmp# make install



konfigurasi


Sebelum melakukan konfigurasi lebih lanjut, sebaiknya ada beberapa hal yang perlu kita ketahui mengenai format konfigurasi htb-tools, sbb:

- format konfigurasi htb-tools mirip seperti format konfigurasi bind

- bandwidth masing-masing user di bagi menjadi class - class

- masing-masing class tidak dapat membagi/meminjam bandwidth dari kelas lain

- anggota dari sebuah class (client) dapat saling berbagi bandwidth sesuai dengan yang telah di definisikan sebelumnya

- sebuah class bisa terdiri dari 1 atau lebih client

- transfer rate dalam kbit

- baris yang memiliki # di karakter pertama suatu baris akan diabaikan / dianggap komentar

- field src dan dst hanya dapat didefinisikan di dalam client BUKAN di class



sntax class


- bandwidth 192 : minimum bandwidth yang di guarantee dari suatu class; merepresentasikan jumlah toal bandwidth yang di guarantee untuk client dari suatu class


- limit 256 : maksimum transfer rate dari suatu class


- burst 2 : maksimum jumlah kbits yang di kirim sekali waktu oleh suatu class


Note: jika di set dengan nilai yang tidak benar, limit mungkin t idak akan berkerja dengan benar.

contoh: untuk limit 10000kbit maka gunakan burst 12kbit


- burst 0 : HANYA di HTB-tools 0.3.0 - jika di set 0 maka htb tools akan menghitung jumlah burst nya.


- priority 1 : priority class (priority 0 - 7) secara ascending (dari kecil ke besar). prioritas paling kecil akan di prioritaskan


- que sfq : menspesifikasikan qdisc (queue discipline) untuk class, jika tidak di spesifikasikan

defaultnya adalah pfifo limit 5 (atau esfq) (http://fatooh.org/esfq-2.6/)


Untuk menerapkan htb-tools saya coba membuat sebuah contoh konfigurasi sederhana dengan 3

buah client dan 1 router, dan andaikan kita mempunyai bandwidth 256kbps (download dan

upload) dari ISP akan dibagikan ke 3 client, berikut skemanya







Router

eth1 (local/internal interface) : 192.168.1.1/32

eth0 (public/external interface) : 124.xxx.xxx.xxx/32


pc1: 192.168.1.2/32

pc2: 192.168.1.3/32

pc3: 192.168.1.4/32



kita menginginkan pc1 dialokasikan download dan upload (128kbps), pc2 dan pc3 dialokasikan (64kbps) dan jika salah satu client tidak menggunakan bandwidth maka client lain dapat meminjam dari client tsb.


darkstar:/tmp# cd /etc/htb


konfigurasi untuk download (dalam kasus ini kita limit di interface internal eth0)


darkstar:/etc/htb# vi eth0-qos.cfg




# DOWNLOAD

class LAN_1 {

 bandwidth 256;# garansi bandwidth yg dialokasikan untuk LAN

 limit 256; # maksimal bandwidth yang bisa dicapai untuk LAN

 burst 2;

 priority 1;

 que sfq;

 client pc1 {

     bandwidth 128;# garansi bandwidth yang di alokasikan untuk pc1

     limit 192;# bandwidth maksimal yg bisa di capai untuk pc1

     burst 2;

     priority 1;

     dst {

         192.168.1.2/32;

     };

 };

 client pc2 {

     bandwidth 64;

     limit 96;

     burst 2;

     priority 1;

     dst {

         192.168.1.2/32;

     };

 };

 client pc3 {

     bandwidth 64;

     limit 96;

     burst 2;

     priority 1;

     dst {

         192.168.1.2/32;

     };

 };

};





Konfigurasi upload


darkstar:/etc/htb# vi eth1-qos.cfg

# UPLOAD

class LAN_1 {

 bandwidth 256;

 limit 256;

 burst 2;

 priority 1;

 que sfq;

 client pc1 {

     bandwidth 128;

     limit 192;

     burst 2;

     priority 1;

     src {

         192.168.1.2/32;

     };

 };

 client pc2 {

     bandwidth 64;

     limit 96;

     burst 2;

     priority 1;

     src {

         192.168.1.2/32;

     };

 };

 client pc3 {

     bandwidth 64;

     limit 96;

     burst 2;

     priority 1;

     src {

         192.168.1.2/32;

     };

 };

};



Test config dan jalankan shapper


darkstar:/etc/htb# htb eth0 start


Applying traffic rules for device eth0

Checking the config file....OK

Checking kernel support for HTB: present.

Delete previous root qdisc

Add root qdisc

Add root class


Add default class

"rate" is required.

RTNETLINK answers: Invalid argument


Add class LAN_1, que sfq

Add client pc3


darkstar:/etc/htb# htb eth1 start


Applying traffic rules for device eth1

Checking the config file....OK

Checking kernel support for HTB: present.

Delete previous root qdisc

Add root qdisc

Add root class

Add default class

"rate" is required.

RTNETLINK answers: Invalid argument



Add class LAN_1, que sfq

Add client pc3



Untuk melihat/monitoring status htb jalankan :


darkstar:/etc/htb# htb eth0 stats

darkstar:/etc/htb# htb eth1 stats



lakukan percobaan download/upload dari pc1, pc2 dan pc3.


htb-tools bisa menjadi solusi murah untuk memanage bandwidth bagi sebuah organisasi,

perusahaan, kantor dll.



sebenarnya di versi htb-tools 0.3.0 sudah disediakan tools untuk konfigurasi htb-tool melalui

web dan monitoringnya jg, silahkan di coba.





Komunitas eLearning IlmuKomputer.Com



3 comments:

  1. Arttikel yang menarik mas, anda sudah aku follow, follow balik yah

    ReplyDelete
    Replies
    1. PENGAKUANG DARI IBU HASNA DI MALAYSIA
      Asslamualaikum....
      saya hanya sebagai perantara untuk menyampaikan tentang dana ghaib diperoleh melalui media doa-doa dzikir khusus bersama anak-anak yatim/piatu dan muda/mudi pesantren sehingga jauh dari hal-hal klenik/mistik yang tentunya dilarang oleh Agama.
      PROGRAM PENARIKAN DANA GHOIB 1/2 HARI CAIR
      Tingkat 1 = Untuk Hasil 500 Juta
      Tingkat 2 = Untuk Hasil 1 Milyar
      Tingkat 3 = Untuk Hasil 2 Milyar
      Tingkat 4 = Untuk Hasil 3 Milyar
      Tingkat 5 = Untuk Hasil 4 Milyar
      Tingkat 6 = Untuk Hasil 5 Milyar
      Tingkat 7 = Untuk Hasil 6 Milyar
      Tingkat 8 = Untuk Hasil 7 Milyar
      insyallah akan sukses jika anda mau mengambil keputusan untuk mengikuti program ini. ingat bahwa kita yang menjalakan tapi allah yang akan menentukan hasilnya.
      JIKA ANDA BERMINAT, YAKIN DAN PERCAYA INSYA ALLAH AKAN BERHASIL, SAYA SENDIRI SUDAH BUKTIKAN ALHAMDULILLAH BERHASIL. JIKA ANDA BERMINAT SILAHKAN MBAH SORE - 085-256-133-981-Terima Kasih

      Delete
  2. pusing bang tri susah belajarnya pecah kepala ku kalau pelajari semuannya.........
    lebih baikk pilih salah satu aja lah
    follow balik bang tri

    ReplyDelete