Selamat Datang !

Tugas sekolah si pimen :D

Jumat, 04 Februari 2011

Managemen Bandwidth dengan Delay Pool di Squid

  • Konfigurasi Delay Pools

Membatasi Bandwidth

Kelas Delay umumnya digunakan di tempat-tempat bandwidth mahal. Mereka membiarkan Anda memperlambat akses ke situs tertentu (sehingga download lainnya bisa terjadi pada tingkat yang wajar), dan mereka memungkinkan Anda untuk menghentikan sejumlah kecil pengguna menggunakan semua bandwidth anda (dengan mengorbankan mereka hanya mencoba untuk menggunakan Internet untuk bekerja).
Untuk memastikan bahwa bandwidth tersedia untuk download yang berhubungan dengan pekerjaan, Anda dapat menggunakan delay-kolam. Dengan mengelompokkan download ke dalam segmen, dan kemudian mengalokasikan segmen ini sejumlah bandwidth (dalam satuan kilobyte per detik), link anda dapat tetap uncongested untuk lalu lintas berguna.
Untuk menggunakan delay-kolam Anda harus memiliki Squid dikompilasi dengan kode sumber yang tepat: Anda harus menggunakan - enable delay-kolam opsi-ketika menjalankan mengkonfigurasi program

Operator-acl (delay_access) digunakan untuk membagi permintaan ke kolam renang. Karena kita menggunakan ACLs, Anda dapat berpisah permintaan berdasarkan alamat sumber, url tujuan atau lebih.

Konfigurasi Squid dengan Delay Pools

Untuk mengaktifkan opsi penundaan kolam renang,
Kompilasi squid dengan - enable--delay pools
Contoh
acl src 192.168.0.1-192.168.0.20/32 tech
no_hotmail acl url_regex-i hotmail
src 0.0.0.0/0.0.0.0 acl semua
delay_pools 1 # Jumlah 1 delay_pool
delay_class 1 1 # pool 1 adalah 1 delay_class
delay_parameters 1 100/100
delay_access 1 memungkinkan no_hotmail! tech
Dalam contoh di atas, pengguna hotmail terbatas pada kecepatan yang ditentukan dalam delay_class tersebut. IP dalam ACL teknologi yang diizinkan dalam bandwidth normal. Anda dapat melihat penggunaan bandwidth melalui cachemgr.cgi.

  • ACL dan Delay Pools Under Squid

Squid memiliki banyak cara membatasi akses ke, dan membatasi apa yang pengguna dapat lakukan.

Kami akan mencakup daftar kontrol akses dasar, dan bagaimana ini dapat digunakan dari memaksa permintaan untuk melewati proxy orang tua untuk membatasi akses ke proxy. Selain itu, kami akan menjelaskan cara untuk melindungi password proxy, dan bagaimana menerapkan delay pools (membatasi penggunaan bandwidth).

ACL memiliki banyak pilihan untuk membatasi akses berdasarkan alamat ip sumber, alamat tujuan ip, domain sumber, dan domain tujuan. Hal ini dilakukan oleh:

         acl src wxyz / abcd # ACL berdasarkan alamat sumber ip
         acl dst wxyz / abcd # ACL berdasarkan alamat tujuan ip
         srcdomain foo.com acl # ACL berdasarkan sumber domain
         foo.com dstdomain acl # ACL berdasarkan domain tujuan

Untuk menggunakan ini untuk membatasi akses ke proxy squid anda untuk hanya host yang anda ingin - yakni, host lokal, gunakan format perintah berikut:

         acl LAN src 192.168.1.0/255.255.255.0
         http_access memungkinkan LAN
         http_access deny semua

Dalam contoh ini, kami membatasi akses ke kelas privat C 192.168.1.0.

Anda dapat memiliki sebagai garis acl sebanyak yang Anda inginkan, menetapkan sebagai ip banyak sumber yang berbeda alamat yang Anda inginkan. Tambahkan http_access lain memungkinkan line untuk setiap acl, dan mengingat garis OR'ed bersama-sama. Jika Anda ingin memiliki beberapa pembatasan, menempatkan mereka pada baris http_access yang sama dan mereka AND'ed bersama.

Untuk membatasi akses ke proxy squid melalui waktu, gunakan format:

        aclname acl waktu [hari-abbrevs] [h1: m1-h2: m2]
            hari-abbrevs:
                S - Minggu
                M - Senin
                T - Selasa
                W - Rabu
                H - Kamis
                F - Jumat
                A - Sabtu

Ini dapat digunakan, misalnya, untuk membatasi akses untuk bekerja jam (9:00-17:00, Senin sampai Jumat).

         acl hari kerja waktu MTWHF 9:00-17:00
         http_access memungkinkan hari kerja

Ada format lain untuk daftar kontrol akses, mulai dari ekspresi reguler berdasarkan sumber, URL dan nama tujuan domain, browser User-Agent string (string yang mengidentifikasi ke server apa browser yang Anda gunakan), dan banyak lagi.

Lihat squid.conf default didistribusikan dengan Squid untuk informasi lebih lanjut.

Hal ini juga mungkin untuk memaksa permintaan baik langsung ke sumber, atau untuk pergi melalui setiap orang tua atau saudara proxy. Memaksa semua lalu lintas melalui proxy lingkungan berguna dalam situasi di mana lalu lintas ke proxy orang tua adalah biaya lebih rendah dari lalu lintas langsung. Memaksa lalu lintas untuk pergi langsung ke server biasanya digunakan untuk memaksa permintaan lokal (misalnya, host di intranet). Standar cara mengkonfigurasi ini adalah:

         acl dstdomain host.domain.com lokal-intranet
         always_direct memungkinkan lokal intranet
         never_direct menyangkal lokal-intranet
         never_direct mengizinkan semua

Squid juga mendukung otentikasi proxy.

Ini adalah ide sederhana yang membaca dalam sebuah username dan password, menjalankan program otentikasi yang ditentukan, dan baik kembali OK, jika username / kombinasi password sudah benar, atau ERR jika tidak, dalam sebuah lingkaran tak berujung. Ini dapat digunakan dalam banyak cara - pencarian password sistem yang sederhana, pencarian database atau bahkan query LDAP.

Secara default, Squid dilengkapi dengan otentikasi proxy tradisional di SQUID_SRC_ROOT / auth_modules / NCSA direktori. Untuk kompilasi, cd ke direktori ini dan ketik:

         $ Make
         # Make install

Kemudian tambahkan baris seperti berikut untuk benar-benar mengaktifkannya:

         authenticate_program / usr / bin / ncsa_auth / usr / etc / passwd

Kemudian tambahkan sebuah baris ACL serupa dengan berikut ini:

         acl proxy_auth username authacl ..  # Gunakan DIBUTUHKAN sebagai nama pengguna untuk setiap

Hal ini kemudian dapat digunakan dalam baris http_access, sebagai berikut:

         http_access memungkinkan authacl

Setiap permintaan untuk proxy maka harus dikonfirmasi.

Anda juga dapat menetapkan string teks yang diberikan kepada pengguna ketika mereka diminta untuk nama pengguna / kata sandi oleh:
         proxy_auth_realm Squid proxy-caching web server

Satu masalah dengan otentikasi proxy adalah, secara default, ia tidak memaksa otentikasi koneksi FTP.

Ini bisa diperbaiki dengan memodifikasi contoh sebelumnya untuk:
         acl ftp proto FTP
         ...
         http_access deny FTP
         http_access memungkinkan authacl

Masalah lainnya adalah bahwa Anda tidak dapat menggunakan otentikasi proxy dengan proxing transparan.Pendekatan yang lebih baik akan mengatur proxy otomatis.

Fitur lain yang berguna adalah squid delay pools. Secara konseptual, delay pools adalah keterbatasan bandwidth - kolam ``''bandwidth yang mengalir keluar sebagai orang menelusuri Web, dan mengisi pada tingkat yang Anda tentukan - ini dapat dianggap sebagai ember bocor yang terus-menerus diisi. Hal ini berguna ketika biaya bandwidth berada di tempat, seperti di Australia di mana beban volume yang khas, atau jika Anda ingin mengurangi penggunaan bandwidth untuk lalu lintas web.

Untuk mengaktifkan ini, mengkonfigurasi squid dengan opsi --delay-pools memungkinkan. Ada 3 kelas delay pools - class 1 adalah ember agregat tunggal, kelas 2 adalah sebuah ember agregat dengan ember individu untuk setiap tuan rumah di kelas C, dan kelas 3 adalah ember agregat, dengan ember jaringan (untuk setiap kelas B) dan sebuah ember individu untuk setiap host.

Untuk mengkonfigurasi jumlah delay pools, dan menentukan yang renang yang kelas, gunakan format berikut.

         delay_pools 2 # 2 delay pools
         delay_class 1 2 # pool 1 adalah sebuah kolam kelas 2
         delay_class 2 3 # pool 2 adalah kolam renang kelas 3

Untuk menentukan kolam klien jatuh ke dalam, membuat ACL yang menentukan rentang ip untuk setiap kolam, dan gunakan sebagai berikut:

         delay_access 1 memungkinkan pool_1_acl
         delay_access 1 deny semua
         delay_access 2 memungkinkan pool_2_acl
         delay_access 2 deny semua

Setting parameter untuk setiap kolam dilakukan dengan:

         delay_parameters pool individu jaringan agregat

dimana agregat''`` adalah parameter untuk ember agregat, jaringan ``''untuk ember jaringan, dan''`` individu untuk ember individu.

Agregat hanya berguna untuk kelas 1, 2, dan 3 jaringan untuk kelas 2 dan 3, dan individu untuk kelas 3.

Masing-masing parameter ditentukan sebagai restore / maksimum - mengembalikan menjadi byte per detik dikembalikan ke ember, dan maksimum menjadi jumlah byte yang dapat di ember setiap saat. Penting untuk diingat bahwa mereka berada dalam byte per detik, bukan bit.Untuk menetapkan bahwa parameter tidak terbatas, gunakan -1.

Jika Anda ingin membatasi parameter dalam bit per detik, membagi jumlah ini dengan 8, dan menggunakan nilai baik untuk mengembalikan dan maksimal. Misalnya, untuk membatasi seluruh proxy untuk 64kbps, gunakan:

         delay_parameters 1 8000/8000

Hal ini juga mungkin untuk menentukan seberapa penuh ember dimulai:

         delay_initial_bucket_level 50

dimana nilai tersebut adalah persentase penuh.

Untuk penjelasan lebih lanjut dan contoh, bacalah komentar squid.conf default file.

Seperti yang anda lihat, squid menyediakan banyak cara untuk membatasi akses ke sana, baik dengan membatasi yang bisa menggunakannya, dan berapa banyak mereka dapat menggunakannya. Ada banyak opsi untuk Squid daripada dibahas di sini, tetapi defaultnya adalah wajar untuk kebanyakan kasus.

  • Otentikasi


Konfigurasi Squid untuk otentikasi pengguna

Squid memungkinkan Anda untuk mengkonfigurasi otentikasi pengguna dengan directive.This auth_param menggunakan digunakan untuk mendefinisikan parameter untuk berbagai skema otentikasi yang didukung oleh squid.

Proxy otentikasi dalam mode transparan

Otentikasi tidak dapat digunakan dalam mencegat proxy transparan sebagai klien maka berpikir itu adalah berbicara ke server asal dan tidak proxy. Ini adalah keterbatasan menekuk protokol TCP / IP untuk port 80 transparan, tidak mencegat keterbatasan dalam Squid.

Cumi skema otentikasi yang tersedia untuk

Kode sumber Squid dilengkapi dengan beberapa proses otentikasi untuk otentikasi dasar. Ini termasuk

LDAP: Menggunakan Directory Access Protocol Ringan
NCSA: Menggunakan sebuah gaya username NCSA dan file password.
MSNT: Menggunakan Windows NT domain otentikasi.
PAM: Menggunakan Linux Pluggable Authentication Modules skema.
SMB: Menggunakan server SMB seperti Windows NT atau Samba.
getpwam: Menggunakan kuno Unix file password.
sasl: SALs Menggunakan perpustakaan.
winbind: Menggunakan Samba otentikasi dalam sebuah domain Windows NT

Di Squid Selain itu juga mendukung otentikasi NTLM dan skema Digest yang baik memberikan metode otentikasi yang lebih aman mana password tidak dipertukarkan dalam teks biasa.

Konfigurasi squid untuk otentikasi LDAP

Kompilasi cumi dengan dukungan ldap.
-. / Configure enable-dasar-auth-helpers = "LDAP"

Dalam mengedit file squid.conf berikut

Misalnya
auth_param basic program / usr / local / squid / sbin /-b dc squid_ldap_auth = visolve, dc = com-f uid = s-h visolve.com%
acl password proxy_auth REQUIRED
http_access memungkinkan sandi
http_access deny semua

Periksa Squid bekerja dengan LDAP auth

Untuk memeriksa apakah Squid mesin berkomunikasi dengan server LDAP Gunakan bawah perintah di baris perintah

Contoh:
# / Usr / local / squid / sbin / squid_ldap_auth-b dc = visolve, dc = com-f uid =% s visolve.com

Ini menunggu input.You tersebut harus memberi ruang uid passwd. Jika itu dapat terhubung ke server LDAP itu akan kembali "ok".

Kelompok otentikasi LDAP

Kompilasi cumi dengan dukungan ldap.
-. / Configure enable-dasar-auth-helpers = "LDAP" - enable-external-acl-helpers = ldap_group

Dalam file confiuration (squid.conf)

external_acl_type group_auth% LOGIN / usr / local / squid / sbin / squid_ldap_group-b "dc = visolve, dc = com"-f "(& (objectclass = groupOfUniqueNames) (cn =% a uniqueMember () = uid% v =, cn = akun dc = visolve, dc = com)) "-h visolve.com,

acl gsrc account group_auth eksternal
http_access memungkinkan gsrc

  • Monitoring Squid


Ada beberapa alat yang digunakan untuk memantau Squid via SNMP, antara yang MRTG banyak digunakan. Multi Router Traffic Grapher (MRTG) adalah alat untuk memantau informasi cumi-cumi yang menghasilkan status real-time (representasi grafis), dalam pandangan yang dinamis dengan sampling data setiap lima menit (dapat bervariasi sesuai dengan kebutuhan Anda).MRTG menunjukkan aktivitas - dalam 24 jam terakhir dan juga dalam, bulanan dan tahunan grafik mingguan.

Memonitor Kinerja Squid
Squid kinerja dimonitor dengan menggunakan cache dan manajer SNMP.
Cache Manager:
Hal ini menyediakan akses ke informasi tertentu yang diperlukan oleh administrator cache. Sebuah program pendamping, cachemgr.cgi dapat digunakan untuk membuat informasi ini tersedia melalui browser Web. permintaan manajer Cache untuk Squid yang dibuat dengan URL khusus bentuk

cache_object: / / hostname / operasi

Manajer cache pada dasarnya hanya menyediakan akses''`` membaca untuk informasi. Ini tidak memberikan sebuah metode untuk mengkonfigurasi Squid ketika sedang berjalan.

SNMP:

SNMP dapat digunakan untuk memantau informasi runtime tanya seperti penggunaan CPU, penggunaan memori, Cache Hit, Miss dll Multi Router Traffic Grapher (MRTG) adalah alat untuk memantau informasi cumi-cumi yang menghasilkan status real-time (representasi grafis), di dinamis tampilan dengan pengambilan data setiap lima menit.

Meningkatkan Performa Squid

Squid kinerja dapat ditingkatkan dengan mengumpulkan data kinerja untuk lingkungan tertentu dan tuning dan Kernel parameter Hardware untuk kinerja puncak.

Apakah direktori cache filesystem dampak kinerja?

Direktori Cache memiliki UFS default pilihan. Ketika dibuat dengan berikut

cache_dir aufs

Skema penyimpanan aufs meningkatkan Squid.s disk I / O response time dengan menggunakan sejumlah proses thread untuk disk I / O operasi membutuhkan. Aufs Kode perpustakaan pthreads.Ini adalah benang standar antarmuka yang didefinisikan oleh POSIX. Untuk menggunakan aufs cumi harus dikompilasi dengan opsi storeio.

Catatan:

Jika disk caching tidak digunakan, maka harus dinonaktifkan dengan menetapkan 'ke' null / tmp.
Ini menghilangkan kebutuhan data indeks memori cache meta-ruang yang digunakan oleh squid.



  • Log file


File log yang dihasilkan oleh squid

Daftar file log yang dihasilkan oleh squid adalah

squid.out, cache.log, useragent.log, store.log, hierarchy.log, access.log.

Pemantauan Akses Pengguna

Informasi akses akan disimpan dalam file access.log.

Rotating Log

File log yang lebih besar dapat ditangani dengan memutar same.This bisa dilakukan dengan perintah berikut

squid-k rotate

Untuk menentukan jumlah rotasi logfile untuk membuat ketika anda mengetik "squid-k memutar 'mengkonfigurasi dalam file squid.conf di direktif logfile_rotate.

Penjadwalan dari prosedur ini dapat dilakukan dengan Cron entry yang berputar log pada tengah malam.

0 0 * * * / usr / local / squid / bin / squid-k rotate

Dapat mendukung squid log ukuran lebih besar dari 2GB?

Squid oleh doesnt default mendukung log ukuran lebih besar dari 2 GB.To membuat cumi mendukung file dengan ukuran lebih besar dari 2GB mengkompilasi cumi-cumi dengan opsi (- dengan-besar-file)

Disbaling Berkas Log Squid

Menonaktifkan file log dapat dilakukan
Untuk access.log menonaktifkan:
cache_access_log none
Untuk store.log menonaktifkan:
cache_store_log none
Untuk cache.log menonaktifkan:
cache_log / dev / null

Tidak ada komentar:

Posting Komentar