Difference between revisions of "Bandwidth Manajemen Menggunakan HTB"

From OnnoWiki
Jump to navigation Jump to search
(New page: Mengatur Bandwidth mengalokasikan maksimum bandwidth untuk setiap user / komputer menjadi momok bagi banyak operator terutama untuk menjaga agar penggunaan bandwidth dapat maksimal untuk k...)
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Mengatur Bandwidth mengalokasikan maksimum bandwidth untuk setiap user / komputer menjadi momok bagi banyak operator terutama untuk menjaga agar penggunaan bandwidth dapat maksimal untuk keperluan yang baik dengan keterbatasan yang ada.
 
Mengatur Bandwidth mengalokasikan maksimum bandwidth untuk setiap user / komputer menjadi momok bagi banyak operator terutama untuk menjaga agar penggunaan bandwidth dapat maksimal untuk keperluan yang baik dengan keterbatasan yang ada.
  
Ada beberapa software open source untuk mengatur bandwidth ini. Ada dua (2) teknik manajemen bandwidth yang banyak digunakan di lapangan, yaitu, HTB dan CBQ. CBQ merupakan teknik yang paling lama, HTB lebih baru dari CBQ. Beberapa laporan / literatur menyebutkan bahwa HTB lebih baik dari CBQ hasilnya. Pada kesempatan ini, kita akan mencoba memfokuskan pada HTB.
+
Ada beberapa software [[open source]] untuk mengatur [[bandwidth]] ini. Ada dua (2) teknik [[manajemen bandwidth]] yang banyak digunakan di lapangan, yaitu, [[HTB]] dan [[CBQ]]. [[CBQ]] merupakan teknik yang paling lama, [[HTB]] lebih baru dari [[CBQ]]. Beberapa laporan / literatur menyebutkan bahwa [[HTB]] lebih baik dari [[CBQ]] hasilnya. Pada kesempatan ini, kita akan mencoba memfokuskan pada [[HTB]].
  
Umumnya program pengatur bandwidth gratisan dapat di cari di SourceForge (http://www.sf.net). Pada kesempatan ini akan ditunjukan cara menginstalasi dan mengoperasikan software HTB. Yang anda butuhkan adalah script htb.init melalui URL http://sourceforge.net/projects/htbinit/
+
Umumnya program pengatur [[bandwidth]] gratisan dapat di cari di SourceForge (http://www.sf.net). Pada kesempatan ini akan ditunjukan cara menginstalasi dan mengoperasikan software [[HTB]]. Yang anda butuhkan adalah script htb.init melalui URL http://sourceforge.net/projects/htbinit/. Belakangan ternyata ada script yang mungkin menarik untuk di coba yang membuat konfigurasi [[HTB]] menjadi lebih sederhana yaitu htb-gen yang bisa di ambil di http://www.praga.org.ar/dev/htb-gen/packages/htb-gen_0.8.4_all.deb
  
Scipt htb.init di turunkan dari cbq.init, sehingga memudahkan bagi mereka yang sudah biasa menggunakan CBQ untuk pindah ke HTB.
+
Scipt htb.init di turunkan dari cbq.init, sehingga memudahkan bagi mereka yang sudah biasa menggunakan [[CBQ]] untuk pindah ke [[HTB]].
  
 
Beberapa langkah sederhana untuk menginstalasi htb.init adalah sebagai berikut
 
Beberapa langkah sederhana untuk menginstalasi htb.init adalah sebagai berikut
Line 22: Line 22:
 
  # mkdir /etc/sysconfig/htb
 
  # mkdir /etc/sysconfig/htb
  
Buat Aturan untuk manajemen bandwidth di /etc/sysconfig/htb berbentuk file-file untuk masing-masing aturan yang nantinya akan di compile melalui perintah htb.init compile.
+
Buat Aturan untuk [[manajemen bandwidth]] di /etc/sysconfig/htb berbentuk file-file untuk masing-masing aturan yang nantinya akan di compile melalui perintah htb.init compile.
  
Start htb
+
 
 +
 
 +
==Start htb==
  
 
  # /sbin/htb.init compile
 
  # /sbin/htb.init compile
Line 31: Line 33:
  
  
Konfigurasi HTB
+
==Konfigurasi HTB==
  
 
Pada htb.init, setiap kelas traffic di jelaskan oleh sebuah file yang biasanya di telatkan di /etc/sysconfig/htb. Konvensi penamaan file berbeda dengan cbq.init. Prefix 'cbq-' di hilangkan di htb. Penamaan di ganti dengan nama interface supaya lebih mudah bagi manusia untuk membaca-nya maupun untuk memisahkan konfigurasi yang hanya disiplin antrian saja.
 
Pada htb.init, setiap kelas traffic di jelaskan oleh sebuah file yang biasanya di telatkan di /etc/sysconfig/htb. Konvensi penamaan file berbeda dengan cbq.init. Prefix 'cbq-' di hilangkan di htb. Penamaan di ganti dengan nama interface supaya lebih mudah bagi manusia untuk membaca-nya maupun untuk memisahkan konfigurasi yang hanya disiplin antrian saja.
  
Pilihan disiplin antrian global biasanya di letakan di /etc/sysconfig/htb/ifname*;, dimana <ifname> adalah nama dari interface jaringan. File ini harus ada jika kita ingin htb mensetup interface yang di maksud. Jika tidak ada option yang ingin di masukan tidak masalah, biarkan saja file tersebut kosong, tapi file harus ada.
+
Pilihan disiplin antrian global biasanya di letakan di /etc/sysconfig/htb/ifname*;, dimana "ifname" adalah nama dari [[interface jaringan]]. File ini harus ada jika kita ingin [[HTB]] mensetup interface yang di maksud. Jika tidak ada option yang ingin di masukan tidak masalah, biarkan saja file tersebut kosong, tapi file harus ada.
 
Pilihan kelas dari file menggunakan nama yang harus sesuai dengan format berikut,
 
Pilihan kelas dari file menggunakan nama yang harus sesuai dengan format berikut,
  
    /etc/sysconfig/htb/ifname>-<clsid>(:<clsid>)*<description>
+
/etc/sysconfig/htb/ifname[sid]-[clsid][description]
  
<clsid> adalah class ID yang merupakan nomor hexadecimal range 0x2-0xFFFF, ditulis tanpa prefix “0x”. Jika ada beberapa class ID yang di batasi oleh “:”, maka <clsid> yang terakhir dalam daftar merepresentasikan ID dari class di file konfigurasi.
+
* [clsid] adalah class ID yang merupakan nomor hexadecimal range 0x2-0xFFFF, ditulis tanpa prefix “0x”. Jika ada beberapa class ID yang di batasi oleh “:”, maka [sid] yang terakhir dalam daftar merepresentasikan ID dari class di file konfigurasi.
  
<clsid> yang mendahului <clsid> terakhir adalah class ID dari parent class. Untuk menjamin urutan, maka parent class selalui dibuat sebelum anak class-nya, disarankan untuk menyertakan semua <clsid> dari root class hingga leaf.
+
* [sid] yang mendahului [clsid] terakhir adalah class ID dari parent class. Untuk menjamin urutan, maka parent class selalui dibuat sebelum anak class-nya, disarankan untuk menyertakan semua [clsid] dari root class hingga leaf.
  
<description> adalah kalimat sembarang yang dapat kita tambahkan pada nama simbolik class agar dapat lebih terbaca.
+
* [description] adalah kalimat sembarang yang dapat kita tambahkan pada nama simbolik class agar dapat lebih terbaca.
  
 
Contoh nama yang valid adalah
 
Contoh nama yang valid adalah
  
  eth0-2       root class dengan ID 2, pada interface eth0
+
  eth0-2     root class dengan ID 2, pada interface eth0
 
  eth0-2:3    child class dengan ID 3 dan parent 2, pada interface eth0
 
  eth0-2:3    child class dengan ID 3 dan parent 2, pada interface eth0
  eth0-2:3:4   child class dengan ID 4 dan parent 3, pada interface eth0
+
  eth0-2:3:4 child class dengan ID 4 dan parent 3, pada interface eth0
  eth1-2.root   root class dengan ID 2, pada interface eth1
+
  eth1-2.root root class dengan ID 2, pada interface eth1
  
 
Ada banyak parameter yang dapat dimasukan ke file-file di atas. Detail dari parameter htb dapat dilihat pada http://luxik.cdi.cz/~devik/qos/htb.
 
Ada banyak parameter yang dapat dimasukan ke file-file di atas. Detail dari parameter htb dapat dilihat pada http://luxik.cdi.cz/~devik/qos/htb.
 
Beberapa format / perintah dari file aturan / rule di HTB terbagi dalam beberapa jenis parameter
 
Beberapa format / perintah dari file aturan / rule di HTB terbagi dalam beberapa jenis parameter
  
Parameter Disiplin Antrian
 
  
Parameter disiplin antrian hanya berlaku pada disiplin antrian root htb dan harus dimasukan ke dalam file /etc/sysconfig/htb/<ifname>. File <ifname> harus ada jika kita ingin htb di operasikan di interface tersebut.
 
  
    DEFAULT=<clsid>                              optional, default 0
+
==Parameter Disiplin Antrian==
    DEFAULT=30
+
 
 +
Parameter disiplin antrian hanya berlaku pada disiplin antrian root htb dan harus dimasukan ke dalam file /etc/sysconfig/htb/[ifname]. File [ifname] harus ada jika kita ingin htb di operasikan di interface tersebut.
 +
 
  
<dclsid> adalah ID class default untuk traffic yang tidak berhasil di klasifikasi. Hati-hati htb.init akan menggunakan class ID default 0, yang artinya antrian FIFO akan berusaha mengirim paket pada kecepatan FULL / maksimum. Dengan mengubah DEFAULT akan menyebabkan prioritas paket menjadi lebih rendah.
+
DEFAULT=[clsid]                              optional, default 0
 +
DEFAULT=30
  
 +
[clsid] adalah ID class default untuk traffic yang tidak berhasil di klasifikasi. Hati-hati htb.init akan menggunakan class ID default 0, yang artinya antrian FIFO akan berusaha mengirim paket pada kecepatan FULL / maksimum. Dengan mengubah DEFAULT akan menyebabkan prioritas paket menjadi lebih rendah.
  
R2Q=<number>                                 optional, default 10
+
 
R2Q=100
+
R2Q=[number]                                 optional, default 10
R2Q=100
+
R2Q=100
 +
R2Q=100
  
 
Parameter R2Q memungkinkan kita untuk menset koefisien untuk menghitung nilai DRR (Deficit Round Robin). Nilai default 10 cukup baik untuk kecepatan 5-500Kbps dan harus di naikan untuk kecepatan tinggi.
 
Parameter R2Q memungkinkan kita untuk menset koefisien untuk menghitung nilai DRR (Deficit Round Robin). Nilai default 10 cukup baik untuk kecepatan 5-500Kbps dan harus di naikan untuk kecepatan tinggi.
  
  
DCACHE=yes|no                                optional, default "no"
+
DCACHE=yes|no                                optional, default "no";
  
Paramter ini akan mengakifkan "dequeue cache" yang akan mengurani keadilan dalam pemrosesan paket tapi memungkinkan htb untuk digunakan dalam jaringan yang sangat cepat. Parameter ini default-nya off.
+
Paramter ini akan mengakifkan "dequeue cache" yang akan mengurani keadilan dalam pemrosesan paket tapi memungkinkan htb untuk digunakan dalam jaringan yang sangat cepat. Parameter ini default-nya off.
  
  
Paramater Class HTB
+
==Paramater Class HTB==
  
Parameter class HTB harus di letakan di file /etc/sysconfig/htb/<ifname>-<clsid>(:<clsid>)*.*.
+
Parameter class HTB harus di letakan di file /etc/sysconfig/htb/[ifname]-[clsid](:[clsid])*.*.
  
    RATE=<speed>|prate|pceil                    wajib
+
RATE="speed"|prate|pceil                    wajib
    RATE=5Mbit
+
RATE=5Mbit
  
Alokasi bandwidth ke sebuah class. Traffic yang lewat melalui class tertentu akan di bentuk sesuai dengan kecepatan yang diberikan. Anda dapat menggunakan Kbit, Mbit atau bps, Kbps, dan Mbps. Jika tidak di berikan unit-nya, maka bit/detik akan digunakan. Perlu di catat bahwa “bps” disini berarti “byte per detik” bukan bit per detik.
+
[[Alokasi bandwidth]] ke sebuah class. [[Traffic]] yang lewat melalui class tertentu akan di bentuk sesuai dengan kecepatan yang diberikan. Anda dapat menggunakan Kbit, Mbit atau bps, Kbps, dan Mbps. Jika tidak di berikan unit-nya, maka bit/detik akan digunakan. Perlu di catat bahwa “bps” disini berarti “byte per detik” bukan bit per detik.
  
Nilai "prate" atau "pceil" akan mengambil nilai RATE atau CEIL dari class parent. Feature ini dibuat untuk membantu manusia agar file konfigurasi konsisten.
+
Nilai "prate" atau "pceil" akan mengambil nilai RATE atau CEIL dari class parent. Feature ini dibuat untuk membantu manusia agar file konfigurasi konsisten.
  
  
CEIL=<speed>|prate|pceil            optional, default $RATE
+
CEIL="speed"|prate|pceil            optional, default $RATE
CEIL=6MBit
+
CEIL=6MBit
  
Maksimum bandwith yang dapat digunakan oleh class. Beda antara CEIL dan RATE adalah besar bandwith yang dapat di pinjam, jika ada bandwidth yang sisa.
+
Maksimum bandwith yang dapat digunakan oleh class. Beda antara CEIL dan RATE adalah besar [[bandwith]] yang dapat di pinjam, jika ada [[bandwidth]] yang sisa.
  
Default-nya, CEIL sama dengan RATE oleh karena itu class tidak dapat meminjam bandwidth dari parent. Jika kita ingin class bisa meminjam bandwidth yang tidak digunakan, kita harus memasukan nilai maksimum yang dapat digunakan, jika ada sisa.
+
Default-nya, CEIL sama dengan RATE oleh karena itu class tidak dapat meminjam [[bandwidth]] dari parent. Jika kita ingin class bisa meminjam [[bandwidth]] yang tidak digunakan, kita harus memasukan nilai maksimum yang dapat digunakan, jika ada sisa.
  
Pada saat beberapa class berkompetisi untuk menggunakan bandwidth yang tidak digunakan, setiap class akan di berikan share proporsional terhadap RATE class tersebut.
+
Pada saat beberapa class berkompetisi untuk menggunakan [[bandwidth]] yang tidak digunakan, setiap class akan di berikan share proporsional terhadap RATE class tersebut.
  
  
BURST=<bytes>            optional, default dihitung
 
    BURST=10Kb
 
  
CBURST=<bytes>           optional, default dihitung
+
BURST="bytes"            optional, default dihitung
CBURST=2Kb
+
BURST=10Kb
 +
 
 +
CBURST="bytes"           optional, default dihitung
 +
CBURST=2Kb
  
 
Parameter BURST dan CBURST mengatur jumlah data yang akan dikirim dari satu class pada maksimum kecepatan hardware sebelum berusaha memberikan servis ke class yang lain.
 
Parameter BURST dan CBURST mengatur jumlah data yang akan dikirim dari satu class pada maksimum kecepatan hardware sebelum berusaha memberikan servis ke class yang lain.
Line 111: Line 117:
  
  
PRIO=5
+
PRIO=5
  
 
Prioritas dari class traffic. Semakin besar nomor, semakin kecil prioritas. Class dengan prioritas tinggi biasanya akan di berikan prioritas lebih dulu untuk menggunakan kelebihan bandwidth. Prioritas 5 sudah cukup.
 
Prioritas dari class traffic. Semakin besar nomor, semakin kecil prioritas. Class dengan prioritas tinggi biasanya akan di berikan prioritas lebih dulu untuk menggunakan kelebihan bandwidth. Prioritas 5 sudah cukup.
  
  
    LEAF=none|sfq|pfifo|bfifo        optional, default "none"
+
LEAF=none|sfq|pfifo|bfifo        optional, default "none"
  
 
Memberitahukan script untuk menempelkan disiplin antrian yang spesifik untuk leaf ke class htb. Default-nya, tidak ada disiplin antrian leaf yang digunakan.
 
Memberitahukan script untuk menempelkan disiplin antrian yang spesifik untuk leaf ke class htb. Default-nya, tidak ada disiplin antrian leaf yang digunakan.
Line 123: Line 129:
  
  
    MTU=<bytes>               optional, default "1600"
+
MTU="bytes"               optional, default "1600"
  
 
Maksimum panjang paket yang akan di buat oleh htb. Nilai default harusnya cukup untuk berbagai hal, tentunya cukup untuk Ethernet.
 
Maksimum panjang paket yang akan di buat oleh htb. Nilai default harusnya cukup untuk berbagai hal, tentunya cukup untuk Ethernet.
  
Parameter disiplin antrian SFQ
 
  
Disiplin antrian SFQ merupakan cara paling murah untuk melakukan sharing bandwidth antara beberapa mesin. Disiplin ini bersifat stochastik (random), tidak betul-betul fair tapi cukup fairlah. Jika anda membutuhkan sesuatu yang betul-betul fair, sebaiknya menggunakan disiplin antrian WRR (weighted round robin) atau WFQ. Perlu di catat bahwa SFQ tidak melakukan shaping trafik – shaping dilakukan oleh class HTB yang menggunakan SFQ.
 
  
 +
==Parameter disiplin antrian [[SFQ]]==
  
QUANTUM=<bytes>                    optional, default not set
+
Disiplin antrian [[SFQ]] merupakan cara paling murah untuk melakukan [[sharing bandwidth]] antara beberapa mesin. Disiplin ini bersifat [[stochastik]] ([[random]]), tidak betul-betul fair tapi cukup fairlah. Jika anda membutuhkan sesuatu yang betul-betul fair, sebaiknya menggunakan disiplin antrian [[WRR]] ([[weighted round robin]]) atau [[WFQ]]. Perlu di catat bahwa [[SFQ]] tidak melakukan shaping trafik – shaping dilakukan oleh class [[HTB]] yang menggunakan SFQ.
  
Paramter ini harus di set tidak lebih rendah dari MTU sambungan, untuk ethernet adalah 1500b, atau (dengan MAC header) 1514b.
 
  
 +
QUANTUM="bytes"                    optional, default not set
  
PERTURB=<seconds>                optional, default "10"
+
Paramter ini harus di set tidak lebih rendah dari [[MTU]] sambungan, untuk [[ethernet]] adalah 1500b, atau (dengan [[MAC]] header) 1514b.
  
Perioda yang digunakan oleh fungsi hash perturbation. Jika tidak di set, rekonfigurasi hash akan terjadi pada waktu yang mungkin tidak kita inginkan. Nilai defaul 10 detik biasanya cukup baik.
 
  
 +
PERTURB="seconds"                optional, default "10"
  
Parameter Disiplin Antrian PFIFO/BFIFO
+
Perioda yang digunakan oleh fungsi hash perturbation. Jika tidak di set, rekonfigurasi hash akan terjadi pada waktu yang mungkin tidak kita inginkan. Nilai defaul 10 detik biasanya cukup baik.
  
Untuk antrian FIFO sederhana. Biasanya hanya satu parameter yang menentukan panjang-nya dalam byte atau paket.
+
==Parameter Disiplin Antrian PFIFO/BFIFO==
  
    LIMIT=<packets>|<bytes>                      optional, qdisc default
+
Untuk antrian [[FIFO]] sederhana. Biasanya hanya satu parameter yang menentukan panjang-nya dalam [[byte]] atau [[paket]].
    LIMIT=1000
 
  
Jumlah paket / byte di antrian yang dapat di tampung. Unit tergantung pada tipe antrian yang digunakan.
+
LIMIT="packets"|"bytes"                      optional, qdisc default
 +
LIMIT=1000
  
 +
Jumlah [[paket]] / [[byte]] di antrian yang dapat di tampung. Unit tergantung pada tipe antrian yang digunakan.
  
 
+
==Parameter Filter==
Parameter Filter
 
  
  
Line 162: Line 167:
 
Mask port sifatnya optional dan hanya digunakan bagi pengguna yang sudah mahir dan mengerti bagaimana cara kerja filter “u32” bekerja.
 
Mask port sifatnya optional dan hanya digunakan bagi pengguna yang sudah mahir dan mengerti bagaimana cara kerja filter “u32” bekerja.
  
    Beberapa contoh:
+
Beberapa contoh:
 +
 
 +
RULE=10.1.1.0/24:80
  
RULE=10.1.1.0/24:80
 
 
Pilih trafik menuju menuju jaringan 10.1.1.0/24 port 80
 
Pilih trafik menuju menuju jaringan 10.1.1.0/24 port 80
  
    RULE=10.2.2.5
+
RULE=10.2.2.5
        Pilih trafik menuju ke semua port pada sebuah mesin 10.2.2.5
+
      Pilih trafik menuju ke semua port pada sebuah mesin 10.2.2.5
  
    RULE=10.2.2.5:20/0xfffe
+
RULE=10.2.2.5:20/0xfffe
        Pilih trafik menuju port 20 dan 21 pada mesin 10.2.2.5
+
      Pilih trafik menuju port 20 dan 21 pada mesin 10.2.2.5
  
    RULE=:25,10.2.2.128/26:5000
+
RULE=:25,10.2.2.128/26:5000
        Pilih trafik dari mana saja dengan source port 25 ke jaringan 10.2.2.128/26 port 5000
+
      Pilih trafik dari mana saja dengan source port 25 ke jaringan 10.2.2.128/26 port 5000
  
    RULE=10.5.5.5:80,
+
RULE=10.5.5.5:80,
        Pilih trafic dari Web server mesin 10.5.5.5 port 80 menuju mana saja.
+
      Pilih trafic dari Web server mesin 10.5.5.5 port 80 menuju mana saja.
  
  
REALM=[srealm,][drealm]
+
REALM=[srealm,][drealm]
  
 
Parameter akan membentuk filter “route” yang akan mengklasifikasi trafik berdasarkan realm source / destination paket. Untuk informasi lebih lanjut tentang realm, silahkan membaca referensi IP command dari Alexey Kuznetsov (http://linux-ip.net/gl/ip-cref/) . Script HTB tidak mendefinisikan realm apapun, HTB script ini hanya akan membuat perintah “tc filter” untuk anda.
 
Parameter akan membentuk filter “route” yang akan mengklasifikasi trafik berdasarkan realm source / destination paket. Untuk informasi lebih lanjut tentang realm, silahkan membaca referensi IP command dari Alexey Kuznetsov (http://linux-ip.net/gl/ip-cref/) . Script HTB tidak mendefinisikan realm apapun, HTB script ini hanya akan membuat perintah “tc filter” untuk anda.
Line 186: Line 192:
 
Realm dapat berbentuk nomor desimal atau kata yang mengacu pada realm biasanya bisa di baca di /etc/iproute2/rt_realms.
 
Realm dapat berbentuk nomor desimal atau kata yang mengacu pada realm biasanya bisa di baca di /etc/iproute2/rt_realms.
  
    Contoh:
+
Contoh:
  
    REALM=russia,internet
+
REALM=russia,internet
        Pilih trafik dari realm "russia" ke realm "internet"
+
      Pilih trafik dari realm "russia" ke realm "internet"
  
    REALM=freenet,
+
REALM=freenet,
        Pilih trafik dari realm "freenet"
+
      Pilih trafik dari realm "freenet"
  
    REALM=10
+
REALM=10
        Pilih trafik ke realm 10
+
      Pilih trafik ke realm 10
  
  
MARK=<mark>
+
MARK="mark"
  
 
Parameter ini akan membuat aturan filter “fw” yang akan memilih trafik untuk setiap class sesuai dengan “mark” firewall. Mark adalah nomor desimal yang ditandakan pada paket jika aturan firewall mengatakan demikian. Anda dapat menggunakan multiple MARK per config.
 
Parameter ini akan membuat aturan filter “fw” yang akan memilih trafik untuk setiap class sesuai dengan “mark” firewall. Mark adalah nomor desimal yang ditandakan pada paket jika aturan firewall mengatakan demikian. Anda dapat menggunakan multiple MARK per config.
Line 204: Line 210:
 
Perlu dicatat bahwa aturan untuk berbagai tipe filter dapat di gabungkan. Kita harus memperhatikan prioritas dari aturan filter, yang dapat di set menggunakan variabel PRIO_{RULE,MARK,REALM}.
 
Perlu dicatat bahwa aturan untuk berbagai tipe filter dapat di gabungkan. Kita harus memperhatikan prioritas dari aturan filter, yang dapat di set menggunakan variabel PRIO_{RULE,MARK,REALM}.
  
Parameter Waktu
 
  
    TIME=[<dow><dow>.../]<from>-<till>;<rate>[/<burst>][,<ceil>[/<cburst>]]
+
 
 +
==Parameter Waktu==
 +
 
 +
TIME=dowdow.../from-till;[rate[/burst][ceil[/cburst]]
 
     TIME=60123/18:00-06:00;256Kbit/10Kb,384Kbit
 
     TIME=60123/18:00-06:00;256Kbit/10Kb,384Kbit
 
     TIME=18:00-06:00;256Kbit
 
     TIME=18:00-06:00;256Kbit
  
Melalui parameter ini kita dapat membedakan bandwidth sebuah class dalam satu hari. Kita menggunakan multiple TIME, jika waktu-nya overlap, yang terakhir yang akan digunakan. Parameter <rate>, <burst>, <ceil> dan <cburst> mengacu pada parameter RATE, BURST, CEIL dan CBURST.
+
Melalui parameter ini kita dapat membedakan bandwidth sebuah class dalam satu hari. Kita menggunakan multiple TIME, jika waktu-nya overlap, yang terakhir yang akan digunakan. Parameter "rate", "burst", "ceil" dan "cburst" mengacu pada parameter RATE, BURST, CEIL dan CBURST.
  
 
Kita juga dapat mengatur berdasarkan hari dalam satu minggu pada aturan TIME, Day of Week <dow> dalam angka, 0 berarti minggu, 1 berarti senin, dst. Untuk menspesify beberapa hari, kita perlu menulis angka-nya menjadi satu kesatuan.
 
Kita juga dapat mengatur berdasarkan hari dalam satu minggu pada aturan TIME, Day of Week <dow> dalam angka, 0 berarti minggu, 1 berarti senin, dst. Untuk menspesify beberapa hari, kita perlu menulis angka-nya menjadi satu kesatuan.
 
  
 
Proses membuat aturan untuk di letakan di /etc/sysconfig/htb tidak terlalu sukar, hanya saja kita perlu membuat skenario yang spesifik di jaringan yang akan anda atur bandwidthnya.
 
Proses membuat aturan untuk di letakan di /etc/sysconfig/htb tidak terlalu sukar, hanya saja kita perlu membuat skenario yang spesifik di jaringan yang akan anda atur bandwidthnya.
 
Untuk membayangkan proses membuat file konfigurasi, kita lihat contoh topologi jaringan yang sering digunakan di RT/RW-net dengan ADSL Modem / router 3G tersambung ke Internet.
 
  
  
 +
==Contoh Konfigurasi==
  
  
Bayang kita kita mempunyai sambungan ke Internet menggunakan ADSL kecepatan uplink 64Kbps sementara kecepatan downlink 384Kbps.
+
Untuk membayangkan proses membuat file konfigurasi, kita lihat contoh topologi jaringan yang sering digunakan di [[RT/RW-net]] dengan [[ADSL Modem]] / [[router 3G]] tersambung ke Internet.Bayang kita kita mempunyai sambungan ke Internet menggunakan [[ADSL]] kecepatan [[uplink]] 64Kbps sementara kecepatan [[downlink]] 384Kbps.
  
Perlu di catat bahwa kita hanya dapat mengontrol trafic yang keluar dari device / interface saja. Kita tidak dapat mengontrol traffic yang masuk ke interface. Jika kita akan mengontrol trafic di kedua arah, sebaiknya HTB di implementasikan di ke dua interface tempat traffic keluar.
+
Perlu di catat bahwa kita hanya dapat mengontrol [[trafic]] yang keluar dari device / [[interface]] saja. Kita tidak dapat mengontrol [[traffic]] yang masuk ke [[interface]]. Jika kita akan mengontrol [[trafic]] di kedua arah, sebaiknya HTB di implementasikan di ke dua interface tempat traffic keluar.
  
Traffic dari internet ke LAN akan keluar melalui eth0 dengan kecepatan maksimum sama dengan ADSL 384Kbps. Sementara traffic dari LAN ke Internet akan keluar dari eth1 dengan kecepatan maksimum 64Kbps.
+
[[Traffic]] dari [[internet]] ke [[LAN]] akan keluar melalui eth0 dengan kecepatan maksimum sama dengan [[ADSL]] 384Kbps. Sementara [[traffic]] dari [[LAN]] ke [[Internet]] akan keluar dari eth1 dengan kecepatan maksimum 64Kbps.
  
Bayangkan jika kita ingin agar semua client di LAN memperoleh 28Kbit dari Internet. Sedangkan untuk trafik dari LAN ke Internet di ijinkan untuk sampai dengan 1Kbit untuk setiap client. Yang perlu di ketahui juga bahwa semua trafik akan melalui Linux proxy server yang menjalankan fungsi NAT, sehingga IP address LAN 192.168.0.0/24 akan berubah menjadi 192.168.1.100 pada saat masuk ke router ADSL.
+
Bayangkan jika kita ingin agar semua client di [[LAN]] memperoleh 28Kbit dari Internet. Sedangkan untuk trafik dari [[LAN]] ke [[Internet]] di ijinkan untuk sampai dengan 1Kbit untuk setiap client. Yang perlu di ketahui juga bahwa semua trafik akan melalui [[Linux]] [[proxy server]] yang menjalankan fungsi [[NAT]], sehingga [[IP address]] [[LAN]] 192.168.0.0/24 akan berubah menjadi 192.168.1.100 pada saat masuk ke router [[ADSL]].
  
Proses bandwith manajemen di lakukan di PC Linux, kita perlu mensetup file konfigurasi htb di kedua interface eth1(menuju ke Internet) dan eth0 (menuju LAN). File konfigurasi untuk mengatur / memanajed bandwidth di letakan di /etc/sysconfig/htb
+
Proses [[bandwith manajemen]] di lakukan di [[PC]] [[Linux]], kita perlu mensetup file konfigurasi [[HTB]] di kedua interface eth1(menuju ke [[Internet]]) dan eth0 (menuju [[LAN]]). File konfigurasi untuk mengatur / [[memanajed bandwidth]] di letakan di /etc/sysconfig/htb
  
 
File eth0
 
File eth0
    DEFAULT   = 30
+
DEFAULT = 30
  
 
File eth0-2.root
 
File eth0-2.root
    RATE       = 384Kbit
+
RATE = 384Kbit
    BURST   = 15k
+
BURST = 15k
  
 
File eth0-2:30.default
 
File eth0-2:30.default
    RATE       = 28Kbit
+
RATE = 28Kbit
    CEIL       = 384Kbit
+
CEIL = 384Kbit
    BURST   = 15k
+
BURST = 15k
    LEAF       = sfq
+
LEAF = sfq
  
 
File eth1
 
File eth1
    DEFAULT   = 30
+
DEFAULT = 30
  
 
File eth1-2.default
 
File eth1-2.default
    RATE       = 64Kbit
+
RATE = 64Kbit
    BURST   = 15k
+
BURST = 15k
  
 
File eth1-2:30.default
 
File eth1-2:30.default
    RATE       = 1Kbit
+
RATE = 1Kbit
    CEIL       = 64Kbit
+
CEIL = 64Kbit
    BURST   = 15k
+
BURST = 15k
    LEAF       = sfq
+
LEAF = sfq
  
  
Kita dapat dengan mudah memberikan perlakuan / bandwidth khusus untuk sebuah workstation / PC agar beda dari yang lain. Misalnya PC / workstation 192.168.0.104 kita ingin berikan kecepatan ke Internet lebih tinggi menjadi 100Kbps dari Internet dan 10Kbps menuju Internet. Maka konfigurasi yang perlu ditambahkan adalah
+
Kita dapat dengan mudah memberikan perlakuan / bandwidth khusus untuk sebuah workstation / [[PC]] agar beda dari yang lain. Misalnya PC / workstation 192.168.0.104 kita ingin berikan kecepatan ke [[Internet]] lebih tinggi menjadi 100Kbps dari Internet dan 10Kbps menuju [[Internet]]. Maka konfigurasi yang perlu ditambahkan adalah
  
 
File eth0-2:10.pc104
 
File eth0-2:10.pc104
    RATE       = 100Kbit
+
 
    CEIL       = 384Kbit
+
RATE = 100Kbit
    BURST   = 15k
+
CEIL = 384Kbit
    LEAF       = sfq
+
BURST = 15k
    RULE       = 192.168.0.104
+
LEAF = sfq
 +
RULE = 192.168.0.104
  
 
File eth1-2:10.pc104
 
File eth1-2:10.pc104
    RATE       = 10Kbit
+
RATE = 10Kbit
    CEIL       = 64Kbit
+
CEIL = 64Kbit
    BURST   = 15k
+
BURST = 15k
    LEAF       = sfq
+
LEAF = sfq
    RULE       = 192.168.0.104
+
RULE = 192.168.0.104
  
Dengan menggunakan perintah rule kita dapat mengatur aplikasi per workstation misalnya kita memberikan prioritas lebih tinggi untuk game di bandingkan dengan Web dsb. Kita perlu mengetahui port dari masing-masing aplikasi yang akan kita konfigurasi bandwidth-nya.
+
Dengan menggunakan perintah rule kita dapat mengatur aplikasi per [[workstation]] misalnya kita memberikan prioritas lebih tinggi untuk game di bandingkan dengan [[Web]] dsb. Kita perlu mengetahui port dari masing-masing aplikasi yang akan kita konfigurasi [[bandwidth]]-nya.
  
 
Setelah semua konfigurasi dibuat, yang perlu kita lakukan adalah
 
Setelah semua konfigurasi dibuat, yang perlu kita lakukan adalah
Line 283: Line 290:
 
  # echo /sbin/htb.init start -> /etc/rc.local
 
  # echo /sbin/htb.init start -> /etc/rc.local
  
Lakukan htb.init compile setiap kali kita mengubah / menambah aturan bandwidth.
+
Lakukan htb.init compile setiap kali kita mengubah / menambah aturan [[bandwidth]].
 +
 
 +
 
 +
 
 +
 
 +
==Pranala Menarik==
 +
 
 +
* [[Implementasi QoS pada level kernel]]
 +
* [[Linux Howto]]
 +
 
 +
 
 +
[[Category: Linux]]
 +
[[Category: Bandwidth Management]]

Latest revision as of 04:23, 25 May 2010

Mengatur Bandwidth mengalokasikan maksimum bandwidth untuk setiap user / komputer menjadi momok bagi banyak operator terutama untuk menjaga agar penggunaan bandwidth dapat maksimal untuk keperluan yang baik dengan keterbatasan yang ada.

Ada beberapa software open source untuk mengatur bandwidth ini. Ada dua (2) teknik manajemen bandwidth yang banyak digunakan di lapangan, yaitu, HTB dan CBQ. CBQ merupakan teknik yang paling lama, HTB lebih baru dari CBQ. Beberapa laporan / literatur menyebutkan bahwa HTB lebih baik dari CBQ hasilnya. Pada kesempatan ini, kita akan mencoba memfokuskan pada HTB.

Umumnya program pengatur bandwidth gratisan dapat di cari di SourceForge (http://www.sf.net). Pada kesempatan ini akan ditunjukan cara menginstalasi dan mengoperasikan software HTB. Yang anda butuhkan adalah script htb.init melalui URL http://sourceforge.net/projects/htbinit/. Belakangan ternyata ada script yang mungkin menarik untuk di coba yang membuat konfigurasi HTB menjadi lebih sederhana yaitu htb-gen yang bisa di ambil di http://www.praga.org.ar/dev/htb-gen/packages/htb-gen_0.8.4_all.deb

Scipt htb.init di turunkan dari cbq.init, sehingga memudahkan bagi mereka yang sudah biasa menggunakan CBQ untuk pindah ke HTB.

Beberapa langkah sederhana untuk menginstalasi htb.init adalah sebagai berikut

Ambil file htb.init-* yang terbaru dari Source Forge

http://sourceforge.net/projects/htbinit/

Copy ke directory /sbin

# cp htb.init-v0.8.5 /sbin/
# mv /sbin/htb.init-v0.8.5 /sbin/htb.init

Buat directory htb di /etc/sysconfig

# mkdir /etc/sysconfig/htb

Buat Aturan untuk manajemen bandwidth di /etc/sysconfig/htb berbentuk file-file untuk masing-masing aturan yang nantinya akan di compile melalui perintah htb.init compile.


Start htb

# /sbin/htb.init compile
# /sbin/htb.init start
# echo /sbin/htb.init start -> /etc/rc.local


Konfigurasi HTB

Pada htb.init, setiap kelas traffic di jelaskan oleh sebuah file yang biasanya di telatkan di /etc/sysconfig/htb. Konvensi penamaan file berbeda dengan cbq.init. Prefix 'cbq-' di hilangkan di htb. Penamaan di ganti dengan nama interface supaya lebih mudah bagi manusia untuk membaca-nya maupun untuk memisahkan konfigurasi yang hanya disiplin antrian saja.

Pilihan disiplin antrian global biasanya di letakan di /etc/sysconfig/htb/ifname*;, dimana "ifname" adalah nama dari interface jaringan. File ini harus ada jika kita ingin HTB mensetup interface yang di maksud. Jika tidak ada option yang ingin di masukan tidak masalah, biarkan saja file tersebut kosong, tapi file harus ada. Pilihan kelas dari file menggunakan nama yang harus sesuai dengan format berikut,

/etc/sysconfig/htb/ifname[sid]-[clsid][description]
  • [clsid] adalah class ID yang merupakan nomor hexadecimal range 0x2-0xFFFF, ditulis tanpa prefix “0x”. Jika ada beberapa class ID yang di batasi oleh “:”, maka [sid] yang terakhir dalam daftar merepresentasikan ID dari class di file konfigurasi.
  • [sid] yang mendahului [clsid] terakhir adalah class ID dari parent class. Untuk menjamin urutan, maka parent class selalui dibuat sebelum anak class-nya, disarankan untuk menyertakan semua [clsid] dari root class hingga leaf.
  • [description] adalah kalimat sembarang yang dapat kita tambahkan pada nama simbolik class agar dapat lebih terbaca.

Contoh nama yang valid adalah

eth0-2      root class dengan ID 2, pada interface eth0
eth0-2:3    child class dengan ID 3 dan parent 2, pada interface eth0
eth0-2:3:4  child class dengan ID 4 dan parent 3, pada interface eth0
eth1-2.root root class dengan ID 2, pada interface eth1

Ada banyak parameter yang dapat dimasukan ke file-file di atas. Detail dari parameter htb dapat dilihat pada http://luxik.cdi.cz/~devik/qos/htb. Beberapa format / perintah dari file aturan / rule di HTB terbagi dalam beberapa jenis parameter


Parameter Disiplin Antrian

Parameter disiplin antrian hanya berlaku pada disiplin antrian root htb dan harus dimasukan ke dalam file /etc/sysconfig/htb/[ifname]. File [ifname] harus ada jika kita ingin htb di operasikan di interface tersebut.


DEFAULT=[clsid]                               optional, default 0
DEFAULT=30

[clsid] adalah ID class default untuk traffic yang tidak berhasil di klasifikasi. Hati-hati htb.init akan menggunakan class ID default 0, yang artinya antrian FIFO akan berusaha mengirim paket pada kecepatan FULL / maksimum. Dengan mengubah DEFAULT akan menyebabkan prioritas paket menjadi lebih rendah.


R2Q=[number]                                  optional, default 10
R2Q=100
R2Q=100

Parameter R2Q memungkinkan kita untuk menset koefisien untuk menghitung nilai DRR (Deficit Round Robin). Nilai default 10 cukup baik untuk kecepatan 5-500Kbps dan harus di naikan untuk kecepatan tinggi.


DCACHE=yes|no                                 optional, default "no";

Paramter ini akan mengakifkan "dequeue cache" yang akan mengurani keadilan dalam pemrosesan paket tapi memungkinkan htb untuk digunakan dalam jaringan yang sangat cepat. Parameter ini default-nya off.


Paramater Class HTB

Parameter class HTB harus di letakan di file /etc/sysconfig/htb/[ifname]-[clsid](:[clsid])*.*.

RATE="speed"|prate|pceil                    wajib
RATE=5Mbit

Alokasi bandwidth ke sebuah class. Traffic yang lewat melalui class tertentu akan di bentuk sesuai dengan kecepatan yang diberikan. Anda dapat menggunakan Kbit, Mbit atau bps, Kbps, dan Mbps. Jika tidak di berikan unit-nya, maka bit/detik akan digunakan. Perlu di catat bahwa “bps” disini berarti “byte per detik” bukan bit per detik.

Nilai "prate" atau "pceil" akan mengambil nilai RATE atau CEIL dari class parent. Feature ini dibuat untuk membantu manusia agar file konfigurasi konsisten.


CEIL="speed"|prate|pceil            optional, default $RATE
CEIL=6MBit

Maksimum bandwith yang dapat digunakan oleh class. Beda antara CEIL dan RATE adalah besar bandwith yang dapat di pinjam, jika ada bandwidth yang sisa.

Default-nya, CEIL sama dengan RATE oleh karena itu class tidak dapat meminjam bandwidth dari parent. Jika kita ingin class bisa meminjam bandwidth yang tidak digunakan, kita harus memasukan nilai maksimum yang dapat digunakan, jika ada sisa.

Pada saat beberapa class berkompetisi untuk menggunakan bandwidth yang tidak digunakan, setiap class akan di berikan share proporsional terhadap RATE class tersebut.


BURST="bytes"            optional, default dihitung
BURST=10Kb
CBURST="bytes"            optional, default dihitung
CBURST=2Kb

Parameter BURST dan CBURST mengatur jumlah data yang akan dikirim dari satu class pada maksimum kecepatan hardware sebelum berusaha memberikan servis ke class yang lain.

Jika CBURST kecil, dia akan mengatur pengiriman paket agar tidak melebihi kecepatan CEIL, kira-kira sama dengan cara PEAK bekerja di mekanisme TBF.


PRIO=5

Prioritas dari class traffic. Semakin besar nomor, semakin kecil prioritas. Class dengan prioritas tinggi biasanya akan di berikan prioritas lebih dulu untuk menggunakan kelebihan bandwidth. Prioritas 5 sudah cukup.


LEAF=none|sfq|pfifo|bfifo        optional, default "none"

Memberitahukan script untuk menempelkan disiplin antrian yang spesifik untuk leaf ke class htb. Default-nya, tidak ada disiplin antrian leaf yang digunakan.

Jika kita ingin menjamin bahwa sharing bandwidth antara beberapa mesin di class yang sama, kita sebaiknya menggunakan LEAF=sfq untuk menempelkan SFQ sebagai disiplin antrian leaf ke sebuah class.


MTU="bytes"                optional, default "1600"

Maksimum panjang paket yang akan di buat oleh htb. Nilai default harusnya cukup untuk berbagai hal, tentunya cukup untuk Ethernet.


Parameter disiplin antrian SFQ

Disiplin antrian SFQ merupakan cara paling murah untuk melakukan sharing bandwidth antara beberapa mesin. Disiplin ini bersifat stochastik (random), tidak betul-betul fair tapi cukup fairlah. Jika anda membutuhkan sesuatu yang betul-betul fair, sebaiknya menggunakan disiplin antrian WRR (weighted round robin) atau WFQ. Perlu di catat bahwa SFQ tidak melakukan shaping trafik – shaping dilakukan oleh class HTB yang menggunakan SFQ.


QUANTUM="bytes"                    optional, default not set

Paramter ini harus di set tidak lebih rendah dari MTU sambungan, untuk ethernet adalah 1500b, atau (dengan MAC header) 1514b.


PERTURB="seconds"                optional, default "10"

Perioda yang digunakan oleh fungsi hash perturbation. Jika tidak di set, rekonfigurasi hash akan terjadi pada waktu yang mungkin tidak kita inginkan. Nilai defaul 10 detik biasanya cukup baik.

Parameter Disiplin Antrian PFIFO/BFIFO

Untuk antrian FIFO sederhana. Biasanya hanya satu parameter yang menentukan panjang-nya dalam byte atau paket.

LIMIT="packets"|"bytes"                       optional, qdisc default
LIMIT=1000

Jumlah paket / byte di antrian yang dapat di tampung. Unit tergantung pada tipe antrian yang digunakan.

Parameter Filter

RULE=[[saddr[/prefix]][:port[/mask]],][daddr[/prefix]][:port[/mask]]

Parameter ini akan membuat “u32” filter yang akan memilih traffic untuk setiap class. Anda dapat menggunakan multiple RULE per config.

Mask port sifatnya optional dan hanya digunakan bagi pengguna yang sudah mahir dan mengerti bagaimana cara kerja filter “u32” bekerja.

Beberapa contoh:

RULE=10.1.1.0/24:80

Pilih trafik menuju menuju jaringan 10.1.1.0/24 port 80

RULE=10.2.2.5
     Pilih trafik menuju ke semua port pada sebuah mesin 10.2.2.5
RULE=10.2.2.5:20/0xfffe
     Pilih trafik menuju port 20 dan 21 pada mesin 10.2.2.5
RULE=:25,10.2.2.128/26:5000
     Pilih trafik dari mana saja dengan source port 25 ke jaringan 10.2.2.128/26 port 5000
RULE=10.5.5.5:80,
     Pilih trafic dari Web server mesin 10.5.5.5 port 80 menuju mana saja.


REALM=[srealm,][drealm]

Parameter akan membentuk filter “route” yang akan mengklasifikasi trafik berdasarkan realm source / destination paket. Untuk informasi lebih lanjut tentang realm, silahkan membaca referensi IP command dari Alexey Kuznetsov (http://linux-ip.net/gl/ip-cref/) . Script HTB tidak mendefinisikan realm apapun, HTB script ini hanya akan membuat perintah “tc filter” untuk anda.

Realm dapat berbentuk nomor desimal atau kata yang mengacu pada realm biasanya bisa di baca di /etc/iproute2/rt_realms.

Contoh:

REALM=russia,internet
      Pilih trafik dari realm "russia" ke realm "internet"
REALM=freenet,
      Pilih trafik dari realm "freenet"
REALM=10
      Pilih trafik ke realm 10


MARK="mark"

Parameter ini akan membuat aturan filter “fw” yang akan memilih trafik untuk setiap class sesuai dengan “mark” firewall. Mark adalah nomor desimal yang ditandakan pada paket jika aturan firewall mengatakan demikian. Anda dapat menggunakan multiple MARK per config.

Perlu dicatat bahwa aturan untuk berbagai tipe filter dapat di gabungkan. Kita harus memperhatikan prioritas dari aturan filter, yang dapat di set menggunakan variabel PRIO_{RULE,MARK,REALM}.


Parameter Waktu

TIME=dowdow.../from-till;[rate[/burst][ceil[/cburst]]
   TIME=60123/18:00-06:00;256Kbit/10Kb,384Kbit
   TIME=18:00-06:00;256Kbit

Melalui parameter ini kita dapat membedakan bandwidth sebuah class dalam satu hari. Kita menggunakan multiple TIME, jika waktu-nya overlap, yang terakhir yang akan digunakan. Parameter "rate", "burst", "ceil" dan "cburst" mengacu pada parameter RATE, BURST, CEIL dan CBURST.

Kita juga dapat mengatur berdasarkan hari dalam satu minggu pada aturan TIME, Day of Week <dow> dalam angka, 0 berarti minggu, 1 berarti senin, dst. Untuk menspesify beberapa hari, kita perlu menulis angka-nya menjadi satu kesatuan.

Proses membuat aturan untuk di letakan di /etc/sysconfig/htb tidak terlalu sukar, hanya saja kita perlu membuat skenario yang spesifik di jaringan yang akan anda atur bandwidthnya.


Contoh Konfigurasi

Untuk membayangkan proses membuat file konfigurasi, kita lihat contoh topologi jaringan yang sering digunakan di RT/RW-net dengan ADSL Modem / router 3G tersambung ke Internet.Bayang kita kita mempunyai sambungan ke Internet menggunakan ADSL kecepatan uplink 64Kbps sementara kecepatan downlink 384Kbps.

Perlu di catat bahwa kita hanya dapat mengontrol trafic yang keluar dari device / interface saja. Kita tidak dapat mengontrol traffic yang masuk ke interface. Jika kita akan mengontrol trafic di kedua arah, sebaiknya HTB di implementasikan di ke dua interface tempat traffic keluar.

Traffic dari internet ke LAN akan keluar melalui eth0 dengan kecepatan maksimum sama dengan ADSL 384Kbps. Sementara traffic dari LAN ke Internet akan keluar dari eth1 dengan kecepatan maksimum 64Kbps.

Bayangkan jika kita ingin agar semua client di LAN memperoleh 28Kbit dari Internet. Sedangkan untuk trafik dari LAN ke Internet di ijinkan untuk sampai dengan 1Kbit untuk setiap client. Yang perlu di ketahui juga bahwa semua trafik akan melalui Linux proxy server yang menjalankan fungsi NAT, sehingga IP address LAN 192.168.0.0/24 akan berubah menjadi 192.168.1.100 pada saat masuk ke router ADSL.

Proses bandwith manajemen di lakukan di PC Linux, kita perlu mensetup file konfigurasi HTB di kedua interface eth1(menuju ke Internet) dan eth0 (menuju LAN). File konfigurasi untuk mengatur / memanajed bandwidth di letakan di /etc/sysconfig/htb

File eth0

DEFAULT = 30

File eth0-2.root

RATE  = 384Kbit
BURST = 15k

File eth0-2:30.default

RATE  = 28Kbit
CEIL  = 384Kbit
BURST = 15k
LEAF  = sfq

File eth1

DEFAULT = 30

File eth1-2.default

RATE  = 64Kbit
BURST = 15k

File eth1-2:30.default

RATE  = 1Kbit
CEIL  = 64Kbit
BURST = 15k
LEAF  = sfq


Kita dapat dengan mudah memberikan perlakuan / bandwidth khusus untuk sebuah workstation / PC agar beda dari yang lain. Misalnya PC / workstation 192.168.0.104 kita ingin berikan kecepatan ke Internet lebih tinggi menjadi 100Kbps dari Internet dan 10Kbps menuju Internet. Maka konfigurasi yang perlu ditambahkan adalah

File eth0-2:10.pc104

RATE  = 100Kbit
CEIL  = 384Kbit
BURST = 15k
LEAF  = sfq
RULE  = 192.168.0.104

File eth1-2:10.pc104

RATE  = 10Kbit
CEIL  = 64Kbit
BURST = 15k
LEAF  = sfq
RULE  = 192.168.0.104

Dengan menggunakan perintah rule kita dapat mengatur aplikasi per workstation misalnya kita memberikan prioritas lebih tinggi untuk game di bandingkan dengan Web dsb. Kita perlu mengetahui port dari masing-masing aplikasi yang akan kita konfigurasi bandwidth-nya.

Setelah semua konfigurasi dibuat, yang perlu kita lakukan adalah

# /sbin/htb.init compile
# /sbin/htb.init start
# echo /sbin/htb.init start -> /etc/rc.local

Lakukan htb.init compile setiap kali kita mengubah / menambah aturan bandwidth.



Pranala Menarik