Pages

Agustus 04, 2012

Membangun Proxy Server di Ubuntu (Bagian 3)

Konfigurasi Squid untuk membatasi Bandwidth


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
          $ sudo vi /etc/squid/squid.conf
       Lalu tambahkan contoh konfigurasi 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 lan filegede
              delay_access 1 deny all
              delay_class 2 2
              delay_parameters 2 32000/32000 8000/8000
              delay_access 2 allow lan
              delay_access 2 deny all

   Jika sudah selesai, simpan hasil konfigurasi dan restart squid
       $ sudo /etc/init.d/squid restart


Konfigurasi Squid untuk Autentikasi User

Maksud dari konfigurasi squid untuk autentikasi user yaitu jika user ingin browsing internet maka user harus melakukan autentikasi/login dulu ke server proxy. Berikut langkah-langkah konfigurasi autentikasi user:
1. Edit file /etc/squid/squid.conf
      $ sudo vi /etc/squid/squid.conf
2. Tambahkan ACL untuk autentikasi user
      auth_param basic realm Squid proxy server
      auth_param basic program /usr/lib/squid/ncsa_auth
      /etc/squid/passwd
      auth_param basic credentialsttl 1 hour
      auth_param basic children 5
      acl login proxy_auth REQUIRED
      http_access allow login

3. Setelah itu buat user yang nantinya akan digunakan untuk autentikasi.
    Misal kita akan membuat user proxy-user dengan password 123,gunakan perintah berikut:
      $ sudo htpasswd -bc /etc/squid/passwd proxy-user 123
4. Restart squid
      $ sudo /etc/init.d/squid restart













0 5komentar:

Posting Komentar