back to weblogBatasi Kecepatan Unggah File Dengan CBQ


Saat kita meng-akses Internet, untuk membatasi kecepatan unduh (download) biasanya tinggal mengubah parameter aplikasi pengunduh (bagi pengguna/user) atau diatur dari parameter di-sisi proxy server (bagi jaringan lokal). Setting proxy sendiri relatif mudah, karena sudah disediakan pada konfigurasinya. Tentu saja saya menganggap anda paham tentang squid-proxy ini. Bilamana belum, silakan rujuk ke artikel berikut.

Pada squid-proxy (selanjutnya disebut proxy saja), parameter delay_pool memegang peranan penting, terutama untuk akses web (port 80). Nah, yang menjadi masalah berikutnya adalah, bagaimana caranya agar kita juga bisa mengatur kecepatan unggah (upload) file ke internet? Dan berikutnya adalah bagaimana cara membatasi kecepatan unduh (download) selain akses web (selain port 80)?

Oke, saatnya berpindah pembicaraan ke cbq. Script ini sendiri sebenarnya memanfaatkan kemampuan kernel dengan modules-nya, yakni iptables, untuk dapat memilah paket dan membatasi kecepatannya. Sebagai konsekuensi-nya, tentu mesin kita harus cukup tenaga untuk dapat melakukan dua pekerjaan tersebut sekaligus.

Baik kita langsung kepada contoh kasus nyata, mari kita simak skema jaringan sederhana berikut:

Inet <=> modem <=> router <=> switch <=> client (hardware)
Inet <-------- ppp0 <=> eth1 | eth0 ----------------> client (device)

Ket: ppp0 == modem, eth1 == kartu ke modem, eth0 == kartu ke client via switch

Langkah-langkah :
A.Mengatur kecepatan unggah file (upload)
1).Silakan unduh dulu aplikasi cbq_init disini.
2).Instal dahulu aplikasi ini sebagaimana biasanya.
#installpkg cbq_init-0.7.3-i386-1hdi.tgz

3).Saatnya menentukan kecepatan unggah file yang kita kehendaki! Misalkan 3 kilobytes per second atau 24000 bits per second, dan hanya berlaku untuk akses web (port 80) maka parameternya dituliskan sbb :
##> Upload Rate <##
DEVICE=ppp0,10Mbit,1Mbit #perangkat modem
RATE=24000 #kecepatan unggah
WEIGHT=2400 #1/10 kecepatan
BUFFER=6000 #sediaan penyangga
PRIO=5 #prioritas limit
RULE=,:80 #port tujuan yg dilimit

NB: Hati-hati dengan nilai RATE untuk unggah ini (10/02/09). Nilai < 64000 bps (8kbyte/second) akan mengakibatkan upload file / attachment file di email menjadi tidak berfungsi (seperti "hang/tanpa akhir" dan tidak kembali ke layar "compose/tulis").

4).Silakan rekam sebagai file parameter di folder /etc/sysconfig/cbq. Penentuan nama file adalah cbq-nomor.keterangan. Contohnya parameter diatas bisa disimpan sebagai cbq-024.upload-ppp0

B.Mengatur kecepatan unduh file (download)
Dengan aplikasi cbq_init, kita juga bisa membatasi kecepatan unduh client. Hal ini bertujuan agar semua port akses selain 80 dapat kita atur-atur kecepatannya. Contohnya adalah akses ke FTP, POP3 dan SOCKS.
1).Tentukan kecepatan unduh file yang kita kehendaki! Misalkan 3 kilobytes per second atau 24000 bits per second, dan hanya berlaku untuk akses pop3 (port 110) maka parameternya dituliskan sbb :
##> Download Rate <##
DEVICE=eth0,100Mbit,10Mbit #perangkat ethernet LAN
RATE=24000 #kecepatan unggah
WEIGHT=2400 #1/10 kecepatan
BUFFER=6000 #sediaan penyangga
PRIO=5 #prioritas limit
RULE=:110,192.168.0.0/28 #port asal plus IP class

2).Silakan rekam sebagai file parameter di folder /etc/sysconfig/cbq. Penentuan nama file adalah cbq-nomor.keterangan. Contohnya parameter diatas bisa disimpan sebagai cbq-024.download-eth0

C.Sisipkan rutin cek-ppp0-untuk-cbq
Rutin ini diperlukan manakala tidak setiap saat perangkat modem kita disambungkan ke Internet. Rutin akan memeriksa setiap menit tertentu, yakni sebagaimana yang ditentukan oleh cron-daemon.
1).Buatlah line tambahan berikut di /var/spool/cron/crontabs/root agar cron berjalan setiap beberapa menit
#Run every eleven minutes to watch ppp0
0-59/11 * * * * /usr/bin/run-parts /etc/cron.minutely 1> /dev/null

2).Bilamana anda ingin memastikan jalannya cron, maka lebih baik bila cron melaporkan pekerjaannya. Untuk hal tersebut silakan ubah /etc/rc.d/rc.M
asalnya => /usr/sbin/crond -l10 >>/var/log/cron 2>&1
ubahan => /usr/sbin/crond -l8 >>/var/log/cron 2>&1

3).Silakan jalankan kembali cron-daemon tersebut dengan command :
#ps ax|grep crond => catat pid nya
#kill -s 9 "pid_crond" => masukkan pid nya
#crond -l8

4).Oke, cron-daemon sudah aktif kembali dan siap jalankan rutin cek-ppp0-untuk-cbq. Jadi rutin ini akan memeriksa keberadaan ppp0, bilamana ada, maka ia akan mengaktifkan cbq_init. Dengan demikian otomatis pengaturan kecepatan unggah dan unduh dilakukan saat ppp0 aktif.

Hmm ternyata cukup panjang ya caranya? Tapi tidak sulit kan melakukan oprekan macam begini ??? (h)

om bagaimana kalau internet aktif terus, apa perlu cron jg. gmn menjalankan cbq_init nya?
thx
rinovan (URL) - 25 03 09 - 09:42

Hmm, sebenarnya ada 2 sisi positif cron.
1).Untuk memastikan cbq bekerja tiap kali terkoneksi dgn Internet. Sebenarnya sih bisa saja dieksekusi bersamaan dengan ppp0 atau pppoe, asalkan ada script yang disediakan oleh aplikasi terkait (utamanya dial-in/up). Bilamana tidak ada, ya tetap saja lebih baik dgn cron ini (menurut ane, CMIIW).
2).Untuk meng-eksekusi tiap kali ada pengubahan pada konfigurasi cbq di server kita. Pengubahan ber-efek setiap kali cron mengaktifkan service cbq (sesuai contoh adalah tiap 11 menit sekali).
Jadi... bagaimana? Silakan pilih ... (h)
slackycml () - 25 03 09 - 10:20

  
Ingat informasi pribadi?

Emoticon /
  (Daftarkan username Anda / Log in)

Ingatkan:
Hide email:

Catatan kecil: Semua tag html kecuali <b> dan <i> akan dihilangkan dari komentar. Anda dapat membuat link hanya dengan mengetikkan URL atau alamat email.

Linkdump

Tentang

Blog Hamba Alloh Penggemar Linux
Email: slackycml @slackycml.homelinux.org
Chat: Dal.Net room #awali
It's Me :-)


______ Ad-Dien _____
Nasehati Keluarga
Nasehati Ummat
____ Favorit Link _____
Planetnya Slacker's
Forum Slacker's
Asosiasi Warnet Linux
_____ Langganan ____
Slackware-Linux-Comal
___ Jml Pembaca ___

site stats