Pages

Tampilkan postingan dengan label Squid. Tampilkan semua postingan
Tampilkan postingan dengan label Squid. Tampilkan semua postingan

Kamis, 20 Februari 2014

Custom Options Lusca Pfsense 2014

zph_mode tos;
zph_local 0x04;
zph_parent 0;
zph_option 136;

#======= Custom Option 2 ===============;
acl gameport port 18901-18909   # Ayo Dance;
acl gameport port 1818       # SealOnline;
acl gameport port 39190      # tcp PointBlank;
acl gameport port 40000-40010   # udp PointBlank;
acl gameport port 7777          # Lineage2 : tcp;
acl gameport port 19101         # GhostOnline : tcp;
acl gameport port 27780         # RF-Elven : tcp;
acl gameport port 29000         # Perfect world : tcp;
acl gameport port 22100         # Rohan : tcp;
acl gameport port 5121          # Zeus RO : tcp;
acl gameport port 6000-6152     # Dotta : tcp;
acl gameport port 2001          # IdolStreet : tcp;
acl gameport port 9601-9602     # CrazyKart :;
acl gameport port  8085         # WOW AMPM : tcp;
acl gameport port 11011-11041   # DriftCity : tcp;
acl gameport port 13413         # GetAmped : tcp;
acl gameport port 19000         # Yullgang : tcp;
acl gameport port  5105         # RAN Online : tcp;
acl gameport port 10009         # CrossFire : tcp;
acl gameport port 12060-12070   # CrossFire : udp;
acl gameport port 5340-5352     # WarRock : tcp;
acl gameport port  6000-6001    # FastBlack : tcp;
acl gameport port  29200        # Rose Online : tcp;
acl gameport port  10402        # Return Of Warrior : tcp;
acl gameport port  9600         # CrazyKart 2 : tcp;
acl gameport port  15002        # Luna Online : tcp;
acl gameport port  16402-16502  # Runes Of Magic : tcp;
acl gameport port  5126         # FreshRO : tcp;
acl gameport port  3010         # Tantra Online : tcp;
acl gameport port  11031        # Heroes Of Newearth Incatamers : tcp;
acl gameport port  11440-11460  # Heroes Of Newearth Incatamers : udp;
acl gameport port  11100-11125  # Heroes Of Newearth Incatamers : udp;
acl gameport port  4300         # Atlantica : tcp;
acl gameport port  12011        # ECO Online : tcp Port;
acl gameport port  12110        # ECO Online : tcp Port;
acl gameport port  15001        # Cabal Indo : tcp Port;
acl gameport port  15002        # Cabal Indo : tcp Port;
acl gameport port  7341         # X-SHOT : tcp;
acl gameport port  7451         # X-SHOT : tcp;
acl gameport port  7808         # X-SHOT : udp;
acl gameport port  30000        # X-SHOT : udp;
acl gameport port  42051-42052    # 3 Kindom : udp;
acl gameport port  9376-9377    # Avalaon : tcp;
acl gameport port  10001-10011    # Free Style :tcp;
acl gameport port  40000     # Free Style :tcp;
acl gameport port  40040-40500    # Free Style :udp;
acl gameport port  1293        # Free Style :udp;
acl gameport port  1479        # Free Style :udp;
acl gameport port  9300        # Grand Chase :tcp;
acl gameport port  9400        # Grand Chase :tcp;
acl gameport port  9700        # Grand Chase :tcp;
acl gameport port  9401        # Grand Chase :udp;
acl gameport port  9600        # Grand Chase :udp;
acl gameport port  14009-14012    # Lost Saga :tcp:udp;
acl gameport port  8001        # CS Online Indonesia :tcp;
acl gameport port  9015        # CS Online Indonesia :tcp;
acl gameport port  40300-40404    # CS Online Indonesia :tcp;
acl gameport port  36567    # CS Online Indonesia :tcp;
acl gameport port  27017    # CS Online Indonesia :udp;
always_direct allow gameport;
#never_direct allow all;

acl HTML url_regex .png$;
no_cache deny HTML;
acl XYZZY url_regex ^http://www1.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www2.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www3.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www4.dewapoker.com/captcha/captcha-login.php?.png$;
acl XYZZY url_regex ^http://www5.dewapoker.com/captcha/captcha-login.php?.png$;
no_cache deny XYZZY;

acl market url_regex ^http://[^/]*\.android\.clients\.google\.com
cache allow market

acl ini urlpath_regex -i .*\.ini$;
acl ui urlpath_regex -i .*\.ui$;
acl lst urlpath_regex -i .*\.lst$;
acl list urlpath_regex -i .*\.list$;
acl inf urlpath_regex -i .*\.inf$;
acl dll urlpath_regex -i .*\.dll$;
acl AA url_regex ^http://122.102.49.132/audition/Update.ini$;;
acl AB url_regex ^http://patch.crossfire.web.id/download/version.ini$;;
acl AC url_regex ^http://patch.sealindo.com/patch/normal/version.ini$;;
acl AD url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/afs.dat;
acl AE url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/noupdate.ui;
acl AF url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/ahn.ui;
acl AG url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/patch/39/ahn.ui;
acl AH url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/ahni2.dll;
acl AI url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/ahn.ui;
acl AJ url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/patch/39/ahn.ui;
acl AK url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/patch.conf;
acl AL url_regex ^http://file.pb.gemscool.com/hackshield/PatchSet/x86/afs.dat;

always_direct allow ini;
always_direct allow ui;
always_direct allow lst;
always_direct allow list;
always_direct allow inf;
always_direct allow dll;
always_direct allow AA;
always_direct allow AB;
always_direct allow AC;
always_direct allow AD;
always_direct allow AE;
always_direct allow AF;
always_direct allow AG;
always_direct allow AH;
always_direct allow AI;
always_direct allow AJ;
always_direct allow AK;
always_direct allow AL;


no_cache deny ini;
no_cache deny ui;
no_cache deny lst;
no_cache deny list;
no_cache deny inf;
no_cache deny dll;
no_cache deny AA;
no_cache deny AB;
no_cache deny AC;
no_cache deny AD;
no_cache deny AE;
no_cache deny AF;
no_cache deny AG;
no_cache deny AH;
 no_cache deny AI;
no_cache deny AJ;
no_cache deny AK;
no_cache deny AL;

#======== End Custom Option 2 ========;

# Custom Option Header Access #;
request_header_access Allow allow all;
request_header_access Authorization allow all;
request_header_access WWW-Authenticate allow all;
request_header_access Proxy-Authorization allow all;
request_header_access Proxy-Authenticate allow all;
request_header_access Cache-Control allow all;
request_header_access Content-Encoding allow all;
request_header_access Content-Length allow all;
request_header_access Content-Type allow all;
request_header_access Date allow all;
request_header_access Expires allow all;
request_header_access Host allow all;
request_header_access If-Modified-Since allow all;
request_header_access Last-Modified allow all;
request_header_access Location allow all;
request_header_access Pragma allow all;
request_header_access Accept allow all;
request_header_access Accept-Charset allow all;
request_header_access Accept-Encoding allow all;
request_header_access Accept-Language allow all;
request_header_access Content-Language allow all;
request_header_access Mime-Version allow all;
request_header_access Retry-After allow all;
request_header_access Title allow all;
request_header_access Connection allow all;
request_header_access Proxy-Connection allow all;
# End Custom Option Header Access #;



Rabu, 26 Juni 2013

Squid 2.7 Stable9 di ClearOS 6.3

Squid 2.7 Stable9 di ClearOS 6.3

Sekedar menyimpan catatan, maklum pelupa alias emang malas inga' inga'... :D

ini urutan langkah memasang squid 2.7s9 patch dengan youtube non-range di ClearOS 6.3 mode Gateway. cara ini lebih cepat, kalau cara panjangnya ada di forum clearos indonesia..

1. update, stop, buang squid lama
    yum update
    reboot

2. copy semua file yang ada di folder squid ke folder dummy (ntar dipakai lagi tuh)
3. download dan copy file dewa ke root, lalu install
    service squid stop
    yum remove squid
    yum localinstall --nogpgcheck squid-2.7.STABLE9.xx.xxx.best
4. install app webconfig
    yum install app-web-proxy (cos6x) 
    atau
    yum install app-squid (cos5x)
5. copy squid.conf, storeurl dan kawan2nya ke folder squid
6. copy semua file yang ada di folder dummy ke folder /etc/squid, kecuali squid.conf atau storeurl.pl (klo ada sih)
  7. buat folder cache seperlunya (klo blm ada), rubah hak akses
    mkdir /cache1
    chown squid:squid /cache1

  8. rubah hak akses squid.conf, /cache squid:root 0640 kemudian sesuaikan isinya (IP)
    chmod 777 /etc/squid/storeurl.pl
    chown squid:root /etc/squid/squid.conf
    chmod 0640 /etc/squid/squid.conf

  9. sesuaikan isinya squid.conf, (IP, DP)
10. cek squid, jika tidak ada pesan error, lanjutkan buat swap directory, lalu jalankan
      squid -k parse
      squid -z
      service squid start 

      service squid restart
11. Agar squid bisa jalan secara otomatis saat proses booting, tambahkan diakhir baris,/etc/rc.local/
       echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range
       ulimit -HSn 65535
       /usr/sbin/squid -NDd1 &
cat. :
    untuk cos 52 jika set transparent dari webconfic maka squid jadi error,
    cek kembali baris pertama di squid.conf jika ada baris baru "http_access allow localhost"
    di hapus saja atau di kasih "#"


tambahan :
instal ccze (agar lognya jadi meriah)
     rpm -Uvh http://mirror.fraunhofer.de/download.fedora.redhat.com/epel/5Client/i386/ccze-0.2.1-6.el5.i386.rpm

melihat log
     tail -f /var/log/squid/access.log | ccze

agar server mau shutdown ketika ditekan tombol power pada cpu, tambahkan perintah ini :
        yum install acpid
 

matikan fungsi auto update, biar squidnya gak terupdate jadi squid 3.xx :D, dari
    webconfig - system - software update - edit - disable

sumber :  http://beldin-best.blogspot.com/2012/12/squid-27-stable9-di-clearos-63.html

Minggu, 27 Mei 2012

Request Hit Squid

Request Hit Squid

setelah lama pake squid sebagai proxy server..terbersit pikiran " Apakah Proxy Q udah menjalankan tugasnya dengan Baik yach???"setelah ngecek kinerja squid Q slama ini ternyata hanya mentok di kisaran hit 20%-25% huh sedih juga rasanya...padahal di polling forum linux.or.id ada yg bisa nyampek 70%...akhirnya ketemu juga tutorialnya yaitu proxy setan(serem juga yah namanya...)..bgini isi tutorialnya..
Jika 1 hardisk 20 GB dibuat partisinya kira2 spt ini (ini preferensi pribadi
berdasarkan eksperimen utk Squid saja lho). Silahkan dikomentari.

/dev/hda1 1G /
/dev/hda5 2G /var
/dev/hda6 256M swap
/dev/hda7 12G /cache
/dev/hda8 sisanya /home

Alasan kok /var, swap, dan /cache mengumpul ditengah, ya krn supaya ‘head’
hardisk efektif bergerak di track ‘average’ atau ditengah-tengah dg frekuensi
akses tertinggi shg kira2 kalau didiagramkan distribusinya normal
(Gaussian distribution atau bentuk bel). Swap hanya 256MB krn memori anda
toh 1GB (terus terang saya pribadi kalau bisa menghindari sebesar ini juga,
toh jika Squid sudah mempergunakan swap sebesar ini mestinya juga sudah melambat kok).

Tapi /var agak besar supaya bisa menampung banyak log, termasuk log Squid yg
kalau dirotasi sebulan sekali bisa berukuran sangat besar (dulu pernah log mesin
mencapai 1GB karena rotasinya per 3 bulan padahal bw-nya hanya 64kbps, tapi
sekarang kalau tidak salah dirotasi per 2 minggu atau per bulan saja, semua
ini tergantung intensitas akses pengguna dan bw yg dilanggani).

Terus utk cache swap Squid itu sendiri kira2 70-80% dari ukuran partisinya
(12GB x 75% = 9GB). Berawal dari konfig spt ini mestinya parameter2
di squid.conf pengaruhnya sudah tidak setinggi jika cache swap atau hardisk
anda terlalu penuh. Sekali lagi kita mau sekedar menghemat bw maka biasanya
cache sangat agresif dan aksesnya akan melambat jika
hardisknya ‘under performance’. Spt di poll ini, harus berimbang antara
kecepatan akses dan penghematan bw. Jelas dari sisi pengguna tidak akan
perduli anda mau menghemat bw atau tidak yg pasti bagi dia aksesnya harus cepat,
gitu kan ya? Jadi utk 9GB cache swap jumlah L1 direktorinya 22.

>aku pake di mesin proxy:
Proc XEON 2.8GHz 512K HT
HD IDE 40GB seagate 7200rpm
HD SCSI 36GB seagate 10000rpm
MB INTEL server HG2

Hmmm, hardisk-nya tidak ada yg lebih kecil-kecil ya? Soalnya mending 9GB-an
(kalau SCSI) 10K rpm kalikan 6 atau lebih daripada 2 yg besar-besar ini.
Tapi cari hardisk kecil-kecil sekarang mestinya susah ya?, he he he …..

>FC3 kernel 2.6.10 dengan patch reiser4.
paket reiser4 dari namesys.com

Sip, semoga opsi-opsi kompilasi di kernel-nya sudah optimum semua, alias modul yg
tidak diperlukan dihilangkan saja, biar gesit (pengalaman pribadi kernel yg baik
ukurannya kira-kira di bawah 1 MB tanpa mengorbankan kemampuannya).

>semua partisi system di HD IDE, dan HD SCSI aku jadikan satu partisi untuk /cachez
dengan alokasi 28GB memakai filesystem reiser4 metode aufs (squid).

Jangan lupa opsi mount (di fstab) ditambahkan noatime dan notail (kalau perlu lebih
aman sekalian (noexec dan tidak user mountable). Maksud anda dijadikan 1 partisi
itu di-RAID mode 0-kan (striping)?? Saran saya malah jangan, jadi biarkan spindle
per drive bergerak bebas mandiri tak bergantung 1 dg lainnya. Jadi mending 2 direktori
saja dg mekanisme least-load atau round-robin bisa dicobakan dan dilihat efektivitasnya.

Silahkan dilihat alasannya di milisnya squid-cache.org, banyak yg sudah membahas kok.
Pemakaian memorinya juga harus diamati terus soalnya jika, sekali lagi, mesin anda
sudah mulai swap ke hardisk ya sama saja alias kembali menjadi pelan. Intinya bgmana
menghindari swap memori dipergunakan (idealnya server yg super cepat itu tidak
memiliki swap memori berarti memori fisiknya harus super besar juga).

>cache_store_log /dev/null
cache_store_log none
Kalau yg ini saya yakin benar kok (spt yg dikomentari Mas Firewaxx).

Refresh_pattern diperbaiki saja krn bekerja mulai yg paling atas baru ke bawah.

refresh_pattern .gif 4320 50% 43200
refresh_pattern .jpg 4320 50% 43200
refresh_pattern .tif 4320 50% 43200
refresh_pattern ^http://www.friendster.com/.* 720 100% 4320
refresh_pattern ^http://mail.yahoo.com/.* 720 100% 4320
refresh_pattern ^http://mail1.plasa.com/.* 720 100% 4320
refresh_pattern ^http://*.yahoo.*/.* 720 100% 4320
refresh_pattern ^http://*.friendster.*/.* 720 100% 4320
refresh_pattern ^http://www.yahoo.com/.* 720 100% 4320
refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod

Komentar: sebenarnya baris paling bawah itu umum artinya selain yg di atas-nya
akan kena setting ini. Yg mjd pertanyaan saya kok file image diberi setting yg
berbeda? Utk email yg berbasis web mungkin ada alasannya supaya lebih cepat
divalidasi lagi.
Saran saya dicoba dulu 2 baris yg terakhir saja, baru jika dirasa ada kebutuhan
lain baru pelan-pelan ditambahkan baris-baris sebelumnya.
Jadi refresh_pattern hanya ini saja:

refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod

ACL saya tinggalkan apa adanya krn ini spesifik kebutuhan anda. Utk bloking
berbasis url_regex, ya kalau bisa Squid dikompilasi ulang dg opsi gnuregex supaya
lebih efisien. Lihat posting sebelumnya. Paling tidak bisa diringkas lagi mjd:

http_access deny porno !noporno

artinya kita blok semua kata yg ada di file porno kecuali semua kata yg ada di
file noporno (!=kecuali).

>maximum_object_size 10240 KB
Lha ini kok ukuran object yg bisa disimpan Squid hanya 10MB saja??
Dinaikkan saja mjd mungkin 128 MB?

maximum_object_size 128 MB

>minimum_object_size 4 KB
Dihilangkan saja, biarkan Squid menyimpan object terkecil pun tidak ada masalah kok.

>logfile_rotate 0
Dibuat logfile_rotate 1 saja, siapa tahu anda butuh melihat statistik sebelumnya.

>forwarded_for on
Biasanya ini di-off-kan saja supaya anonimity bisa terjaga (tapi jika memang
diperlukan yg tidak apa-apa).

###############################################################################
Banyak faktor yg membuat Squid ‘overloaded’ shg saat diakses malah membuat
lebih pelan:
1. Cache di hardisk terlalu besar shg pemakaian memori terlalu besar (dan mungkin
sudah mulai swap ke hardisk, silahkan dilihat via top dg rumus swap yg baik
25%an dari memori fisik, jika lebih biasanya akan pelan). Ingat per 1 GB cache
di hardisk akan memakai 10MB memori lho, belum yg lain2.
2. Hardisk terlalu pelan (krn cache terlalu besar itu tadi), shg saat mencari
object lama menemukannya. Berapa besar cache anda di hardisk?, saya menduga
mesti lebih dari 10an GB ya??
3. Browser/klien yg berusaha memanfaatkan Squid terlalu banyak shg antrian yg
berebut utk minta layanan Squid terlalu panjang walaupun toh akhirnya akan
mengakses situs yg belum pernah dikunjungi sebelumnya (yg kalau Squid-nya
pintar bisa membedakan saat akan diantrikan, mestinya?). Silahkan dilihat
stats via cachemgr.cgi, saya ada kecurigaan di i/o queue-nya sudah terlalu
panjang.
4. Mesin server terlalu banyak melayani user atau utk layanan yg lain. Dari
pengalaman, mesin dg 256MB dan beberapa layanan, mail server agent, web server
dan Squid dg cache di hardisk 6GB plus sekitar 10 PC klien saja sudah lumayan
mepet kinerjanya kok. Perlu diingat Squid butuh memori yg besar tidak prosesor
yg cepat plus hardisk yg super cepat. Ini belum ditambahi layanan yg lain-lain
lho. Intinya idealnya utk Squid mesin server seharusnya terdedikasi
(layanannya hanya Squid).

Saran utk mencoba mengidentifikasi kelambatan Squid krn defisiensi memori.
1. Ganti memori tambahan, minimal 256MB dan dicobakan di mesin anda.
Jika ternyata tambah cepat berarti ya ‘obat’nya ini yg berarti sudah saatnya
meng’upgrade’ mesin anda.
2. Squid saat di-reconfigure (squid -k reconfigure) mjd lebih cepat kembali.
3. Terjadi perbedaan kecepatan akses saat jumlah browser yg terbuka berbeda,
tetapi ini bisa juga disebabkan pipa yg anda langgani (bandwidth) sudah diambang
batas kelayakan.

Saran utk mencoba mengidenfikasi kelambatan Squid krn kinerja hardisk yg kurang baik.
1. LED indikator hardisk ‘nyaris’ tak henti-hentinya hidup (bukan nyaris tak
terdengar ya?), krn selalu terjadi proses i/o ke sana. Inilah yg membedakan
hardisk dg cache h/w yg kecil dan besar (dan yg membedakan harganya juga).
Carilah hardisk yg berkinerja agak hebat (cache 4MB, seektime 8ms, rpm 10k, idealnya)
dan jangan terlalu besar ukurannya (jadi kecil-kecil tapi banyak). Tapi itu tadi,
sulit sekarang mencari hardisk ukuran kecil di pasaran (kalau tidak salah utk SCSI
UW2-160-an, 9.1GBan masih ada).

2. Coba ditambahkan (atau dipinjamkan) hardisk 1 lagi dan direktori cache
anda dibagi ke hardisk yg baru ini dg L1 direktorinya dibagi 2 juga
(dg ukuran separuhnya juga).
Jadi misalnya awal /cache 12000 28 256 dibagi mjd 2, /cache1 6000 14 256
dan /cache2 6000 14 256.

Begitu dan jangan lupa jangan pernah memakai semuanya spt ukuran partisinya
(ingat idealnya antara 70%an kapasitas partisi maksimalnya), supaya saat akan
menulisi hardisk, tempat kosongnya lebih mudah ditemukan (kalau sudah terlalu
penuh akan sulit dan lama menemukan dan boleh jadi terfragmentasi tempatnya).

Saran terpenting:
Squid agresif itu utk kondisi di Indonesia menurut saya sangat cocok
(mungkin utk negara maju malah diprotes ya, krn bw sudah sangat murah dan hr
tenaga teknisnya utk ngoprek terlalu mahal). Tetapi yg perlu diingat adalah
semuanya itu ada batasnya ibarat sepeda motor itu kalau di’gas’ penuh mendadak
terkadang malah mati mesinnya. Jadi agresif yg agresif tapi jangan terlalu
ambisius dan harus optimal sesuai kemampuan baik mesin maupun bw yg dilanggani.

###############################################################################

>/cache 45000 16 256
45GB adl suatu ukuran yg ‘rruuarr biasa’ besarnya utk single spindle.
Pengalaman saya selama kutak-katik Squid yg terbesar saya pernah tahu utk hardisk
tunggal (single spindle) itu hanya sekitar 16an GB (80% hdd 20GB).

Jadi saya jadi yakin sekarang bottleneck Squid anda ada di sini. Belum lagi
ditambah swap memori yg utk indeks object Squid saja sudah 450an MB, belum yg
lain-lain (kalau tidak salah memori fisik anda 256MB ya?). Jadi jelas swap memori
anda mestinya juga sudah lumayan besar shg semakin memperparah kondisi mesin
server ini. Sekali lagi contoh-contoh konfigurasi mesin (dan skalabilitasnya)
dari ircache rata2 memori 512 MB s/d 2 GB dg minimal 6 hardisk SCSI (kalau tidak
salah per cache direktori 6GB-an krn dari ukuran hardisk 9GB), sekedar gambaran saja.
Jadi di sini tujuan menghemat bandwidth tercapai tetapi tujuan mempercepat akses
internet tidak tercapai.

>b/w nya terlalu kecil dimana 96 kbps yg aku punya untuk melayani 20 pc

Secara teoritis 96kbps/20pc = 4.8kbps/pc dan menurut suatu survei kepuasan
pengguna akses internet yg layak itu hanya membutuhkan kecepatan akses minimal
5kbps kontinu (yg setiap saat diperoleh secara terus menerus dan tidak pernah kurang).
Dibantu Squid dg hit rate 50% maka angka 4.8kbps ini akan naik mjd 9.6an kbps
saat tjd lonjakan permintaan (burstiness rate). Belum lagi jika perilaku per user
yg jarang download file berukuran besar dan hanya mengambil halaman2 web
setelah itu membaca (berhenti download), katakanlah dg suatu nilai kebolehjadian 50%, maka
kecepatan akses akan naik lagi mjd 19.2an kbps. Memang inilah yg paling sering kita
alami baik di tingkat rumahan atau komersial (warnet) dan inilah ukuran kelayakan
di Indonesia (atau strategi penghematan perusahan2 penyedia jasa internet ya??).

Saya yakin bw yg kita miliki tidak akan cukup jika semua pengakses internet men-download
file yg berukuran besar pada saat yg bersamaan dalam periode yg panjang.

Baik memang sebenarnya Squid sudah mencadangkan 30720KB memori tetapi ternyata
kebutuhannya hingga 32510KB (yg sudah melewati cadangan itu tadi) sehingga boleh
jadi memori swap ke hardisk sudah mulai aktif (jika ternyata memori totalnya tidak cukup).
Silahkan dilihat ulang via top. Tetapi jika ternyata memori totalnya (fisik)
masih cukup dan belum swap Squid akan terus memperbesar ‘cadangan’ ini (total
space in the arena) hingga semua kebutuhan Squid terpenuhi
(ingat 10MB per 1GB cache di hardisk ditambah yg lain2). Ini efek jika
opsi memory_pools off (jika di-on-kan batasannya jadi kaku dan terkadang
kita tidak tahu seberapa sih harus dicadangkan, dan ruginya sudah dicadangkan
ttp belum tentu dibutuhkan krn tidak tahu saja berapa yg harus dicadangkan itu tadi).

Solusi paling sederhana stl pengamatan adalah dg mengurangi ruang cache di hardisk,
misalnya dikurangi per 2 GB (mis. dari awal 12GB jadi 10GB terus diamati lagi,
tentunya L1 direktori juga disesuaikan lho), dan seterusnya sampai Squid sudah
tidak mengaktifkan memori swap (atau user sudah tidak bisa membedakan kelambatan
yg terjadi walaupun sudah swap sedikit). Solusi berikutnya ya dg mengaktifkan
batasan memori yg akan dipakai oleh Squid via
memory_pools on dan memory_pools_limit xx MB. XX
inilah yg agak sulit ditentukan krn kebutuhan Squid yg dinamis ini
(tapi bisa dikira-kira dan didekati kok). Jadi misalnya Squid dg
cache swap 12 GB butuh memori 190-an MB tapi kita batasi hanya 80 MB, ya boleh
jadi cache swap maksimal akan terisi hanya 6an GB krn utk indeks saja kira-kira bisa
hanya separuhnya. Jadi tidak terus kita asal punya hardisk besar tanpa perhitungan
resource yg dimiliki langsung dipakai semuanya. Tapi metode ‘trial and error’
memang pendekatan yg tercepat sambil mencari pengalaman mengamati dan men’tuning’
Squid lebih jauh. Rumus umum dan kasar sbg pendekatan awal biasanya spt di bawah:

mtot x 25% / 10 x 1 GB= ruang cache swap di hardisk awal dg mtot=memori fisik total.

Contoh jika memori fisik 512MB:

512MB x 25% / 10 x 1 GB = 12.5GB ruang cache swap di hardisk.

Tapi ini rumusan yg aman dan mesin Squid terdedikasi. Ada yg lebih ekstrim dan
berani menaikkan hingga 16an GB dan mungkin memori swap ke hardisk sudah aktif
tetapi kecepatan akses Squid masih terjaga (mungkin jumlah kliennya sedikit
dan hardisknya cepat) ya tidak apa-apa. Mestinya angka-angka ini mjd lebih kecil
jika mesin dipakai bersama utk layanan yg lain. Sekali lagi kondisi dan kebutuhan
berbeda-beda belum sifat kedinamisan si Squid itu sendiri. Kalau tidak salah
antar Squid yg berbeda versi saja sifat2-nya juga berbeda walaupun mungkin
sedikit saja perbedaannya.

Pertama yg harus kita pahami adalah:
1. Tidak semua halaman web bisa disimpan (di’cache’) Squid
2. Banyak situs yg memang berusaha halaman2 mereka tidak bisa di’cache’ krn
ada keperluan utk statistik mereka (iklan, visit/hit rate, dll) via ‘pragma
no-cache’ atau metode yg lain 3. Ingat Squid memang tidak akan menyimpan
alamat url selama ada karakter ? atau cgi-bin krn ini secara mendasar tidak
diijinkan disimpan (masalah keamanan), belum yg lain-lain.
4. 1 Halaman web bisa terdiri atas banyak object, mungkin ada sebagian yg
memang ‘dinamis’ alias setiap saat berubah hingga tidak bisa disimpan.

Jadi memang di internet itu selalu terjadi ‘tarik-ulur’ antara yg mau menghemat
dg yg tidak mau dihemat, yg jahat dg yg baik, yg konstruktif dg yg destruktif,
dll.

Jika anda mau jadi ‘Squid ekstrimis’, ya pakai saja off-line mode. Artinya Squid
tidak akan perduli object2-nya valid atau tidak, kedaluarsa atau tidak, semuanya
akan dipaksa disimpan (sama kalau di browser IE mode offline).
Saya jamin kecepatan Squid anda akan tinggi dg hit rate tinggi dan bw anda
sangat irit pula tetapi paling sebentar saja akan diprotes oleh user2 anda,

Memang sudah ada beberapa usaha supaya ‘pragma no-cache’ ini tidak mdj
halangan halaman2 utk di’cache’ kan dg cara halamannya di’rewrite’ (tulis ulang)
dan menghilangkan opsi di atas tsb. Tetapi dari sisi legalitasnya bagaimana?
Ada yg mengatakan, lha saya yg mengakses dan membutuhkan kok tidak boleh
di’cache’? Tapi dari sisi penyedianya mengatakan, lha kalau tidak mau mengikuti
yg saya inginkan ya jangan mengakses situs saya kan?? Jadi artinya
di sini jika sudah diberi ‘pagar’ atau ‘pengumuman’ ya mestinya harus diikuti
aturannya, jangan terus malah dilanggar

Ini opsi-2 konfigurasi utk kompilasi Squid khusus utk Linux.

./configure
–enable-gnuregex
–enable-async-io=24
–with-aufs-threads=24
–with-pthreads
–with-aio
–with-dl
–enable-storeio=aufs
–enable-removal-policies=heap
–enable-icmp
–enable-delay-pools
–disable-wccp
–enable-snmp
–enable-cache-digests
–enable-default-err-languages=English
–enable-err-languages=English
–enable-linux-netfilter
–disable-ident-lookups
–disable-hostname-checks
–enable-underscores

Silahkan disesuaikan

## Jika ada beberapa situs terdekat yg mungkin hanya 1 hop, di-by pass saja
supaya kerja Squid benar-benar utk yg jaraknya jauh

## 1. Situs-situs yg membutuhkan login di-’direct’ via always_direct dan jangan
disimpan via hierarchy_stoplist cgi-bin ? namasitus dan acl QUERY
urlpath_regex cgi-bin ? namasitus. Diusahakan namasitus sangat spesific
soalnya jika misalnya hanya yahoo.com ya semua yahoo.com akan kena alias
mem-’by-pass’ Squid. Jadi bisa misalnya mail.yahoo.com saja.

2. Via hierarchy_stoplist cgi-bin ? namasitus dan acl QUERY urlpath_regex cgi-bin ?
jika alamat mengandung misalnya halaman2 java applet/script ekstensi .awt, .js, dst-nya.

3. Refresh_pattern minimalnya dikurangi, sekali lagi konfigurasi 180 (atau 3 jam)
bagi beberapa keperluan tidak cocok. Silahkan dicoba misalnya hanya 10 menitan
dan diamati.

4. Terakhir, mungkin ie_refresh harus diaktifkan dan biasanya dg menekan tombol
refresh/reload, Squid akan ‘terpaksa’ memvalidasi halaman tersebut
(bisa beberapa kali refresh/reload terkadang utk proses cek validasi ini).

hierarchy_stoplist cgi-bin ? localhost domain-anda.com isp-anda.com domainku.web.id
acl QUERY urlpath_regex cgi-bin ? localhost domain-anda.com isp-anda.com domainku.web.id
no_cache deny QUERY

## Dari pengalaman 6 MB akan lebih cepat dan biarkan Squid bekerja lebih
keraslagi jika cache_mem diperbesar efeknya adalah pengaksesan obyek lebih
lembam (atau pelan dalam pencarian di mesin lokal, tetapi begitu ketemu ya
cepat aksesnya) dan dg cache_mem 6 MB kita rasakan paling responsif. Dari
banyak forum dan user group rumus umum cache_mem adalah 1/3 atau 1/4 dari
total memori fisik (benar ya?). Tapi default 8 MB saya pikir sudah pas dan
disarankan oleh si Henrik Nordstrom.

Kenapa kok batasan minimum 98 dan maksimum 99 alasannya supaya proses store
and purge obyek tidak sporadis jalannya.

cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99

## Maksimum obyek di hardisk dan di memori diupayakan lebih besar shg byte hit
lebih tinggi (bisa dinaikkan lagi jika hardisk berkecepatan tinggi dan
jumlahnya banyak dg memori yg lebih besar pula)

maximum_object_size 128 MB
maximum_object_size_in_memory 32 KB

## Jika memori 512 MB atau lebih besar silahkan cache diperbesar

ipcache_size 2048
ipcache_low 98
ipcache_high 99

## Utk heap replacement saya memakai LFUDA utk cache hardisk dan GDSF utk cache
memori dg alasan di hardisk diprioritaskan obyek yg ukuran besar-besar dan
di memori obyek yg ukurannya kecil-kecil utk disimpan

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

## Idealnya ruang di hardisk yg anda pakai hanya sekitar 70% dari total krn
semakin penuh Squid akan semakin pelan mencari tempat kosong, mis. utk cache
1 GB maka yg dipakai hanya 700MB (jangan 1GB dipakai semuanya). Jangan lupa
hanya 1 direktori per drive krn faktor penghambat adalah kecepatan spindle hardisk
lho, bukan terus dg memperbanyak direktori pada 1 hd akan mempercepat
(hd orde milidetik, memori orde nanodetik). Jadi mending hardisknya banyak
tapi ukurannya kecil-kecil daripada hanya 1 berukuran besar. Terus jika OS-nya
Linux pakailah FS-nya Reiser (versi 4 tercepat) dg metode akses aufs. Diskd
optimal di FreeBSD tetapi tidak di Linux lho. Jangan lupa di partisi tsb
noatime dan notail diaktifkan spy tidak menambah ekstra write saat menulis
atau membaca. Intinya hardisk adalah faktor penghambat terbesar di Squid.

## saran kira2 70% dari 16GB

cache_dir aufs /cachez 12000 28 256

atau (utk ruang 4GB-an per hardisk)

cache_dir aufs /cachehardisk1 3000 8 256
cache_dir aufs /cachehardisk2 3000 8 256
cache_dir aufs /cachehardisk3 3000 8 256
cache_dir aufs /cachehardisk4 3000 8 256

atau minimal di bawah ini supaya modifikasi tidak terlalu jauh

cache_dir diskd /cachez 12000 28 256 Q1=72 Q2=88

## Log utk info yg vital saja dan diusahakan file-file log ada di hardisk
tersendiri spy tidak mempengaruhi kecepatan direktori cache utamanya

log_fqdn off
log_icp_queries off
cache_log none
cache_store_log none

## Dg ‘menipu’ dan memaksa sedikit supaya akses obyek lebih intensif di lokal
Squid dan waktu simpan ditambah sebelum proses validasi terjadi (mis. validasi
terjadi per 3 jam dg penyimpanan obyek terlama 3 bulan, utk ftp bisa lebih lama lagi)

refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod

## Toleransi aborting dihilangkan saja

quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98

## Mematikan dan merekonfigurasi Squid jangan terlalu cepat krn bisa mengakibat
kan integritas file kacau

shutdown_lifetime 10 seconds

## tidak perlu reservasi memori

memory_pools off

## Penting utk relasi dg sibling dg mengukur respons-nya via ICP dan ICMP
(tapi ada isp yg tidak mengijinkan lho)

icp_hit_stale on
query_icmp on

## Penting utk meningkatkan refresh pattern lebih lanjut

reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on

## Sekali lagi Squid diperlukan utk mengambil yg jaraknya jauh, jarak dekat
langsung saja

acl local-dst dst semuaalamatlokal semuaalamatipygdekat
acl local-domain dstdomain localhost domain-anda.com isp-anda.com domainku.web.id

always_direct allow localhost local-dst local-domain
always_direct deny all

## Tidak begitu diperlukan

##ie_refresh on

Contoh Konfigurasi
;—————————————————————————————;

# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# —————————————————————————–
cache_dir diskd /cache/squid 1000 8 256 # << Sesuaikan dengan kebutuhan anda
access_log /cache/access.log squid
cache_log /cache/cache.log
log_fqdn off
buffered_logs off

# OPTIONS FOR TUNING THE CACHE
# —————————————————————————–
refresh_pattern /.gif 4320 50% 43200
refresh_pattern /.jpg 4320 50% 43200
refresh_pattern /.jpeg 4320 50% 43200
refresh_pattern /.png 4320 50% 43200
refresh_pattern ^http://www.friendster.com/.* 720 100% 10080
refresh_pattern ^http://mail.yahoo.com/.* 720 100% 10080
refresh_pattern ^http://*.yahoo.*/.* 720 100% 7200
refresh_pattern ^http://*.google.com/.* 720 100% 10080
refresh_pattern ^http://www.telkomspeedy.com/.* 720 100% 28800
refresh_pattern ^http://*.blogsome.com/.* 720 80% 10080
refresh_pattern ^http://*.wordpress.com/.* 720 80% 10080
refresh-pattern ^http://detik.com/.* 720 90% 2880
refresh_pattern ^ftp: 14400 90% 43200 reload-into-ims
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320 reload-into-ims

quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 95

# ACCESS CONTROLS
# —————————————————————————–
acl my_network src 192.168.1.0/24
acl SSL_ports port 443 563
#acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 443 563 # https
#acl Safe_ports port 488 # gss-http
#acl Safe_ports port 591 # filemaker
#acl Safe_ports port 777 # multiling http
http_access allow manager localhost my_network
http_access allow my_network

acl download url_regex -i .mp3
acl download url_regex -i .3gp
acl download url_regex -i .avi
acl download url_regex -i .mpg
acl download url_regex -i .mpeg
acl download url_regex -i .wav
acl download url_regex -i .flv
acl download url_regex -i .swf

# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
# —————————————————————————–
delay_pools 2
delay_class 1 3
delay_parameters 1 -1/-1 -1/-1 8000/8000
delay_access 1 allow my_network download
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 -1/-1 -1/-1
delay_access 2 allow my_network
delay_access 2 deny all

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–
cache_effective_user squid

# MISCELLANEOUS
# —————————————————————————–
logfile_rotate 5
reload_into_ims on
store_dir_select_algorithm round-robin

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–
cache_mgr youremail@host.com
visible_hostname localhost

Senin, 31 Oktober 2011

SQUID – Delay POOLS

from : http://kie-keu.blogspot.com/

Another useful squid feature is delay pools. Conceptually, delay pools are bandwidth limitations – “pools” of bandwidth that drain out as people browse the Web, and fill up at a rate you specify – this can be thought of as a leaky bucket that is continually being filled.
This is useful when bandwidth charges are expensive like in indonesia.
Delay pools provide a way to limit the bandwidth of certain requests based on any list of criteria. The idea came from a Western Australian university who wanted to restrict student traffic costs (without affecting staff traffic, and still getting cache and local peering hits at full speed). To enable this, configure squid with the –enable-delay-pools option. There are 3 classes of delay pools – class 1 is a single aggregate bucket, class 2 is an aggregate bucket with an individual bucket for each host in the class C, and class 3 is an aggregate bucket, with a network bucket (for each class B) and an individual bucket for each host.

Latar Belakang

Bandwidth merupakan barang yang mahal. Untuk saat ini kisaran 64 kps dihargai sekitar 4 jt perbulan. Permasalahnnya bandwith 64 kbits itu bukan nilai yang besar. Rata-rata yang didapat pelanggan adalah 64 1:2. Artinya 1 jalur 64 kbits digunakan untuk 2 pelanggan sekaligus.
Sudah bandwidthnya dibatasi terkadang pula disisi user ada yang bertingkah seenaknya. Merasa ada koneksi internet gratis, beberapa user mulai menggunakannya untuk membuka situs-situs tertentu atau mengkoleksi file-file tertentu. Tentu saja alokasi bandwidth yang tersedia semakin menyusut. Yang merasakan adalah golongan user yang biasa-biasa saja (bukan mania internet), mereka hanya bisa mengelus dada.Untuk mengatasi hal diatas, agar setiap user mendapat bandwidth yang cukup, bisa digunakan aplikasi squid proxy server.

Pelaksanaan

Sebelum mulai mengkonfigurasi delay pools, harus dipersiapkan terlebih dahulu aplikasi squid yang sudah dikompilasi dengn support delay pools. Beberapa distro besar seperti RedHat/Mandrake biasanya sudah di atur support delay pools.
Bila tidak dapat dikompilasi sendiri sebagai berikut
# ./configure --enable-delay-pools
# make
# make install

konfigurasi

File konfigurasi squid adalah squid.conf
ada beberapa tag konfigurasi untuk delay pools di squid.conf.
  1. delay_pools
    menyatakan berapa banyak bagian/pool yang akan dibuat
    misal delay_pools 2
  2. delay_class
    menentukan klas/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang.
    bagian merupakan nomer urut dari jumlah pool didelay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada delay_pools
    tipe merupakan tipe class delay yang dipakai.
    Secara umum tipe menyatakan bagaimana cara membagi bandwidth, ada 3 tipe:
tipe/class keterangan
1 semua bandwidth yang ada akan dibagi sama rata untuk semua user squidex ada bandwidth 128 dan semua bandwith dipakai untuk browsing
2 membatasi pemakaian bandwith dari total bandwidth yang ada, dan bandwith yang diperuntukan squid akan dibagi semua user dengan sama rata.ex ada bandwidth 128 dimana 28 kbit dipakai untuk email dan sisanya (128-28) 100 kbit dipakai untuk browsing
3 membatasi pemakaian bandwidth dari total bandwidth yang ada, setiap network class C akan mendapat bandwidth sama besar, setiap user pernetwork akan mendapat bandwidth yang sama besar dari total bandwidth per networkex: bandwidth tersedia 512 kb, untuk browsing disediakan bandwidth 384 kb, sisanya untuk aktifitas lain.
Di jaringan tersebut ada 3 departement dengan network yang berbeda misal lab (192.168.1.0/24), manajer(192.168.2.0/24), sales(192.168.3.0/24).
nah misah oleh admin di set bahwa pernetwork mendapat jatah 128 kb/s.
maka user� di sales akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user� di lab akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user� di manajer akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
misal:
delay_class 1 2    # pool 1 memakai clas tipe 2
delay_class 2 3    # pool 2 memakai clas tipe 3

  • delay_access
    Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
    Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
    misal:
    delay_access 1 allow manajer
    delay_access 1 deny all
    delay_access 2 allow sales
    delay_access 2 deny all

  • delay_parameters
    Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk.
    delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai.
    Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes.
    Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec.
    Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.
    1 byte = 8 bit.
    SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max
    ex: 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.
    Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.
    Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.
    class 1
    delay_parameters <#pool individual> ex: delay_parameters 1 1000/64000 Berarti semua network akan mendapat bandwidth yang sama di pool no 1. Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
    class 2
    delay_parameters <#pool agregate individual> ex: delay_parameters 1 32000/32000 1000/64000 Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
    class 3
    delay_parameters <#pool agregate network individual> ex: delay_parameters 1 32000/32000 8000/8000 1000/64000 Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

  • Contoh 1

    dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut
    • admin, server dengan bandwidth unlimited
    • staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
    • umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
    acl all src 0.0.0.0/0.0.0.0
    acl admin src 192.168.1.250/255.255.255.255
    acl server src 192.168.1.251/255.255.255.255
    acl umum src 192.168.1.0/255.255.255.0
    acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71
    
    delay_pools 3
    
    delay_class 1 1
    delay_parameters 1 -1/-1
    delay_access 1 allow admin
    delay_access 1 allow server
    delay_access 1 deny all
    
    delay_class  2 1
    delay_parameters 2 1500/64000
    delay_access 2 allow staf
    delay_access 2 deny all
    
    delay_class  3 1
    delay_parameters 3 1000/32000
    delay_access 3 allow umum
    delay_access 3 deny all
    Cara mencobanya paling mudah adalah dengan menggunakan donlot manajer semacam DAP, GetRight maka akan terlihat bandwidth sudah dibatasi.

    Contoh 2

    Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu.
    Gunakan ACL url_regex untuk mengatasi hal ini.
    Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.
    acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
    delay_pools 1
    delay_class 1 1
    delay_parameters 1 1000/16000
    delay_access 1 allow multimedia
    delay_access 1 deny ALL

    Contoh 3 dari forum.linux.or.id

    bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 – 21:00)
    acl LTIME time SMTWHFA 10:00-21:00
    
    acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
    acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
    acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$
    acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
    acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$
    acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$
    
    delay_pools 1
    
    delay_class 1 1
    delay_parameters 1 3000/3000
    delay_access 1 allow download TIME
    delay_access 1 deny all

    Contoh 4

    Bagaimana caranya membuat delay pools untuk membatasi download di siang hari dengan speed … dan malam hari dengan speed …, abis si bozz malem-nya mau pakai buat dolot.
    Jadi pengennya pas malam bw buat user makin kecil, bukan malah di loss
    acl JAM_KANTOR time SMTWHFA 07:00-18:00
    
    delay_pools 2 delay_class 1 2
    delay_parameters 1 24000/32000 -1/-1
    delay_access 1 allow riset JAM_KANTOR
    delay_access 1 deny all
    
    delay_class 1 2
    delay_parameters 2 8000/8000 -1/-1
    delay_access 2 allow riset !JAM_KANTOR
    delay_access 2 deny all

    Contoh 5

    wangsit yang semedi dengan pecelpenyu.
    Saya ada bandwidth besar, 1mbps.
    Ingin membatasi yang donlot file besar di atas 5mbyte, di beri speed 32kbps.
    Misal bila ada 3 user yang donlot, tiap-tiap user akan mendapat bw maximal 32kbps.
    acl user src 192.168.1.0/24
    
    delay_pools 1
    delay_class 1 2
    delay_parameters 1 40000/10000000 4000/5000000
    delay_access 1 allow user download
    delay_access 1 deny ALL

    Contoh 6 limit youtube

    untuk memaksa caching terhadap youtube ( sesuai wiki.squid-cache.org )
    acl youtube dstdomain -i .youtube.com
    acl striming url_regex -i get_video\?video_id videodownload\?
    cache allow youtube
    cache allow striming
    dan harap di ingat untuk posisi tsb di atas sebaiknya diletakkan sebelum hierarchy_stoplist
    kemudian bisa di gabung ke delay_pool juga
    delay_class 2 3
    delay_access 2 allow warnet striming
    delay_access 2 deny all
    delay_parameters 2 -1/-1 -1/-1 3000/200000
    hasilnya :
    Connection: 0x7f1da510
    FD 149, read 555, wrote 6508975
    FD desc: http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M
    in: buf 0x7fe65000, offset 0, size 4096
    peer: 192.168.0.111:3317
    me: 127.0.0.1:3127
    nrequests: 1
    defer: n 0, until 0
    uri http://ash-v97.ash.youtube.com/get_video?video_id=YXF72VCyt5M
    log_type TCP_MISS
    out.offset 6508872, out.size 6508975
    req_sz 555
    entry 0x7d24e240/599CDB16D8D8DCB1395E960CD807BD8B
    old_entry 0x0/N/A
    start 1193286572.113589 (2131.525289 seconds ago)
    username -
    delay_pool 2 <= terkena delay
    untuk delay_pool saya tidak menggunakan domain youtube.com, karena ternyata untuk url streaming nya sebagian hanya menggunakan ip address biasa, sehingga menggunakan regex spt di atas saya rasa lebih efektif.
    silakan di eksperimen sendiri untuk regex nya, bisa dg menganalisa access.log atau kalau yg gampang menggunakan sqstat spt yg pernah di post di thread sebelah.

    http://kebofunky.wordpress.com/2008/04/10/ini-adalah-contoh-untuk-mensetting-ipv6-manual-di-fedora-core-not-tutorial-cachakcachak-ip-6-r2001d30f100364-dev-eth0-proto-kernel-metric-256-expires-42943sec-mtu-150/

    Pembatasan badwith dengan Squid


    1. Edit file /etc/squid/squid.conf, caranya :
    vim /etc/squid/squid.conf
    2. Pada squid.conf anda harus mengatur acl apa yang ingin diatur kecepatan bandwidthnya, contoh pengaturannya :
    acl lan src 192.168.1.0/24
    acl file urlpath_regex -i "/etc/squid/file.txt"
    acl streaming dstdomain "/etc/squid/stream.txt"
    acl special_ip src "/etc/squid/ip.txt"

    http_access allow lan
    http_access deny all
    acl lan adalah jaringan yang diperbolehkan mengakses internet di jaringan anda. Kemudian acl file berisi file-file yang bila didownload akan dibatasi kecepatannya. Kemudian acl stream adalah domain tujuan yang apabila diakses akan dibatasi kecepatannya. Sedangkan acl special_ip adalah IP address yang bila mengakses internet akan memiliki kecepatan yang tinggi walaupun membuka website atau mendownload file-file di acl stream dan file.
    3. Setelah mengatur acl maka anda harus mengatur untuk delay pools-nya untuk membatasi bandwidth acl-acl di atas. Masih di dalam /etc/squid/squid.conf, anda tambahkan :
    delay_pools 2

    # Adalah jumlah delay pool yang anda atur.
    delay_class 1 2

    # Untuk delay pools 1 memiliki class 2
    delay_class 2 2

    # Untuk delay pools 2 memiliki class 2
    # Dimana aturannya : delay_class [pool] [class]
    # Ada 3 macam class delay pool:
    # Class 1 : Dilakukan pembatasan bandwidth untuk semua komputer di jaringan
    # sehingga akan saling berbagi bandwidth.
    # Class 2 : Dilakukan pembatasan bandwidth untuk semua komputer di jaringan
    # dan pembagian bandwidth per client.
    # Class 3 : Dilakukan pembatasan bandiwdth untuk semua komputer di jaringan,
    # per jaringan dan per client
    delay_parameters 1 8000/100000 1000/1000
    delay_parameters 2 -1/-1 20000/20000

    # delay_paramater digunakan untuk menentukan besar bandwidth tiap pool.
    # Dimana formatnya :
    # Class 1 : delay_parameter [pool] [agregate]
    # Class 2 : delay_parameter [pool] [agregate] [individual]
    # Class 3 : delay_parameter [pool] [agregate] [network] [individual]
    #
    # agregate = pembatasan bandwidth untuk semua komputer
    # individual = pembatasan bandwidth untuk setiap komputer
    # network = pembatasan bandwidth untuk setiap jaringan
    #
    # Format pembatasan bandwidth :
    # 8000/10000 = speed/max
    # speed = kecepatan rata-rata download yang dibentuk
    # max = besar data maksimal yang bisa didownload secara normal, setelah
    # melebihi maka akan menggunakan "speed".
    # Satuan yang digunakan adalah Bytes(B/s) bukan bit(bps)
    # bila 8000 = 8 KB/s berarti 64 kbps, kalikan 8
    # "-1" berarti unlimited
    #
    delay_access 1 allow file !special_ip
    delay_access 1 allow streaming !special_ip
    delay_access 1 deny all
    delay_access 2 allow !file !streaming
    delay_access 2 deny all

    # delay_access mengkonfigurasikan acl dengan delay pools yang
    # ada. Format penulisannya :
    # delay_access [pools] [allow/deny] [acl1] [acl2] ... [acln]
    # bila acl menggunakan "!" maka nilainya adalah kebalikan dari
    # acl tersebut
    4. Setelah mengatur delay pools anda save file /etc/squid/squid.conf kemudian anda buat file-file konfigurasi dari acl-acl yang digunakan. Caranya :
    vim /etc/squid/file.txt

    Isi dengan :
    .*.mp3$
    .*.avi$
    .*.exe$
    vim /etc/squid/stream.txt

    Isi dengan :
    .youtube.com
    .metacafe.com
    .googlevideos.com
    vim /etc/squid/ip.txt

    Isi dengan :
    192.168.1.200-192.168.1.254
    5. Setelah itu anda restart squid anda, dengan cara :
    /etc/init.d/squid restart
    6. Sekarang seharusnya client anda akan terbatasi bandwidth-nya dimana apabila membuka situs biasa alam dibatasi 20 KB/s sedangkan apabila download mp3, avi atau exe atau membuka situs streaming video akan dibatasi hanya 1 KB/s. Kecuali komputer yang menggunakan IP dari 192.168.1.200-192.168.1.254.

    Minggu, 19 Juni 2011

    squid remove hackshield PointBlank

    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/hackshield/PatchSet/afs.dat
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/hackshield/PatchSet/ahn.ui
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/hackshield/PatchSet/noupdate.ui
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/hackshield/PatchSet/patch/39/ahn.ui
    squidclient -p 80 -m PURGE http://img.gemscool.com/html/pb/notice.html

    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2009-05-14_15-58-29/HShield/AhnUpCtl.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2009-05-14_15-58-29/HShield/mspatcha.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-09-27_18-45-47/HShield/HSUpdate.env.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/AspINet.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/Bz32Ex.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/HSInst.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/HSUpdate.exe.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/hsupdate.jpg.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/V3Hunt.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2010-12-21_18-04-40/HShield/V3InetGS.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2011-06-14_01-53-57/HShield/AhnUpGS.dll.zip
    squidclient -p 80 -m PURGE http://file.pb.gemscool.com/gamepatch/2011-06-14_01-53-57/PointBlank.i3Exec.zip

    Rabu, 15 Juni 2011

    Squid.conf di pfSense agar tak berubah setelah reboot

    agar konfigurasi squid yang kita edit tidak hilang lagi setelah reboot pfsense
    edit file :
    1. /usr/local/pkg/squid.inc
    2. find  file_put_contents(SQUID_CONFBASE . '/squid.conf', $conf);
    dan ubah/tambah terserah “squid.conf” menjadi “squid.conf.bak” atau nama lain terserah dan sesukanya dan di save.
    3.masuk ke direktori “/usr/local/etc/squid” dan copy file “squid.conf” menjadi file baru “squid.conf.bak” yang  kamu ubah tadi diatas
    4. dan sekarang “squid.conf”nya di ubah dan diedit sesuka hati

    Lusca -> Custom Options

    Untuk di pfSense
    
    
    Proxy server: General settings->Custom Options

    http_access allow localhost;
    #;
    quick_abort_min 32 KB;
    quick_abort_max 128 KB;
    quick_abort_pct 75;
    range_offset_limit 0 MB;
    request_body_max_size 0 allow all;
    reply_body_max_size 0 deny all;
    #;
    delay_pools 1;
    delay_class 1 2;
    delay_parameters 1 10240/10240 10240/10240;
    delay_initial_bucket_level 100;
    # Throttle extensions matched in the url;
    acl throttle_exts urlpath_regex -i "/var/squid/acl/throttle_exts.acl";
    delay_access 1 allow throttle_exts;
    delay_access 1 deny all#;

    zph_mode tos;zph_local 0x04;zph_parent 0;zph_option 136;
    #
    acl HTML url_regex .ini$;no_cache deny HTML;
    acl XYZZY url_regex ^http://122.102.49.132/audition/Update.ini$;
    acl XYZZY url_regex ^http://patch.crossfire.web.id/download/version.ini$;
    acl XYZZY url_regex ^http://patch.sealindo.com/patch/normal/version.ini$;
    no_cache deny XYZZY;

    ================

    Selasa, 14 Juni 2011

    Manajemen Bandwidth Di Squid Menggunakan Delay Pools

    Sumber : http://miji.wordpress.com/2007/02/06/57/#comment-21


    Dokumen ini menjelaskan bagaimana cara mengkonfigurasikan proxy server anda untuk membatasi bandwidth download atau incoming traffic.
    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
    #vi /etc/squid/squid.conf
    Lalu tambahkan contoh konfigurasi ini:
    # Sebelum kita melakukan pembatasan, kita perlu mendefinisikan ACL network # # yang kita perlukan terlebih dahulu. ACL yang didefinisikan pada host bridge
    # seperti di bawah ini:
    acl lokal src 192.168.1.0/24# Kemudian kita membatasi maksimum download dengan tag di bawah 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 lokal filegede
    delay_access 1 deny all
    delay_class 2 2
    delay_parameters 2 32000/32000 8000/8000
    delay_access 2 allow lokal
    delay_access 2 deny all
    Jika sudah selesai, simpan hasil konfigurasi dan restart squid

    #/etc/init.d/squid restart