Mengatur bandwidth download dengan squid delay pool

Document Sample
Mengatur bandwidth download dengan squid delay pool Powered By Docstoc
					Mengatur bandwidth download dengan squid delay pool

By Henry Saptono (boypyt@gmail.com)
Aug 2008


Mau memberikan jaminan download file dari internet yang “fair”  ? coba gunakan fitur delay pool yang 
disediakan oleh squid (proxy server). Delay pool dapat Anda jadikan sebagai cara termudah bagi Anda 
dalam mengelola bandwidth internet pada kantor atau warnet Anda, meskipun hanya sebatas mengatur 
bandwidth download file via http atau ftp, ternyata delay pool dapat memberikan layanan jaringan yang 
lebih berkualitas bagi jaringan dikantor atau warnet Anda.


Layanan akses internet yang cukup populer adalah layanan akses web (http), bisa dikatakan saat ini 
hampir sebagian aplikasi berjalan dalam environment web, sehingga perlu perlakukan yang khusus untuk 
layanan web(http) ini. Penggunan internet di warnet umumnya mereka mengakses berbagai aplikasi dan 
layanan di internet melalui layanan http ini, mereka mendownload file melalui layanan http , sehingga 
bagi sebuah warnet pengaturan traffic download file lewat http ini sangat penting agar seluruh penggunan 
memperoleh kualitas jaringan yang baik dan terjamin. Tidak boleh ada seorang atau beberapa pengguna 
internet didalam jaringan Anda  yang memakan bandwidth dengan 'rakus' dikarenakan dia mendownload 
suatu file atau menonton video di youtube dan lain­lain. Tentunya hal tersebut dapat Anda atur, salah 
satunya menerapkan web caching dengan proxy server seperti squid (http://www.squid­cache.org), dan 
jaminan kualitas download file yang adil dapat didukung dengan memanfaatkan fitur delay pool yang ada 
di squid.


Dalam tulisan kali ini penulis akan menjelaskan bagaimana membangun sebuah proxy server dengan 
squid untuk memberikan atau menyediakan web caching dan pengaturan bandwidth download file via 
http. Harapannya adalah terciptanya jaringan akses internet yang berkualitas dan terjamin bagi kantor 
atau warnet Anda. Dalam tulisan ini penulis menggunakan sistem operasi Linux distro CentOS 5, dan 
software squid yang digunakan adalah bawaan distro CentOS yaitu squid­2.6.STABLE6­3.el5. 
Diasumsikan sistem operasi linux CentOS sudah Anda install dan software squid sudah Anda install juga 
saat instalasi linux, namun jika squid belum terinstall maka Anda dapat lakukan instalasi dengan yum 
atau manual seperti berikut ini:
    # ym install squid
atau
    # rpm -ivh /media/cdrom/CentOS/squid-2.6.STABLE6-3.el5.i386.rpm
I. Skenario
Agar memudahkan penjelasan maka penulis membuat skenario jaringan LAN sebagai berikut:
   ● Koneksi internet jaringan menggunakan ADSL dengan downlink 512kbps (512 kilo bit per 
      second) 
   ● Komputer yang bertindak sebagai proxy server adalah komputer yang juga berperan sebagai 
       gateway (internet sharing) pada jaringan LAN. Komputer ini memiliki dua buah network 
       interface, yaitu eth0 dan eth1. Network interface eth0 terhubung dengan modem ADSL, 
       sedangkan eth1 terhubung dengan hub atau switch LAN. Network Address LAN adalah 
       192.168.1.0/24.
   ● Konfigurasi proxy yang akan diterapkan adalah transparent proxy, dengan skenario pengaturan 
       bandwidth download file adalah setiap komputer dalam jaringan diatur agar bandwidth download 
       via http sebesar sekitar 16KBps(16 kilo byte per second), dengan maximum bucket 64KBps.




II. Konfigurasi Internet sharing (gateway)
Langkah konfigurasi pertama adalah mengkonfigurasi komputer bakal proxy server sebagai internet 
sharing (gateway), yaitu sebagai berikut:


            ■   Enbale IP Forwarding
# echo 1 > /proc/sys/net/ipv4/ip_forward
          atau edit file /etc/sysctl.conf, dan set parameter “net.ipv4.ip_forward=1”


            ■   Enable IP Masquerade
       Diasumsikan default policy firewall Anda adalah ACCEPT, dan tidak ada rule spesifik apapun 
pada konfigurasi firewall di komputer proxy server sebelumnya.
# service iptables stop
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j
MASQUERADE



            ■   Rule iptables untuk mendukung Transparent proxy
# iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 –dport 80 -j
REDIRECT –to-ports 3128
# service iptables save
# chkconfig iptables on
    Rule firewall tersebut akan menyebabkan setiap koneksi dari LAN dengan port tujuan 80 kemanapun 
akan di arahkan ulang sehingga menuju local process pada komputer gateway(proxy server) yaitu proses 
yang berjalan pada port 3128 (squid). 




III. Konfigurasi squid standar


Langkah selanjutnya adalah konfigurasi squid, secara default konfigurasi squid akan memblok semua 
koneksi dari jaringan LAN ke internet. Untuk itu kita harus melakukan konfigurasi ulang  dengan 
mengedit file /etc/squid/squid.conf. Beberapa parameter konfigurasi squid yang sebelumnya perlu Anda 
setup diantaranya adalah parameter berikut ini:
   ●   visible_hostname : parameter ini mendefinisikan nama komputer proxy server Anda , nilai 
       default parameter ini tidak diset. Terkadang pengguna awam sering menjumpai squid errror 
       dikarenakan parameter ini tidak diset dan squid mencoba menggunkan nama hostname komputer 
       Anda yang ternyata hostname nya tidak ditulis lengkap dengan nama domain. parameter ini dapat 
       diisi dengan nama komputer yang dilengkapi dengan nama domain. Misalnya sebagai berikut:
           visible_hostname proxy.coba.co.id
   ●   http_port: parameter ini menunjukkan nomor port service squid. Nilai defaultnya dalah 3128. 
       Jika Anda ingin menerapkan transparent proxy maka nilai parameter ini harus diset sebagai 
       berikut:
            http_port 3128 transparent
   ●   acl: parameter ini digunakan untuk mendefinisikan access control list format penulisannya 
       sebagai berikut:
       acl <nama-acl> <tipe-acl> <pattern> [<pattern...>]

      Dalam konfigurasi squid yang kita skenariokan , Anda harus membuat sebuah acl yang 
menunjukkan jaringan local Anda, Sebaiknya definisi acl ini Anda tulis pada file konfigurasi squid yaitu 
dibawah baris yang bertuliskan #INSERT YOUR OWN RULE HERE(S) ......., seperti berikut ini:
      # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
      acl lan src 192.168.1.0/24
    ● http_access: parameter ini menunjukkan rule yang akan diterapkan pada suatu access control list. 
      Untuk skenario kita maka Anda harus mendefinisikan rule yang akan mengijinkan LAN Anda 
      untuk dapat mengakses internet (tulis rule tersebut dibagian bawah dari pendefinisian acl ), 
      seperti berikut ini:
      # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
      acl lan src 192.168.1.0/24
      http_access allow lan
IV. Konfigurasi squid delay pool
Untuk mengatur bandwidth download sesuai skenario yaitu menyediakan bandwidth download untuk 
setiap host dalam LAN sebesar 16KBps dan maksimal bucket 64KBps, maka beberapa parameter 
konfigurasi squid yang berkaitan dengan delay pool yang harus Anda set  adalah sebagai berikut (edit file 
/etc/squid/squid.conf):
   ●   delay_pool: parameter ini menentukan ada berapakah pool yang akan Anda terapkan. Misalnya 
       dalam skenario kita ini hanya akan dibuat sebuah pool, maka konfigurasinya sebagai berikut:
       delay_pool 1


   ●   delay_class: parameter ini mendefinisikan class untuk setiap pool yang ada. Setiap pool harus 
       memiliki sebuah class (delay_class) tidak lebih dan tidak kurang. Jadi kalau Ada 2 delay pool 
       maka harus ada 2 delay_class. Class delay pool terdiri dari 3 class, yaitu :
           ■ class 1 : untuk delay pool dengan class ini maka semuanya dibatasi dengan single bucket 
              agregate. Setiap class harus berasosiasi dengan single bucket agregate. Single bucket 
              agregtae ini adalah bandwidth yang diasosiasikan dengan setiap class.
           ■   Class 2: untuk delay pool dengan class ini maka semuanya dibatasi dengan single bucket 
               agregate, dan suatu “individual” bucket untuk stiap host atau komputer dalm jaringan 
               class C.
           ■    Class 3: untuk delay pool dengan class ini maka semuanya dibatasi dengan single bucket 
               agregate, dan “networke” bucket untuk setiap network class C, serta suatu individual 
               bucket untuk stiap host atau komputer dalm jaringan class C. Untuk class 3 ini biasanya 
               digunakan jika LAN Anda terdiri dari beberapa segment jaringan class C.


       Untuk konfigurasi delay_class yang sesuai dengan skenario kita adalah seperti berikut ini:
               delay_class 1 2


   ●   delay_access: parameter ini menentukan suatu request ke proxy server harus diletakkan pada 
       delay pool yang mana. Konfigurasi delay_access yang sesuai dengan skenario kita adalah seperti 
       berikut ini:
       delay_access 1 allow lan
       delay_access 1 deny all
   ●   delay_parameters: parameter ini mendefinisikan parameter ­parameter untuk suatu delay pool. 
       Format penulisan parameter delay_parameters adalah sebagai berikut:
delay_parameter <pool> <aggregate bucket> [<network>] [<individual>]
Untuk skenario kita maka nilai delay_parameters nya sebagai berikut:

delay_parameters 1 -1/-1 16000/64000

catatan: ­1/­1 berarti bandwidth untuk aggregate nya diset unlimited (sesuai dengan bandwidth internet 
yang tersedia dari ISP). 16000(16KBps) adalah total bandwidth rata­rata yang bakal diperloleh setiap host 
dalam LAN, dan 64000(64KBps) adalah nilai bandwidth maksimum yang dapat tersedia dalam bucket 
disetiap saat.

Setelah konfigurasi squid Anda lakukan cobalah Anda restart atau start service squid seperti berikut ini:

# service squid start
# chkconfig squid on

Kemudian coba Anda gunakan web browser di beberapa client dan cobalah Anda download suatu file 
diinternet kemudian perhatikan kecepatan download pada window download. Berikut ini gambar ­1, yang 
menunjukkan proses download pada suatu komputer ketika mendownload sebuah file (perhatikan 
kecepatan perdetiknya sekitar 16KBps), dan juga perhatikan gambar­2 yang menggambarkan kecepatan 
saat mendownload 2 buah file bersamaan (perhatikan jika di total kecepatan perdetiknya sekitar 16KBps ) 
pada suatu host. 
Gambar­1. Mendownload sebuah file
Gambar­2. Mendownload dua buah file

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:13
posted:2/25/2012
language:
pages:7