Anda di halaman 1dari 7

NAMA : FAJAR DWI JAYANTO TANGGAL : 04-02-2011

KELAS : 3 TKJ A PROXY SERVER PEMATERI : PAK DODI & PAK


NUSIRWAN
SMKN 1 CIMAHI ADMIN SERVER

Manajemen Bandwidth Di Squid Menggunakan Delay Pools


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.confLalu 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
Authenticated Proxy
Authenticated Proxy adalah proxy yang membutuhkan autentikasi berupa username dan password
apabila client akan menggunakan proxy tersebut. Authenticated Proxy juga dapat mengatur penggunaan
akses masing- masing user, contohnya user1 tidak dapat mengakses web-web tertentu sedangkan user2
dapat bebas mengakses web manapapun.

Skema otentikasi proxy yang tersedia untuk squid:

=> NCSA: Uses an NCSA-style username and password file.

=> LDAP: Uses the Lightweight Directory Access Protocol

=> MSNT: Uses a Windows NT authentication domain.

=> PAM: Uses the Linux Pluggable Authentication Modules scheme.

=> SMB: Uses a SMB server like Windows NT or Samba.

=> getpwam: Uses the old-fashioned Unix password file.

=> SASL: Uses SALS libraries.

=> NTLM, Negotiate and Digest authentication

Terdapat berbagai jenis autentikasi yang dapat digunakan pada sistem squid server, tetapi

yang paling sederhana dari kesemua sistem autentikasi tersebut adalah NCSA authentication.

NCSA authentication merupakan autentikasi berbasis httpd (web server) password yang

memungkinkan seorang client melakukan koneksi setelah melakukan autentikasi berupa

username dan password. Username dan password ini telah tersimpan di server dengan format

yang telah ditentukan sebelumnya.

Cara kerja NCSA authentication adalah :

1. Client mengirimkan username dan password kepada sistem, yang telah terenrkripsi.

2. Sistem akan melakukan decoding ulang dari password dan membandingkan dengan berkas

passwd yang ada pada server.

3. Jika password dan username cocok, maka client akan diizinkan untuk melakukan koneksi

Internet melalui proxy.


Contoh pembuatan authentication proxy dengan skema NCSA:

1. Install aplikasi squid

# apt-get install squid

2. Masuk direktori “/etc/squid/” Backup konfigurasi squid lalu buat dua buah user

# cd /etc/squid

# cp squid.conf squid.conf.bak

# htpasswd -c /etc/squid/passwd [username1]

# htpasswd /etc/squid/passwd [username2]

Opsi -c digunakan untuk membuat file tersebut

3. Buat sebuah file yang nantinya isi dari file tersebut berisi alamat-alamat web yang di blok, contoh

# nano /etc/squid/blok

4. Edit file /etc/squid/squid.conf

Tambahkan baris berikut pada baris terakhir

Pada konfigurasi di atas ada dua username yaitu guru dan siswa, dengan ketentuan user guru dapat

mengakses domain facebook.com sedangkan user siswa tidak dapat mengakses domain

facebook.com.

5. Pastikan bahwa http_port 3128 dan http_access deny all yang ada pada baris lainnya telah di beri

tanda crash (#) di awal barisnya.

Adapun baris lainnya yang dapat ditambahkan pada konfigurasi tersebut, antara lain sbb:

a) auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd : Specify squid

password file and helper program location

b) auth_param basic children 5 : The number of authenticator processes to spawn.

c) auth_param basic realm Squid proxy-caching web server : Part of the text the user will see

when prompted their username and password

d) auth_param basic credentialsttl 2 hours : Specifies how long squid assumes an externally
validated username:password pair is valid for - in other words how often the helper program is

called for that user with password prompt. It is set to 2 hours.

e) auth_param basic casesensitive off : Specifies if usernames are case sensitive. It can be on or

off only

f) acl ncsa_users proxy_auth REQUIRED : The REQURIED term means that any authenticated user

will match the ACL named ncsa_users

g) http_access allow ncsa_users : Allow proxy access only if user is successfully authenticated.

6. Save konfigurasinya, lalu restart service squid

# invoke-rc.d squid restart

7. Lakukan pengujian di browser, buka firefox lalu piih Menu Edit, lalu pilih Preferences, lalu akan

muncul jendela baru maka pilih tab Advanced, setelah itu pilih tab Network, lalu klik Setiings, pilih

Manual proxy configuration. Masukkan ip proxy server dan port yang digunakan.

8. Masuk ke alamat facebook.com lalu akan diminta username dan password, gunakan user siswa untuk

membuktikan web tersebut tidak dapat di akses.

9. Lakukan pengujian kedua dengan menggunakan user guru untuk membuktikan web facebook.com

dapat di akses