- Back to Home »
- Linux »
- Management Bandwith Di Squid Menggunakan DELAY POOLS DiDebian
Posted by : Unknown
Kamis, 21 November 2013
Saya ingin menjelaskan
bagaimana cara mengkonfigurasikan proxy server untuk Management Bandwith diDebian.
A. Konfigurasi Manajemen Bandwidth di Squid
Berikut
langkah-langkah pengkonfigurasian manajemen bandwidth di squid:
- Pertama-tama periksa apakah squid telah berjalan di
server dan telah dikonfiguraisi sebagai mesin proxy server.
- 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.
- Jika sudah mengerti komponen-komponen delay pool, kita mulai konfigurasi delay pool .
B. Contoh Kasus
Di umpamakan kita mempunyai bandwidth dari ISP sebesar 512kb,
dan kita membuat rule seperti berikut
ini:
-
Maksimum download dibatasi 2 MB
-
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:
# Maksimum
download dibatasi 2 MB
# 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