Mengatur Bandwidth Dengan Squid

download Mengatur Bandwidth Dengan Squid

of 7

Transcript of Mengatur Bandwidth Dengan Squid

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    1/7

    Mengatur bandwidth download dengan squid delay pool

    By Henry Saptono ([email protected])

    Aug 2008

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

    Layanan akses internet yang cukup populer adalah layanan akses web (http), bisa dikatakan saat inihampir 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 danlayanan di internet melalui layanan http ini, mereka mendownload file melalui layanan http , sehinggabagi sebuah warnet pengaturan traffic download file lewat http ini sangat penting agar seluruh penggunanmemperoleh kualitas jaringan yang baik dan terjamin. Tidak boleh ada seorang atau beberapa penggunainternet didalam jaringan Anda yang memakan bandwidth dengan 'rakus' dikarenakan dia mendownloadsuatu file atau menonton video di youtube dan lain-lain. Tentunya hal tersebut dapat Anda atur, salahsatunya 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 adadi squid.

    Dalam tulisan kali ini penulis akan menjelaskan bagaimana membangun sebuah proxy server dengansquid untuk memberikan atau menyediakan web caching dan pengaturan bandwidth download file viahttp. Harapannya adalah terciptanya jaringan akses internet yang berkualitas dan terjamin bagi kantoratau warnet Anda. Dalam tulisan ini penulis menggunakan sistem operasi Linux distro CentOS 5, dansoftware 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 jugasaat instalasi linux, namun jika squid belum terinstall maka Anda dapat lakukan instalasi dengan yumatau manual seperti berikut ini:

    # ym install squid

    atau

    # rpm -ivh /media/cdrom/CentOS/squid-2.6.STABLE6-3.el5.i386.rpm

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    2/7

    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 adalah192.168.1.0/24.

    Konfigurasi proxy yang akan diterapkan adalah transparent proxy, dengan skenario pengaturanbandwidth download file adalah setiap komputer dalam jaringan diatur agar bandwidth downloadvia 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 internetsharing (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 apapunpada konfigurasi firewall di komputer proxy server sebelumnya.

    # service iptables stop

    # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -jMASQUERADE

    Rule iptables untuk mendukung Transparent proxy# iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 dport 80 -jREDIRECT to-ports 3128

    # service iptables save

    # chkconfig iptables on

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    3/7

    Rule firewall tersebut akan menyebabkan setiap koneksi dari LAN dengan port tujuan 80 kemanapunakan di arahkan ulang sehingga menuju local process pada komputer gateway(proxy server) yaitu prosesyang berjalan pada port 3128 (squid).

    III. Konfigurasi squid standar

    Langkah selanjutnya adalah konfigurasi squid, secara default konfigurasi squid akan memblok semuakoneksi dari jaringan LAN ke internet. Untuk itu kita harus melakukan konfigurasi ulang denganmengedit file /etc/squid/squid.conf. Beberapa parameter konfigurasi squid yang sebelumnya perlu Andasetup diantaranya adalah parameter berikut ini:

    visible_hostname : parameter ini mendefinisikan nama komputer proxy server Anda , nilaidefault parameter ini tidak diset. Terkadang pengguna awam sering menjumpai squid errrordikarenakan parameter ini tidak diset dan squid mencoba menggunkan nama hostname komputerAnda yang ternyata hostname nya tidak ditulis lengkap dengan nama domain. parameter ini dapatdiisi 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 sebagaiberikut:

    http_port 3128 transparent

    acl: parameter ini digunakan untuk mendefinisikan access control list format penulisannyasebagai berikut:acl []

    Dalam konfigurasi squid yang kita skenariokan , Anda harus membuat sebuah acl yangmenunjukkan jaringan local Anda, Sebaiknya definisi acl ini Anda tulis pada file konfigurasi squid yaitudibawah baris yang bertuliskan #INSERT YOUR OWN RULE HERE(S) ...... ., seperti berikut ini:

    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTSacl 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 Andauntuk 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 CLIENTSacl lan src 192.168.1.0/24http_access allow lan

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    4/7

    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 parameterkonfigurasi 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. Misalnyadalam 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 harusmemiliki sebuah class (delay_class) tidak lebih dan tidak kurang. Jadi kalau Ada 2 delay poolmaka 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 bucketagregate. Setiap class harus berasosiasi dengan single bucket agregate. Single bucketagregtae ini adalah bandwidth yang diasosiasikan dengan setiap class.

    Class 2: untuk delay pool dengan class ini maka semuanya dibatasi dengan single bucketagregate, 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 bucketagregate, dan networke bucket untuk setiap network class C, serta suatu individualbucket untuk stiap host atau komputer dalm jaringan class C. Untuk class 3 ini biasanyadigunakan 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 padadelay pool yang mana. Konfigurasi delay_access yang sesuai dengan skenario kita adalah sepertiberikut ini:

    delay_access 1 allow lan

    delay_access 1 deny all

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    5/7

    delay_parameters: parameter ini mendefinisikan parameter -parameter untuk suatu delay pool.Format penulisan parameter delay_parameters adalah sebagai berikut:

    delay_parameter [] []

    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 internetyang tersedia dari ISP). 16000(16KBps) adalah total bandwidth rata-rata yang bakal diperloleh setiap hostdalam LAN, dan 64000(64KBps) adalah nilai bandwidth maksimum yang dapat tersedia dalam bucketdisetiap 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 filediinternet kemudian perhatikan kecepatan download pada window download. Berikut ini gambar -1, yangmenunjukkan proses download pada suatu komputer ketika mendownload sebuah file (perhatikankecepatan perdetiknya sekitar 16KBps), dan juga perhatikan gambar-2 yang menggambarkan kecepatansaat mendownload 2 buah file bersamaan (perhatikan jika di total kecepatan perdetiknya sekitar 16KBps )pada suatu host.

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    6/7

    Gambar-1. Mendownload sebuah file

  • 8/14/2019 Mengatur Bandwidth Dengan Squid

    7/7