Showing posts with label Bandwidth Management. Show all posts
Showing posts with label Bandwidth Management. Show all posts

Sunday, October 05, 2008

Squid ZPH HTB-Tools Ubuntu 8.04

Pada post sebelumnya saya mencoba untuk menjelaskan pilihan-pilihan yang ada untuk bandwidth manajemen dengan menggunakan squid. Kemudian saya memilih untuk menggunakan kombinasi antara Squid ZPH dan HTB-Tools. 

Di bawah ini saya mencoba untuk menjelaskan bagaimana saya dapat menjalankan fungsi Squid ZPH di Ubuntu Server 8.04. 

Kebutuhan instalasi:
  • HTB-Tools yang sudah berfungsi normal
  • Squid 2.6.x yang sudah di patch ZPH atau Squid 2.7.x 
Sistem yang ditest berjalan dengan:
  • Ubuntu 8.04.1 Server 
  • HTB-Tools 0.3.0a
  • Squid 2.7.STABLE 3

KONFIGURASI SQUID

Tambahkan baris berikut di squid.conf

zph_mode tos
zph_local 0x30
zph_parent 0
zph_option 136

Restart konfigurasi squid

# squid -k reconfigure

KONFIGURASI HTB-TOOLS

Pertama generate konfigurasi HTB dengan q_parser, dengan perintah: 

# q_parser [interface yang digunakan] 10000 10000 [lokasi file/eth1-qos.cfg] > [direktori tujuan]/eth1-qos.sh

Contoh:

# q_parser eth1 10000 10000 /etc/htb/eth1-qos.cfg > /home/admin/eth1-qos.sh

Selanjutnya buka direktori tujuan:

# cd /home/admin 

Selanjutnya buka file eth1-qos.sh

# vi eth1-qos.sh

Kemudian cari baris berikut:

$TC qdisc add dev $DEV parent 1:0x10 handle 0x10: pfifo limit 5

Tambahkan baris berikut di bawahnya:

$TC class add dev $DEV parent 1:1 classid 1:0x15 htb rate 10Mbit
$TC filter add dev $DEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x30 0xff flowid 1:15

Sehingga menjadi:

$TC qdisc add dev $DEV parent 1:0x10 handle 0x10: pfifo limit 5
$TC class add dev $DEV parent 1:1 classid 1:0x15 htb rate 10Mbit
$TC filter add dev $DEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x30 0xff flowid 1:15

Setelah menyimpan file eth1-qos.sh, selanjutnya buat file tersebut dapat dieksekusi oleh sistem:

# chmod +x eth1-qos.sh

Kemudian eksekusi file tersebut dengan perintah:

# ./eth1-qos.sh

Terimakasih untuk:


Solusi Bandwidth Management

Optimalisasi penggunaan bandwidth adalah salah satu kewajiban dari administrator jaringan di suatu institusi atau kantor. Penggunaan bandwidth haruslah diusahakan seoptimal mungkin, sehingga pemakaian internet oleh user dapat dikontrol dengan baik. 

Bandwidth management dapat dilakukan dengan berbagai cara,  mulai dari squid dengan delay_poolsnya yang cukup efektif untuk membatasi akses melalui http (port 80) dan kemudian penggunaan HTB yang dapat digunakan untuk mengontrol traffic untuk semua port. 

Squid, selain berfungsi untuk bandwidth manajemen memungkinkan penggunanya untuk menghemat bandwidth internet. Squid berfungsi sebagai proxy server, sehingga halaman/file yang sudah diakses oleh pengguna yang menggunakan proxy server yang sama akan disimpan di dalam memory/harddisk. Sehingga ketika pengguna lain ingin mengakses halaman website/file yang sama. Proxy server tinggal memberikan data yang ada di dalam cachenya, sehingga tidak menggunakan koneksi internet lagi. Hal ini menguntungkan kedua belah pihak, karena pengguna akan mendapatkan halaman/file yang diinginkan lebih cepat (karena menggunakan koneksi lokal) dan bandwidth internet secara keseluruhan akan dihemat karena proxy server tidak lagi mengunduh data yang diinginkan pengguna dari internet. 

Permasalahan selanjutnya adalah apabila proxy server dan bandwidth manajemen (HTB)berada dalam satu server yang sama. HTB yang dijalankan dalam satu server dengan proxy akan membatasi semua jenis koneksi yang berasal dari server,  tidak perduli apakah traffic itu berasal dari internet atau berasal dari cache proxy. Konfigurasi seperti ini tidak efisien, karena seharusnya pengguna dapat mengunduh data yang terdapat di cache proxy dengan kecepatan penuh. Tanpa dibatasi oleh HTB. 

Contoh: 

Apabila bandwidth yang tersedia sebesar 512kbps dan dibagi untuk 4 client, masing-masing 128kbps. (Pembatasan dilakukan dengan menggunakan HTB) 

Maka bandwidth maksimum yang didapatkan oleh client (pengguna) adalah 128kbps, ketika koneksi penuh. Tidak perduli apakah data yang diakses itu sudah berada di cache proxy atau tidak. 

Yang kita inginkan adalah apabila data yang ingin diakes sudah berada di cache proxy, maka client tersebut harus dapat mengunduhnya dengan kecepatan LAN biasa (100mbps). 

Solusi:

Ada beberapa macam solusi yang saya temukan untuk permasalahan ini. 

1. Menggunakan Mikrotik <--> Squid with Tproxy  (2 Box)
2. Menggunakan Squid with ZPH <--> Mikrotik (2 Box)

3. Menggunakan Squid with ZPH+HTB (1 Box)

Dari berbagai solusi yang ada, akhirnya aku memutuskan untuk menggunakan pilihan yang ketiga. Tapi biar post ini gak terlalu panjang, jadi nanti aku post lagi khusus untuk konfigurasi Squid ZPH+HTB-Tools. 

Forum linux.or.id lagi down sih, tadinya mau ikutan diskusi disana juga. Mau berbagi pengalaman juga ama yang lain. Siapa tau ada yang menghadapi masalah yang sama.