Tips & Triks Mengelola Kuota Internet Menggunakan SQUID PART VI (Finale)

Preface: tulisan di bawah ini merupakan catatan lama yang mungkin sudah kurang relevan dengan kondisi sekarang terutama perubahan versi SQUID, file konfigurasi, syntax maupun versi Operating System yang di gunakan. Setidaknya gambaran dasar terkait pengelolaan SQUID dapat dipahami, hopefully… Enjoy!

Lanjut lagi, mumpung perut kenyang, hati senang…

PART VI Mengatur Hak Akses Dengan Pembatasan Bandwidth

Ide pembatasan Bandwidth pada SQUID awalnya berasal dari Universitas Western Australia yang ingin membatasi biaya dan kepadatan lalu lintas  jaringan ke Internet untuk mahasiswa, tetapi tidak mempengaruhi akses Internet bagi staf dan akses lokal di dalam Universitas.

Pada SQUID versi 1.x, fungsi ini disebut DELAY_HACK, pada SQUID 2.x, fungsi ini disebut DELAY_POOLS.

Perlu diingat, tidak semua instalasi SQUID mendukung delay pools. Untuk instalasi menggunakan tar ball (paket source), anda harus menambahkan opsi enable-delay-pools saat kompilasi. Pada paket-paket RPM atau paket yang digunakan distribusi LINUX sekarang ini, fungsi tersebut sudah termasuk di dalamnya, jadi tidak perlu dilakukan perubahan apapun lagi.

Baca Juga:  Belajar Linux: Menggunakan Terminal/Command Line Part. 9

Pengaturan delay pools, membutuhkan konfigurasi minimal seperti di bawah ini:

acl <nama_acl> src <ip_address>
delay pools <jumlah_pengaturan>
delay_class <no_urut_pengaturan><pilihan_pool_1-3>
delay_access <no_urut_pengaturan> allow <nama_acl>
delay_parameters <no_urut_pengaturan> <max_bandwidth>

Pada dasarnya, tag delay pools membagi konfigurasi dalam beberapa class. Sebagai contoh, jika anda mempunyai 2 aturan bandwidth yang berbeda maka konfigurasi  delay pools membutuhkan 2 class untuk mengatur 2 perbedaan tersebut. Setiap class dapat memilih untuk menggunakan pengaturan pada pool 1, pool 2, atau pool 3. Perbedaan ketiga pool tersebut adalah:

Pool 1

Hanya mengatur pembatasan bandwidth pada keseluruhan jaringan yang melewati SQUID (Aggregate). Semua user diperlakukan sama dalam satu pengaturan.

Pool 2

Mampu mengatur pembatasan bandwidth untuk keseluruhan jaringan dan akses setiap individu (setiap host/IP Address) yang melewati SQUID (aggregate dan individual).

Pool 3

Mampu mengatur pembatasan bandwidth seperti Pool 2 ditambah dengan group dari semua host (aggregate, network dan individual).

Catatan: Pada SQUID versi 3.*, class pool dibagi menjadi 5 class. Penjelasannya bisa di lihat di LINK INI

Beberapa contoh berikut diharapkan mampu membantu anda dalam menerapkan konfigurasi delay pools ini.

Contoh 1: Membatasi Total Bandwidth Sebesar 64 Kbps.

Contoh kasus sebagai contoh sebuah universitas yang ingin membatasi total bandwith sampai 64 Kbps. Contoh suntingan squid.conf nya.

acl all src 0.0.0.0/0.0.0.0
delay pools 1
delay_class 1 1
delay_access 1 allow all

#pada pool 1:
#delay_parameters 1 <aggregate>
#pada pool 2:
#delay_parameters 1 <aggregate><individual>
#pada pool 3:
#delay_parameters 1 <aggregate><network><individual>

delay_parameters 1 8000/8000

Penjelasan singkat:
    1. ACL untuk semua host (acl all src 0.0.0.0/0.0.0.0,  biasanya sudah ada di default squid.conf)
    2. Pengaturan jumlah pengaturan yang diperlukan (delay_pools 1, hanya ada 1 pengaturan)
    3. Menentukan pool yang diatur dalam class 1 (delay_class 1 1, menggunakan Pool 1)
    4. Menentukan ACL yang menggunakan class 1 (delay_access 1 allow all, konfigurasi class 1 digunakan untuk semua)
    5. Menentukan batasan bandwidth (delay_parameters 1 8000/8000, yaitu 64Kbps atau 8000 bytes per second).

Catatan: Perlu diingat bahwa pada penggunaan di “Data Communication”, 1 kilobits = 1000 bits, sedangkan untuk pada penggunaan “Data Storage”, 1 Kilobytes = 1024 bytes. Sedangkan satuan 1 Byte = 8 bits

Contoh 2: Membatasi Bandwidth untuk perorangan (Maksimum 12 Kbps)

Contoh lain adalah membatasi bandwidth untuk setiap computer maksimum sebesar 12 Kbps. Sebelumnya, kita harus mendefiniskan ACL yang akan diatur, misalkan Network 192.168.1.


acl user12kbps src 192.168.1.0/255.255.255.0

Selanjutnya, kita akan menggunakan 1 class dengan Pool 3


delay pools 1
delay_class 1 3

Kita harus mengatur bahwa ACL yang menggunakan pengaturan class 1 di atas dan menolak semua pengguna diluar ACL (termasuk dalam acl all)


delay_access 1 allow user12kbps
delay_access 1 deny all

Terakhir, buatlah pengaturan bandwidth untuk keseluruhan jaringan (misalkan 64 Kbps), group dari semua host (maksimum bandwidth yang ada), dan setiap individu (12 Kbps dari total bandwidth 64 Kbps)

#delay_parameters 1 <aggregate><network><individual>
delay_parameters 1 8000/8000 -1/-1 1500/8000

Potongan dari squid.conf akan seperti dibawah ini:

acl user12kbps src 192.168.1.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0

delay pools 1
delay_class 1 3

delay_access 1 allow user12kbps
delay_access 1 deny all

#delay_parameters 1 <aggregate> <network> <individual>
delay_parameters 1 8000/8000 -1/-1 1500/8000


Contoh 3: Membatasi Bandwidth untuk Download File Multimedia

Seringkali kita membutuhkan untuk membatasi bandwidth yang digunakan oleh user untuk mendownload file-file multimedia, seperti mp3, mpeg, avi, qt (Quick Time), ram (Real Audio) dan sejenisnya. Untuk file lainnya diberikan hak akses dengan bandwidth maksimum (dinyatakan dlam notasi -1/-1)

Contoh konfigurasi untuk settingan di atas adalah sebagai berikut:

 

acl pengguna url_regex 192.168
acl multimedia_maniac url_regex –i .mp3 .mpeg .mpg .mpe .avi .qt .ram .rm
delay pools 2
delay_class 1 2
delay_access 1 allow pengguna
#delay parameters 1 <aggregate> <individual>
delay_parameters 1 -1/-1 -1/-1 
delay_class 2 2
delay_access 2 allow multimedia_maniac
#delay_parameters 2 <aggregate><individual>
delay_parameters 2 4000/4000 2000/4000

Berdasarkan konfigurasi di atas, bandwidth untuk seluruh pengguna yang men-download file-file multimedia dibatasi hanya sampai 4000 bytes per second atau 32 Kbps, sedangkan untuk individu hanya mempunyai kecepatan download sebesar 2000 bytes per second atau 16 Kbps saja (fill-rate) sampai dengan maksimum 32 Kbps terpenuhi (reserve).

Perhitungan yang tepat dari seorang administrator jelas sangat diperlukan untuk mengimplemantasi semua konfigurasi di atas.

Pastikan SQUID direload/direstart setelah melakukan modifikasi pada squid.conf

Mohon koreksi atas mistypo dan kesalahan lainnya…

Source:

  • Pengalaman pribadi
  • Google
  • Trik Mengelola Kuota Internet Bersama dengan SQUID (Penyusun: Ridwan Sanjaya, Penerbit: Elex Media Komputindo)
  • Sumber-sumber lain yang saya sudah lupa dan kalaupun ingat gak mungkin dong saya sebutin satu-satu disini…di SKRIPSI aja sumbernya gak sebanyak itu…hehehe :)
About This Author

IT Engineer, Red Hat Certified System Administrator & Technician (RHCT & RHCSA), Certified Data Center Facilities Operation Manager (CDFOM), Certified Ethical Hacking (CEH), expert in Computer Networking in multi operating system and hardware. Specialties: Linux, Free BSD, *Nix, MS Windows, Data Center, Cisco & Computer Networking

Post A Reply