Pembatasan Download dengan Squid

Dalam satu jaringan network biasanya terdiri dari banyak user dan tentu saja terdiri dari banyak tingkah, masing-masing pengguna mempunyai sifat yang berbeda pula, masing-masing punya hak yang harus dipernuhi, akan tetapi biasanya ada beberapa pengguna yang menggunakan fasilitas jaringan computer dengan seenaknya, misalnya melakukan download file, sehingga mau tidak mau akan menyedot habis bandwith di suatu jaringan, untuk itu diperlukan pengaturan dari sang admin untuk membagi rata bandwith yang tersedia, salah satu yang dapat dilakukan adalah dengan membatasi kecepatan download, disini hanya akan membahas tentang pembatasan download dan bukan pembatasan bandwith, disini saya akan menggunakan fasilitas delay_pools dari Squid, yang merupakan aplikasi proxy yang biasa digunakan di lingkungan Unix/Linux. Hal pertama yang diperlukan adalah tentunya computer dengan system operasi Unix/Linux yang sudah berjalan diatasnya squid proxy, dan aplikasi squid yang sudah di compile dengan menggunakan modul delay_pools, disini saya tidak akan menguraikan panjang lebar cara kompilasi ataupun option-option yang lainya, langsung saja disini saya akan memberikan batasan hanya untuk satu blok jaringan. Untuk melakukanya tambahkan option berikut di file konfigurasi squid, disini saya menggunakan Slackware Linux 10.2, dan file konfigurasinya terdapat di /ets/suid/squid.onf

acl limit url_regex -i ftp .exe .mpeg .mp3 .zip
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow limit
delay_access 1 deny ALL

Dengan keterangan sebagai berikut :

acl limit url_regex -i ftp .exe .mpeg .mp3 .zip

Merupakan option untuk membatasi jaringan yang diberi nama “limit” untuk melakukan pembatasan berdasarkan file-file yang di download, untuk memfilter file-file yang akan dibatasi kita menggunakan url_regex (GNU regex)dan option -i mempunyai arti incansitive.

delay_pools 1

Digunakan untuk menentukan berapa banyak pools yang akan kita buat

delay_class 1 1

Menentukan class dari satu suatu pools, dan satu pools hanya bisa diisi 1 class, option diatas berarti akan melakukan “aksi” pada delay_class 1 dari pools 1.

delay_parameters 1 5000/100000

Menentukan parameter yang akan diberikan, yang berarti bahwa client akan mendapatkan kecepatan download 5000 Bps atau sekitar 5 Kbps apabila file yang di download lebih dari 100000 Byte (100 Kb) dan apabila melakukan download lebih kecil dari 100Kb maka client tidak akan dibatasi kecepatanya.

delay_access 1 allow limit

Option ini digunakan untuk memberikan izin kepada jaringan yang tadi telah kita beri nama “limit”.

delay_access 1 deny ALL

Dan yang terakhir digunakan untuk memblok network yang tidak terdapat dalam list acl.
Dan yang terakhir jangan lupa untuk menyimpan hasil perubahanya :p, kemudian untuk melihat hasilnya maka squid harus di restart terlebih dahulu, untuk memastikan coba lakukan cek dengan melakukan download pada file-file yang kita batasi downloadnya.

Leave a comment ?

22 Comments.

  1. wah skr rajin nulis…

  2. saiki rajin nulis….
    sukses bro….

  3. OK, thanx bos…. 🙂

  4. kayaknya perlu dipraktekkan langsung deh, kalau cuman ngebayangin nggak bisa neh mas. 🙂 semoga bermanfaat artikelnya.

  5. Mas jika saya punya kasus gini :

    Bandwith Koneksi internet 64 KBps, dan user squid terbagi menjadi :
    a. group admin : No limitation
    b. group a : 20 KBps
    c. group B : 10 KBps

    Bagaimana konfigurasi delay pool untuk kasus tersebut.

    Oh iya bukan untuk pembatasan download, tapi akses internet group tersebut.

    Thx b4

  6. ohhh.., kalo untuk pembatasan bandwith squid nggak bisa mas, coba pake HTB/CBQ aja.. 😀

  7. wiwin: bisa kok pake delay pool di atur gitu. tinggal maenan acl aja. nanti tinggal di allow pada saat delay_pool acl-acl tersebut masuk kategori yang mana aja 🙂

  8. kalo setau saya delay pools itu cuman bisa buat limit download, kalo yang dimaksud limit download beberapa network memang bisa tapi kalo limit bandwith setau saya nggak bisa lho.. 😀

  9. sering rancu kali yah? padahal setiap kita akses internet itu ya sama aja dengan download. Karena selalu ada proses upload / download packet data 🙂

    Delay pools itu kan fungsinya di squid ya untuk limit bandwidth ke port 80/3128. Delay pool di squid memang dirancang untuk limit bandwidth pada protokol http, karena memang itulah fungsi utama squid.

    Kalo saya, daripada pake delay_pools mending pasang satu mesin lagi yg berfungsi limiter bandwidth untuk semua protokol. nah, nanti engine limiternya bisa gunakan htb atau cbq.

    mudah2an malah tambah gak bikin bingung 😉

  10. hehe…
    begitulah mas.., bahasane mbingungi.. :))

  11. Kalau untuk trafik upload delay pool atau squid bisa ngaturnya gak.

  12. kalo untuk mbatasi bandwith upload setau saya ga bisa mas, cmiiw, tapi kalo untuk membatasi berapa besar maksimal file yag boleh di upload memang bisa..

  13. mas, ini ada case dtmpt saya, bener nggak nya saya kurang tau :D. di proxy saya d/l maks 3kb bila file diatas 100Kb, tp klo saya amati waktu d/l , d/l ke client memang cuman 3 kb, tetapi di interface yg arah internet d/l nya tidak terlimit 3kb. Apakah memang proxy hanya bisa membatasi limit dari mesin ke proxy ke client, tp tdk bisa batasi d/l dari internet ke mesin proxy? mohon pencerahannya. thks

  14. emang modelnya squd kayak gitu mas, jadi trafik yang masuk ke dia itu ga termasuk yang ke limit, baru setelah ngelewatin efek si delay_pools dari squid itu trafict-nya dibatesin, dan di lepas sedikit demi sedikit.

  15. mas saya mo tny nih saya menggunakan OS FC1 (lebih jadul lg nih… hehehe) sebagai sebuah server gateway untuk local network, lalu saya ingin menggunakan squid untuk membatasi download dr computer client yang ada di dlm network local saya.. misalkan saja IP gatewaynya adalah 192.168.100.100 dan IP untuk komputer clientnya 192.168.100.118 dan 192.168.100.106. dan maksud saya tiap client diberi jatah yang berbeda untuk melakukan download misalkan 2Kbps dan 7Kbps. kira2 bisakah mas membantu saya dalam konfigurasi squidnya dan juga iptables atau hal2 yang dibutuhkan. thx sebelumnya

    salam,

    willy

  16. coba pake model gini aja mas, pertama tambahkan di acl-nya :

    acl pertama  src 192.168.100.118/255.255.255.255
    acl kedua src 192.168.100.106/255.255.255.255

    trus tinggal dibatesin aja per ip yang nantinya akan kita batesin :

    delay_pools 2
    
    delay_class 1 1
    delay_parameters 1 2000/16000
    delay_access 1 allow pertama
    delay_access 1 deny ALL
    
    delay_class 2 1
    delay_parameters 2 7000/16000
    delay_access 1 allow limit
    delay_access 1 deny ALL
  17. mas saya udh coba untuk membatasi d/l tp saya masih coba yg untuk semua client untuk jaringan saya batasin kapasitas d/l nya belum saya batasin untuk tiap IP tp kok kecepatan downloadnya lebih kecil dr yg saya batasin ya…
    saya membatasi 7000/120000 tp kecepatannya jd 1.9Kbps kayanya jauh sekali… 😀 mohon bantuannya thx

  18. mas saya udh coba untuk membatasi d/l tp saya masih coba yg untuk semua client untuk jaringan saya batasin kapasitas d/l nya belum saya batasin untuk tiap IP tp kok kecepatan downloadnya lebih kecil dr yg saya batasin ya…
    saya membatasi 7000/120000 tp kecepatannya jd 1.9Kbps kayanya jauh sekali… 😀 mohon bantuannya thx

    salam

    willy

  19. wahhh mas ternyata bisa nih… tp yah itu kok kecepatannya masi dibwh yg saya batasin yah? btw mas tau cara klo mau kita mo batasinnya bukan menggunakan ip address tp menggunakan user yg dari pam-auth?? makasih udh mau membantu dan klo bisa mohon bantuannya lg..

    salam

    willy

  20. wah mas bisa jalan tu …

    mau tanya ..?
    – Gimana kalo ngebatasi file yang tidak ber-extension, soal ny ada downloader yg memfasilitasi download file tanpa extension terus ada lagi yang extensi nya di rubah d downloader, sehingga tidak terdapftar d ACL dan file tersebut bida lolos d download.
    Mohon solusiny ya mas….

    Makasih banyak

    Bilal

  21. aloo siang masss,

    mas gimana cara membatasi bandwidth/pembagian bandwidth untuk download sementara aku menggunakan server fedora core 2 ip gateway nya 192.168.xx.1 sementara ip client aku 192.168.xx.2 s/d 192.168.xx.97, mohon di bantu ya mas aku menggunakan speedy sebagai providernya, dan aku baru dikit mengetahui masalah server. thanks sebelumnya.

  22. Mau tanya ? Bagaimana cara membatasi Bandwith client dari squid sulinux per ip address,masalahnya aku baru pakai linux mohon bantuannya?

    Salam

    Dudy

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.