Selasa, 22 Mei 2012

Cara Membatasi Kecepatan Download File Tertentu Dengan Squid Proxy Server


 Bismillahirrohmanirrohim ,,,,,,.....

Pemakai internet mempunyai bermacam-macam karakter dalam mempergunakan akses internet dan kita tidak bisa melarang mereka untuk tidak melakukan ini atau itu. Seandainya bandwidth yang tersedia berlebihan tentu hal ini tidak akan menjadi masalah, yang menjadikan download suatu masalah besar adalah karena bandwidth yang kita pakai hanya terbatas dan dipakai oleh banyak orang. Untuk mengatasi hal itu kita akan sangat terbantu dengan adanya Squid (cache engine). Sedikit configurasi di dalam squid.conf yang akan membatasi download user dengan mempergunakan Delay Pools.


Sebelum kita mulai sebaiknya anda sudah menginstal Squid / Lusca Head di server proxy anda, dan sudah berjalan dengan semestinya.


Okelah....

file yang akan dikonfigurasi adalah file squid.conf biasanya terdapat didalam folder /etc/squid/squid.conf


1. delay_pools ( Jumlah) : menyatakan berapa banyak bagian/pool yang akan dibuat

Contoh  : delay_pools 2


2. delay_class ( Bagian tipe/class ) menentukan class/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang. bagian merupakan nomeor urut dari jumlah pool didelay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada " delay_pools "


Tipe merupakan tipe class delay yang dipakai. Secara umum tipe menyatakan bagaimana cara membagi bandwidth, ada 3 tipe: 

tipe/class keterangan
1 semua bandwidth yang ada akan dibagi sama rata untuk semua user squidex ada bandwidth 128 dan semua bandwith dipakai untuk browsing
2 membatasi pemakaian bandwith dari total bandwidth yang ada, dan bandwith yang diperuntukan squid akan dibagi semua user dengan sama rata.ex ada bandwidth 128 dimana 28 kbit dipakai untuk email dan sisanya (128-28) 100 kbit dipakai untuk browsing
3 membatasi pemakaian bandwidth dari total bandwidth yang ada, setiap network class C akan mendapat bandwidth sama besar, setiap user pernetwork akan mendapat bandwidth yang sama besar dari total bandwidth per networkex: bandwidth tersedia 512 kb, untuk browsing disediakan bandwidth 384 kb, sisanya untuk aktifitas lain.
Di jaringan tersebut ada 3 departement dengan network yang berbeda misal lab (192.168.1.0/24), manajer(192.168.2.0/24), sales(192.168.3.0/24).
nah misah oleh admin di set bahwa pernetwork mendapat jatah 128 kb/s.
maka user� di sales akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user� di lab akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user� di manajer akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.

Contoh :
delay_class 1 2 # pool 1 memakai clas tipe 2
delay_class 2 3 # pool 2 memakai clas tipe 3



3. delay_access ( Bagian acl )
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.

Contoh :
delay_access 1 allow manajer
delay_access 1 deny all
delay_access 2 allow sales
delay_access 2 deny all
 
 

4. delay_parameters
Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk. delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai. Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes. Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec. Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file. 1 byte = 8 bit.

SpesialCase :
-1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max
Contoh : 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.
Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec. Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.


class 1
 delay_parameters <#pool individual>
ex: delay_parameters 1 1000/64000

Berarti semua network akan mendapat bandwidth yang sama di pool no 1. Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
  

class 2
delay_parameters <#pool agregate individual>
ex: delay_parameters 1 32000/32000 1000/64000

Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.


class 3
delay_parameters <#pool agregate network individual>
ex: delay_parameters 1 32000/32000 8000/8000 1000/64000

Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

Contoh 1 : membatasi download pada ip tertentu/ klien dan membebaskan dari satu ip dengan squid/Lusca Head proxy

dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut
-  admin, server dengan bandwidth unlimited
-  staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
-  klien dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte



acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl klien src 192.168.1.0/255.255.255.0
acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71

delay_pools 3

delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all

delay_class  2 1
delay_parameters 2 1500/64000
delay_access 2 allow staf
delay_access 2 deny all

delay_class  3 1
delay_parameters 3 1000/32000
delay_access 3 allow klien
delay_access 3 deny all



Sekarang silahkan tes download file dengan menggunakan IDM, DAP, Bittoren atau download manager yang lainnya,  silahkan anda lihat kecepatan downloadnya.. apakah sudah berubah atau belum, jika belum ketikkan perintah 

" # squid -k reconfigure  " pada konsole


Contoh 2 : Membatasi Download File tertentu dengan Squid/ lusca head  Proxy

Delay pools juga dapat digunakan untuk membatasi Download  file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini. Contoh dibawah digunakan untuk membatasi download file multimedia hingga 1 kByte/sec.


acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow multimedia
delay_access 1 deny ALL


Untuk merubah batasan download silahkan rubah angka 1000 dengan angka yang lebih besar misalnya 1 mbps/s = 1048576  atau 10 mbps/s = 10485760 begitu seterusnya.



Contoh 3 :  Membatasi Download Pada Jam tertentu dengan Squid / Lusca Head Proxy

berikut adalah membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 – 21:00)


acl LTIME time SMTWHFA 10:00-21:00

acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$
acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$
acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$

delay_pools 1
delay_class 1 1
delay_parameters 1 3000/3000
delay_access 1 allow download TIME
delay_access 1 deny all



Contoh 4 : cara membedakan  batas Download Pada Siang hari dan Malam hari dengan squid /lusca head proxy 
 
cara membuat delay pools untuk membatasi download di siang hari dengan speed tertentu dan malam hari dengan speed tertentu :


acl JAM_KANTOR time SMTWHFA 07:00-18:00

delay_pools 2 delay_class 1 2
delay_parameters 1 24000/32000 -1/-1
delay_access 1 allow riset JAM_KANTOR
delay_access 1 deny all

delay_class 1 2
delay_parameters 2 8000/8000 -1/-1
delay_access 2 allow riset !JAM_KANTOR
delay_access 2 deny all



Contoh 5 : Membatasi Download File dengan ukuran Tertentu.


acl user src 192.168.1.0/24

delay_pools 1
delay_class 1 2
delay_parameters 1 40000/10000000 4000/5000000
delay_access 1 allow user download
delay_access 1 deny ALL



Contoh 6  : Membatasi/  Limit Youtube dengan Squid/ lusca Head proxy

tambah berikut ini pada squid.conf anda :

acl youtube dstdomain -i .youtube.com
acl striming url_regex -i get_video\?video_id videodownload\?
cache allow youtube
cache allow striming
dan harap di ingat untuk posisi tsb di atas sebaiknya diletakkan sebelum hierarchy_stoplist kemudian bisa di gabung ke delay_pool juga
delay_class 2 3
delay_access 2 allow warnet striming
delay_access 2 deny all
delay_parameters 2 -1/-1 -1/-1 3000/200000


hasilnya :


Connection: 0x7f1da510
   FD 149, read 555, wrote 6508975
   FD desc: http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M
   in: buf 0x7fe65000, offset 0, size 4096
   peer: 192.168.0.111:3317
   me: 127.0.0.1:3127
   nrequests: 1
   defer: n 0, until 0
uri http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M
log_type TCP_MISS
out.offset 6508872, out.size 6508975
req_sz 555
entry 0x7d24e240/599CDB16D8D8DCB1395E960CD807BD8B
old_entry 0x0/N/A
start 1193286572.113589 (2131.525289 seconds ago)
username - 


delay_pool 2 <= terkena delay





terima kasih semoga dapat membantu ;;;;






Bagi Yang Butuh Konfigurasi Squid/ Lusca Head Proxy  + Mikrotik , Yang lebih Bagus untuk Warnet/ Kantor , Game Online dll terutama untuk wilayah Bukittinggi dan Sumbar Silahkan Hubungi :

Ahmad Rapani 
HP : 082170824476 
YM : rapani_loebis
Email : rapani_loebis@yahoo.com 
FB : Rapani Loebis  (  http://www.facebook.com/rapani.loebis )



RAPANI-ID.COM 
Web Design & Programing, Jasa Pembuatan Website murah Di Bukittinggi - Sumbar , Jasa Pembutan Toko Online, Service VPS & Hosting Server, Setting & Instalasi Proxy Server, Instalasi Jaringan & Mikrotik Router, Service & Instalasi Komputer, Laptop 
Klik disini Info lebih lengkap
















1 komentar:

  1. Emang kayak gini bisa?
    acl striming url_regex -i get_video\?video_id videodownload\?
    Coba diteliti lagi format tulisannya. Kalau hasil copy diedit lagi deh ...

    BalasHapus