Squid Delay Pool, Management BW
Begitu mahalnya harga internet di Indonesia, membuat penyedia jasa harus ekstra hati-hati dalam memberikan pelayanan. Satu sisi klien ingin harga murah, di sisi lain klien tidak ingin membayar mahal untuk koneksi internet kencang. Warnet misalnya, dengan 3000 sampai 5000 rupiah per jam dan koneksihanya up to 1 Mbps harus dipaksa melayani lebih dari 10 PC, yang pastinya akan sangat terasa lambatnya jika tidak diatur dengan pengatur bandwidth. Salah satu solusinya dengan squid.
Squid sendiri aplikasi yang digunakan sebagai server proxy cache, http://id.wikipedia.org/wiki/Squid.
Selain itu juga bisa mengatur permintaan bandwidth. Delay Pool sendiri
adalah salah satu fitur Squid yang digunakan untuk melakukan
pembatasan bandwidth.
Ada beberapa istilah di dalam delay pool.
delay_pools
menyatakan berapa banyak bagian/pool yang akan dibuat
delay_pools 1
Ket : hanya ada 1 pool yang kita berlakukan
delay_class
Opsi
ini menspesifikasikan kelompok dari masing-masing pool yang telah
didefinisikan pada opsi delay-pools. Ada tiga class yang didukung Squid
sebelum versi 3, antara lain:
• class 1: Semua akses dibatasi dengan single bucket, artinya satu aturan untuk semua semua jaringan.
• class 2: Semua akses dibatasi dengan single agregate dengan dua
parameter bandwidth. Parameter pertama mendefinisikan berapa bandwidth
maksimal seluruh jaringan, parameter kedua mendefinisikan bandwidth
yang lebih spesifik untuk per klien.
• class 3: Kelompok yang definisi bandwidth-nya paling mendetail. Parameter pertama mendefinisikan berapa bandwidth maksimal seluruh jaringan,
parameter kedua mendefinisikan berapa bandwidth normal yang didapatkan
per client , dan parameter yang ketiga adalah mendefinisikan bandwidth
yang didapatkan client jika mengakses file tertentu yang spesifik,
misalnya file mp3.
delay_class 1 3
Ket : pool 1 memiliki 3 class, artinya akan ada 3 aturan di dalam pool 1
delay_access
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
delay_access 1 allow localnet
delay_access 1 deny all
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.
Disinilah aturan pembatasan bandwidth berlaku. Max adalah kondisi dimana kita mendapatkan semua jatah bandwidth yang ada atau disaat pemakaian bukan pada puncaknya. Restore
adalah kondisi ketika bandwidth mencapai puncaknya, dan setiap aturan
akan mendapatkan bandwidth maksimal dari harga restore yang sudah kita
set.
delay_parameters 1 -1/-1 24000/32000 16000/32000
Ket :
Pool 1 memiliki 3 class.
Class 1 memiliki harga -1/-1 artinya keseluruhan bandwidth yang ada di alokasikan untuk seluruh jaringan client squid.
Class
2 memiliki harga 24000/32000 artinya masing-masing client squid akan
mendapatkan jatah bandwidth maksimal sebesar 32000 bytes/second atau
256 kbps dan ketika high trafic hanya akan mendapatkan maksimal 24000
bytes/second atau 192 kbps.
Class
3 memiliki harga 16000/32000 artinya ketika mendownload sebuah file,
client squid akan mendapatkan jatah bandwidth maksimal sebesar 32000
bytes/second atau 256 kbps dan ketika high trafic hanya akan
mendapatkan maksimal 16000 bytes/second atau 128 kbps.
Berikut contoh sederhana squid delay pool
Contoh 1
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 umum 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 umum
delay_access 3 deny all
Ket :
- admin, server dengan bandwidth unlimited
- staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
- umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
Contoh 2
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
Ket :
Delay pools yang digunakan untuk membatasi donlot file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh diatas digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.
Contoh 3
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
Ket :
Pada
jam kantor (07:00 – 18:00) speed yang diberikan hingga 256 kbps pada
masing-masing host, dan di luar jam kantor hanya diberikan speed hingga
64 kbps.
Atau jika anda kesulitan dengan konfigurasi manual seperti diatas, silahkan instal WebMin.
Diatas
ini adalah konfigurasi delay pool pada squid versi 3. Bukan cuma 3
class tapi hingga 5 class. Saya belum mencari tau tentang 2 class
tambahan yang ada di squid versi 3 ini.
Dalam bentuk script, konfigurasi diatas akan berbentuk
acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECTacl 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$ \.3gp$ 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$ acl warnet_ON time 10:00-23:00delay_pools 1 delay_class 1 3 delay_parameters 1 -1/-1 24000/32000 16000/32000 delay_access 1 allow localnet delay_access 1 allow download delay_access 1 allow warnet_ON delay_access 1 deny manager localhost to_localhost localnet SSL_ports Safe_ports CONNECT download
Komentar
Posting Komentar