myDeden.Kom

Pemulung yang Berusaha Memanfaatkan Limbah Sebaik Mungkin

Manajemen Bandwidth Di Squid Menggunakan Delay Pools

Posted by kang deden pada 1 Maret, 2007

Dokumen ini menjelaskan bagaimana cara mengkonfigurasikan proxy server anda untuk membatasi bandwidth download atau incoming traffic.
Berikut langkah-langkah pengkonfigurasian manajemen bandwidth di squid:
1. Pertama-tama periksa apakah squid telah berjalan di server dan telah dikonfiguraisi sebagai mesin proxy server.
2. Sebelum memulai memanajemen bandwidth di squid, kita jelaskan dulu komponen-komponen manajement bandwidth di squid :


delay_pools
Opsi ini untuk menspesifikasi berapa jumlah pool yang digunakan untuk membatasi jumlah bandwidth dari ACL. Opsi ini akan dirangkaikan bersama opsi delay_class dan delay_parameters yang akan dibahas di bawah ini.

delay_class
Opsi ini menspesifikasikan kelompok dari masing-masing pool yang telah didefinisikan pada opsi delay-pools. Ada tiga class yang didukung Squid, antara lain:
• class 1: Semua akses dibatasi dengan single bucket, artinya hanya bisa mendefinisikan overall bandwidth untuk suatu ACL saja, tidak bisa mendefinisikan bandwidth dengan lebih mendetail
• class 2: Semua akses dibatasi dengan single agregate dengan dua parameter bandwidth. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth overall untuk ACL yang spesifik yang ada pada network tersebut.
• class 3: Kelompok yang definisi bandwidth-nya paling mendetail. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth normal yang didapatkan ACL secara umum, dan parameter yang ketiga adalah mendefinisikan bandwidth yang didapatkan ACL jika mengakses ACL-ACL tertentu yang spesifik, misalnya file mp3.

delay_parameters
Opsi ini menspesifikasikan rumus bandwidth yang akan didapatkan oleh ACL yang akan memasuki delay_pool. Misalnya ada entry berikut ini pada delay_parameters:
delay_parameters 1 -1/-1 2100/4000
Angka 1 berarti rumus ini berlaku untuk pool 1. Angka -1/-1 berarti bandwidth maksimal yang diberikan Squid adalah tidak terbatas untuk pool ini.

Angka 2100/4000 berarti bandwidth yang didapatkan oleh ACL setelah masuk ke pool ini. Angka ini berada dalam kelipatan 8 b, sehingga untuk mendapatkan nilai bandwidth yang sebenarnya harus dikalikan delapan. Angka 2100 adalah bandwidth yang didapatkan ACL pada masa-masa normal. Jika dikalikan 8, maka bandwidth normal yang akan didapatkan ACL sekitar 18 Kbps. Angka 4000 adalah bandwidth maksimal yang didapatkan ACL pada masa-masa jalur sedang kosong. Jika dikalikan 8, maka bandwidth yang didapatkan sekitar 32 Kbps.

delay_access
Opsi ini mendefinisikan siapa-siapa ACL yang akan dimasukkan ke pool tertentu untuk mendapatkan “perlambatan” bandwidth. Bentuk umumnya adalah seperti ini:
delay_access 1 allow labprog
Opsi di atas berarti kita memasukkan ACL labprog ke dalam pool 1.

3. Jika sudah mengerti komponen-komponen delay pool, kita mulai konfigurasi delay pool .
Di umpamakan kita mempunyai bandwidth dari ISP sebesar 512kb, dan kita membuat rule seperti berikut ini:
– Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi, mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka koneksi perhost HANYA mengikuti aturan per-Network saja.

Penyelesaian:


Edit file /etc/squid/squid.conf
#vi /etc/squid/squid.conf
Lalu tambahkan contoh konfigurasi ini:
# Sebelum kita melakukan pembatasan, kita perlu mendefinisikan ACL network # # yang kita perlukan terlebih dahulu. ACL yang didefinisikan pada host bridge
# seperti di bawah ini:
acl lokal src 192.168.1.0/24# Kemudian kita membatasi maksimum download dengan tag di bawah ini:
# Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah
# 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk
# download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi,
# mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka
# koneksi perhost HANYA mengikuti aturan per-Network saja.

acl filegede url_regex -i \.exe
acl filegede url_regex -i \.mp3
acl filegede url_regex -i \.vqf
acl filegede url_regex -i \.gz
acl filegede url_regex -i \.rpm
acl filegede url_regex -i \.zip
acl filegede url_regex -i \.rar
acl filegede url_regex -i \.avi
acl filegede url_regex -i \.mpeg
acl filegede url_regex -i \.mpe
acl filegede url_regex -i \.mpg
acl filegede url_regex -i \.qt
acl filegede url_regex -i \.ram
acl filegede url_regex -i \.rm
acl filegede url_regex -i \.iso
acl filegede url_regex -i \.raw
acl filegede url_regex -i \.wav

# Kita buat dulu ACL untuk mendefinisikan file-file di atas dengan menggunakan # regularexpression. Kemudian kita mendefinisikan 2 delay pool untuk
# menampung bandwidth.
# Satu pool masuk dalam kategori class 2 untuk mendefinisikan aturan overall
# 256 Kbps dan per-network 64 Kbps. Satu pool lainnya masuk kategori class 3
# untuk mendefinisikan aturan tambahan jika user mendownload file-file yang
#didefinisikan dalam ACL url_regex dengan bandwidth maksimal 2 Kbps.


delay_pools 2
delay_class 1 3
delay_parameters 1 32000/32000 8000/8000 250/250
delay_access 1 allow lokal filegede
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 32000/32000 8000/8000
delay_access 2 allow lokal
delay_access 2 deny all

Jika sudah selesai, simpan hasil konfigurasi dan restart squid


#/etc/init.d/squid restart

Sumber : http://miji.wordpress.com/2007/02/06/57/#comment-21

Informasi Lengkap Dapat di lihat di : http://ezine.daemonnews.org/200209/squid.html

16 Tanggapan to “Manajemen Bandwidth Di Squid Menggunakan Delay Pools”

  1. Kang sudah pernah dibahaskah Squid itu apa?

    >> Sudah

  2. anak bawang said

    bagus nih artikelnya… terima kasih kang, selain dengan squid ada lagi ngga yah cara yang laennya…

  3. Kang, ada gak yang pake webmin biar gampang soalnya saya masih belajar. kalo bisa menajemen bw yang lewat NAT bukan Proxy.. kalo ada kasih tau ya.. soalnya sangat membantu.

  4. […] 2007 pada 8:13 adalah dan diberkaskan di dalam Linux – Kubuntu, FreeBsd. Buat Penanda Halaman Tautan Permanen. Ikuti komentar apa pun di sini dengan Pengumpan RSS untuk tulisan ini. Tulis komen atau tinggalkan […]

  5. Erta said

    Bagus tuh, jika ada tulisan2 yg nambah wawasan seperti ini. Cuma apa ada perbedaanya jika kita pake Squid di suse 10.2? trs bagaimana cara mengetahui port2 yang dipake oleh webcam seperti YM? apa bisa diallow ato deny?

  6. surief kasev said

    wuih….njelimet juga ya..??saya jadi pusing, tapi saya mau coba dech….
    :p
    tararengkyu……..

  7. Pak Pramono said

    Tulis komen atau tinggalkan […]

  8. indra said

    Salam kenal, sorry kang……..

    Untuk bagian yang di bawah ini :

    delay_pools 2
    delay_class 1 3
    delay_parameters 1 32000/32000 8000/8000 250/250
    delay_access 1 allow lokal filegede
    delay_access 1 deny all
    delay_class 2 2
    delay_parameters 2 32000/32000 8000/8000
    delay_access 2 allow lokal
    delay_access 2 deny all

    disetting di bagian yang mana ??????
    tolong pencerahnnya, maaf masih newbie……. he….he….
    trims

  9. lynggo said

    Om tolong penjelasan
    kalo saya punya bandwidth 512
    mo di bagi ke client untuk akses web sbb:

    512 untuk admin
    128 untuk client

    jadi parameternya gimana?

    masih bingung ngali ngalinya,

  10. khairulla said

    cara membuka bandwidth yg dibatasi gemana bisa ga da batasnya unlimited buat download makasih

  11. whoah said

    knp ya setingan squid saya msh bs di baypas ama app download?
    ini confignya: thx before
    http_port 3128 transparent
    icp_port 0

    acl youtube dstdomain .youtube.com
    acl speedtest dstdomain .speedtest.net
    cache allow youtube
    cache allow speedtest
    hierarchy_stoplist cgi-bin ? .js .jsp
    acl QUERY urlpath_regex cgi-bin \? .js .jsp
    no_cache deny QUERY

    acl apache rep_header Server ^Apache
    broken_vary_encoding allow apache

    cache_mem 1000 MB
    cache_swap_low 90%
    cache_swap_high 98%
    maximum_object_size 100 MB
    maximum_object_size_in_memory 100 MB
    ipcache_size 4096
    ipcache_low 90%
    ipcache_high 98%
    fqdncache_size 16384
    offline_mode off
    cache_replacement_policy heap LFUDA
    memory_replacement_policy heap GDSF

    cache_dir ufs D:/cache 6000 14 256

    request_body_max_size 10 MB
    cache_log c:/squid/var/logs/cache.log
    cache_log none
    cache_store_log none

    refresh_pattern ^http://.*\.gif$ 1440 50% 20160 reload-into-ims
    refresh_pattern ^http://.*\.asis$ 1440 50% 20160
    refresh_pattern -i \.png$ 10080 150% 40320 reload-into-ims
    refresh_pattern -i \.jpg$ 10080 150% 40320 reload-into-ims
    refresh_pattern -i \.bmp$ 10080 150% 40320 reload-into-ims
    refresh_pattern -i \.gif$ 10080 300% 40320 reload-into-ims
    refresh_pattern -i \.ico$ 10080 300% 40320 reload-into-ims
    refresh_pattern -i \.swf$ 10080 300% 40320 reload-into-ims
    refresh_pattern -i \.flv$ 10080 300% 40320 reload-into-ims
    refresh_pattern -i \.rar$ 10080 150% 40320
    refresh_pattern -i \.ram$ 10080 150% 40320
    refresh_pattern -i \.txt$ 1440 100% 20160 reload-into-ims
    override-lastmod
    refresh_pattern -i \.css$ 1440 60% 20160
    refresh_pattern ^http:// 1 100% 20160 reload-into-ims ignore-reload
    refresh_pattern ^ftp:// 240 50% 20160
    refresh_pattern ^gopher:// 240 40% 20160
    refresh_pattern /cgi-bin/ 0 0% 30
    refresh_pattern . 0 100% 20160 reload-into-ims

    negative_ttl 1 minutes
    positive_dns_ttl 24 hours

    quick_abort_min 0
    quick_abort_max 0
    quick_abort_pct 100

    acl localnet src 192.168.0.0/254

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443 563 4000
    acl Safe_ports port 80 81 82 83 88 90 91 11371 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 563 # https, snews
    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 SSL_ports port 2081-2090
    acl CONNECT method CONNECT
    acl download url_regex -i \.exe
    acl download url_regex -i \.mp3
    acl download url_regex -i \.vqf
    acl download url_regex -i \.gz
    acl download url_regex -i \.rpm
    acl download url_regex -i \.zip
    acl download url_regex -i \.rar
    acl download url_regex -i \.avi
    acl download url_regex -i \.flv
    acl download url_regex -i \.mpeg
    acl download url_regex -i \.mpe
    acl download url_regex -i \.mpg
    acl download url_regex -i \.qt
    acl download url_regex -i \.ram
    acl download url_regex -i \.iso
    acl download url_regex -i \.raw
    acl download url_regex -i \.wav
    acl download url_regex -i \.pdf
    acl download url_regex -i \.rmvb
    acl download url_regex -i \.123
    acl download url_regex -i \.ace
    acl download url_regex -i \.arc
    acl download url_regex -i \.arj
    acl download url_regex -i \.cdw
    acl download url_regex -i \.tar
    acl download url_regex -i \.chm
    acl download url_regex -i \.doc
    acl download url_regex -i \.ppt
    acl download url_regex -i \.dvi
    acl download url_regex -i \.gzip
    acl download url_regex -i \.ha
    acl download url_regex -i \.lha
    acl download url_regex -i \.lzh
    acl download url_regex -i \.mp2
    acl download url_regex -i \.msi
    acl download url_regex -i \.ogg
    acl download url_regex -i \.pak
    acl download url_regex -i \.ps
    acl download url_regex -i \.rtf
    acl download url_regex -i \.tgz
    acl download url_regex -i \.vqf
    acl download url_regex -i \.wri
    acl download url_regex -i \.xls
    acl download url_regex -i \.xlw
    acl download url_regex -i \.jpeg
    acl download url_regex -i \.jpg
    acl download url_regex -i \.png
    acl download url_regex -i \.dat
    acl download url_regex -i \.run
    acl download url_regex -i \.tar.bz
    acl download url_regex -i \.tar.gz

    delay_pools 1
    delay_class 1 3
    delay_parameters 1 128000/128000 14000/14000 4000/4000
    # keterangan dr semua anggka dibaris delay parameter adalah
    # maksudnya squid akan memakai bandwith max (128000×8) 1024000
    # 9 client dipaksa menggunakan bandwith sebesar (14000×8) 112000 yang jika dikalikan menjadi 1008000
    # sisa bandwith yg tidak terpakai digunakan untuk menghindari bottle neck
    # tiap client diperbolehkan men download dengan kapasitas (4000×8) 32000
    delay_access 1 deny all
    delay_access 1 allow download

    http_access allow manager localhost
    http_access deny manager
    http_access allow localnet
    http_access allow localhost
    http_access deny !Safe_ports
    http_access deny CONNECT
    http_access deny all

    icp_access deny all
    header_access Accept-Encoding deny all

    miss_access allow localhost
    miss_access allow localnet
    miss_access deny all

    visible_hostname proxy
    hostname_aliases squid

    logfile_rotate 1
    append_domain .localhost

    memory_pools off
    log_icp_queries off
    icp_hit_stale on
    query_icmp on
    reload_into_ims on

    always_direct allow to_localhost
    always_direct deny all
    never_direct deny all

    pipeline_prefetch on
    vary_ignore_expire on

  12. KocHi said

    mas, pake versi squidnya berapa?? koq gw dapat error keq gini

    2010/09/22 21:18:41| ACL name ‘lokal’ not defined!
    FATAL: Bungled squid.conf line 3150: delay_access 1 allow lokal filegede
    Squid Cache (Version 2.6.STABLE21): Terminated abnormally.

  13. jundan said

    terang aja acl filegede gak ada
    ganti dengan
    delay_access 1 allow filegede

  14. indra said

    thanks gan🙂

  15. smart comp said

    waduh koq bingung aq ya……
    tp gk ad salahnya di coba

  16. […] https://dedenthea.wordpress.com/2007/03/01/manajemen-bandwidth-di-squid-menggunakan-delay-pools/ Share this:TwitterFacebookLike this:LikeBe the first to like this. […]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: