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

Kamis, 20 November 2014

Step by step instalaasi Squid di linux Ubuntu

SQUID PROXY SERVER adalah salah satu Proxy yang berfungsi untuk melakukan caching atau penyimpanan sementara akses internet oleh suatu client / user sehingga konten ini dapat dipergunakan oleh user lain sehingga dengan adanya caching ini user lain tersebut akan merasakan akses internet menjadi lebih cepat. ( Ya iya lah, lha wong sebagaian konten dari Webpage tersebut sudah ada dalam storage penyimpanan Proxy Server ini ).
Pada tutorial kali ini konsep desain atau topologi-nya adalah sebagai berikut :
  1. OS yang kita gunakan sebagai Proxy Server kali ini adalah Ubuntu Desktop 14.04.
  2. IP Address Ubuntu Proxy Server adalah 192.168.10.10. Proxy Server ini mendapatkan akses internet secara langsung dari Router atau Modem ADSL Router dengan IP Address : 192.168.10.1.
  3. Proxy Server ini berfungsi secara independen tanpa ada campur tangan dari Router Mikrotik ataupun Router lain. Pokoknya Proxy Server ini mendapatkan akses internet dari mana saja, termasuk apabila mengunakan Modem 3G atau ADSL secara langsung pada PC / Proxy Server ini.
  4. PC Client mendapatkan akses internet secara Direct dari Proxy Server tanpa perantara lain ataupun intervensi dari Router, Mikrotik, dll.
Perhatikan Topologi / gambar dibawah ini :
Layout-Desain-Network-Mikrotik-Router-With-Ubuntu-14.04-Proxy-Squid3-(Option-1)

Step By Step Installasi Proxy Server Squid3 dengan Ubuntu 14.04 dan Webmin ( Simple Mode ) adalah sebagai berikut :
1. Masuk ke menu System Setting.
Install-Squid3-Ubuntu-14.04-LTS-001
2. Masuk ke Menu Network.
Install-Squid3-Ubuntu-14.04-LTS-002
3. Lalu masuk ke menu Option, untuk melakukan konfigurasi IP Address secara manual.
Install-Squid3-Ubuntu-14.04-LTS-003
4. Selanjutnya masuk ke menu IPv4 Setting, ubah method dari Automatic /( DHCP ) menjadi manual.
Install-Squid3-Ubuntu-14.04-LTS-004
5. Klik Add untuk menambahkan IP Address manual. Lalu entry IP untuk PC Ubuntu : 192.168.10.10, Netmask : 24, IP Gateway : 192.168.10.1, IP DNS : 192.168.10.1. Lalu kita klik Save.
Install-Squid3-Ubuntu-14.04-LTS-005
6. Selanjutnya masuk ke Terminal untuk melihat apakah IP address Ubuntu Proxy Server sudah sesuai yang di konfigurasi tadi.
Install-Squid3-Ubuntu-14.04-LTS-006
7. Pastikan bisa ping ke IP Gateway ( 192.168.10.1 ), maupun ke Google.com.
Install-Squid3-Ubuntu-14.04-LTS-006b
8. Selanjutnya kita Install paket Apache2 Webserver ( nanti akan banyak kita gunakan ) :
apt-get install apache2
Install-Squid3-Ubuntu-14.04-LTS-007
9. Selanjutnya kita Install paket Squid3 :
apt-get install squid
Install-Squid3-Ubuntu-14.04-LTS-008
10. Selanjutnya kita lakukan editing file konfigurasi Squid ( bisa dengan perintah nano maupun gedit ). Pastikan kita setting ACL Internal IP Address Network kita.
nano /etc/squid3/squid.conf
Install-Squid3-Ubuntu-14.04-LTS-009
11. Jika kita gunakan gedit, setting Access Control List / ACL Internal IP Address Network kita tampak seperti pada gambar dibawah ini :
Install-Squid3-Ubuntu-14.04-LTS-009b
12. Selanjutnya pastikan ACL Local network kita disetting Allow.
Install-Squid3-Ubuntu-14.04-LTS-009c
13. Cek juga setting ACL Local network di baris yang lain.
Install-Squid3-Ubuntu-14.04-LTS-009d
14. Tentukan folder cache_dir dengan tepat serta ukuran besar kapasitas untuk menyimpan file cache. Nilai Defaultnya adalah 100 alias 100 MB, kita ganti menjadi 50 GB ( 50000 ).
Install-Squid3-Ubuntu-14.04-LTS-009e
15. Tentukan Port access Proxy Server, defaultnya Squid mengunakan Port 3128.
Install-Squid3-Ubuntu-14.04-LTS-010
16. Setting Port 3128 dengan gedit.
Install-Squid3-Ubuntu-14.04-LTS-010b
17. Setelah konfigurasi cukup, selanjutnya berikan perintah :
squid3 -z
Tujuannya adalah untuk membuat Swap Directory Cache Squid Proxy.
Selanjutnya berikan perintah untuk menjalankan Squid3 :
service squid3 start
Install-Squid3-Ubuntu-14.04-LTS-011
18. Untuk membuat Service Squid3 ini bisa Otomatis dijalankan saat komputer baru hidup, maka kita dapat mengunakan perintah chkconfig atau mengunakan Sysv-rc-conf.
Install-Sysv.rc-Ubuntu-14.04-LTS-001
19. Perintahnya adalah :
sysv-rc-conf squid on
Install-Sysv.rc-Ubuntu-14.04-LTS-002
20. Melakukan pengecekan status aplikasi yang telah dilakukan Autorun. Perintahnya :
sysv-rc-conf --list squid
Install-Sysv.rc-Ubuntu-14.04-LTS-003
21. Setelah installasi dan konfigurasi Squid selesai, selanjutnya kita akan melakukan installasi Webmin dengan tujuan untuk mempermudah konfigurasi Squid3. Baca link ini dengan seksama : www.webmin.com/deb.html
Install-Webmin-Ubuntu-14.04-LTS-000
22. Lakukan installasi perintah pre-installasi :
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
Install-Webmin-Ubuntu-14.04-LTS-001
23. Lakukan perintah untuk men-download installer Webmin :
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.690_all.deb
Install-Webmin-Ubuntu-14.04-LTS-002
24. Lakukan installasi paket Webmin yang telah di download barusan :
dpkg --install webmin_1.690_all.deb
Install-Webmin-Ubuntu-14.04-LTS-003
25. Setelah proses installasi Webmin selesai, selanjutnya kita dapat mengakses Webmin via WebBrowser :
https://192.168.10.10:10000
Install-Webmin-Ubuntu-14.04-LTS-004
26. Selanjutnya masuk ke menu Server lalu pilih Squid Proxy Server. Selanjutnya kita mau konfigurasi lebih lanjut via Webmin.
Install-Webmin-Ubuntu-14.04-LTS-005
27. Administrative menu.
Install-Webmin-Ubuntu-14.04-LTS-006
28. Port & Networking menu.
Install-Webmin-Ubuntu-14.04-LTS-007
29. Pilih menu Access Control untuk melakukan konfigurasi client mana saja yang boleh mengakses internet.
Install-Webmin-Ubuntu-14.04-LTS-008
30. Pilih menu Cache Option, untuk menentukan folder untuk cache, dll.
Install-Webmin-Ubuntu-14.04-LTS-009
31. Administrative Option merupakan penentuan user Administrator dengan akses dapat melakukan read write pada folder konfigruasi Squid.
Install-Webmin-Ubuntu-14.04-LTS-010
32. Okey, sampai disini konfigurasi Squid Linux Ubuntu 14.04 telah selesai. Selanjutnya kita akan melakukan konfigurasi pada Client. untuk Browser Mozilla Firefox, masuk ke menu : Tools -> Option -> Advanced -> Network -> Setting. Lalu entry IP Address Proxy Server beserta Port 3128.
Setting-Proxy-Client-001
33. Selanjutnya langsung di coba apakah Client sudah bisa mengakses internet…
Setting-Proxy-Client-002
34. Konfigurasi pada Client dengan Browser Mozilla Firefox, masuk ke menu : Tools -> Option -> Advanced -> Network -> Setting. Lalu entry IP Address Proxy Server beserta Port 3128. Jika mengunakan browser IE, kita bisa atur melalui Control Panel -> Internet Option.
Setting-Proxy-Client-003
35. Setelah selesai konfigurasi diatas, selanjutnya kita coba akses internet…
Setting-Proxy-Client-004
36. Mudah sekali bukan??? Selamat mencoba…

Konfigurasi Squid Proxy di Ubuntu Linux




Cache Proxy server saat ini menjadi salah satu andalan untuk meningkatkan koneksi internet tanpa harus menambahbandiwdht. Proxy server yang paling popuper di lingkungan open source dan Linux adalah squid. Tutorial ini akan menjelaskan kepada anda bagaimana membuat proxy server menggunakan Linux ubuntu 10.10 dengan menggunakan squid plus bagaimana menjadikannya transparent proxy. Artinya di sisi client, tidak perlu ada perubahan atau setting browser dan secara otomatis, client akan diarahkan ke proxy.
Sebelum melangkah lebih jauh, konfigurasi jaringannya adalah sebagai berikut
Penjelasan Diagram jaringan dan cara kerja proxy server
Lihat diagram diatas, posisi proxy ada di jaringan terpisah yang biasa disebut DMZ (de Military zone). Cara kerja dari jaringan ini adalah, ketika ada permintaan website (misal detik.com) ke gateway(router mikrotik), mikrotik akan meredirect permintaan tersebut ke ip proxy (172.16.133.109) port 3128 (port dimana service squid bekerja). jika di cache proxy sudah terdapat file cache dari detik.com maka proxy langsung memberikannya ke client. Nah disini kelihatan manfaatnya bukan? user akan merasa akses internetnya lebih cepat dari biasanya.
Bagaimana misal di cache tidak ditemukan cache dari detik.com, secara otomatis squid proxy akan meminta ke detik.com, menyimpan di hardisk proxy dan memberikan salinan file tadi ke client. Nanti kalau ada client lain yang minta maka secara otomatis kalau ada orang lain yang meminta halaman website yang sama tinggal ambil saja di hardisk .
Pertanyaan selanjutnya, Kadang kan server itu diupdate terus dan kadang halaman yang sudah tersimpan di proxy sudah kedaluarsa? secara cerdas proxy akan menghapus setiap file cache yang jarang diminta. Nah gitu deh pokoknya sipembuat squid dah cerdas,kita tinggal pakai aja gan!.
Install dan konfigurasi
Buka terminal ubuntu Linux, dan berikan perintah berikut untuk menginstall squid
sudo apt-get install squid
setelah itu buka file squid.conf dengan editor (misal pico) dengan perintah
sudo pico /etc/squid/squid.conf
#*******************************************************************
# Ganti IP lokal warnet /jaringanmu dibawah ini
#=================================================================
acl berbahnet src 192.168.1.0/24
#========================================================
#jaringan mana yang membolehkan akses kesquid
http_access allow berbahnet
http_access allow localhost
#==========================================================
#cache memory squid, secara default squid hanya mengalokasikan
# 8 M, jika ram kamu diatas 1 GB, cache_mem 128MB dah lebih dari cukup
#=======================================================
cache_mem 128 MB
#posisi file cache di letakan
#disini posisinya di direktori /cache, jika letak cachmu di folder lain
#silahkan ganti
# 10000 =10 GB -> hardisk yang dijadikan cache max adalah 10GB, kalo punya
#HD gede ganti aja misal 30000
#16 dan 256 adalah struktur direktori pertama dan kedua
cache_dir ufs /cache 10000 16 256
#letak file log, dipakai untuk memonitor client, membuat statistik dll
#jika ga dipakai di kasih tanda (#) aja di depannya
#sesuaikan denganf file logmu
access_log /var/log/squid/access.log squid
#*******************************************************************/
Setting di Mikrotik
Buka Winbox-> New Terminal, dan ketikan perintah dibawah ini
ip firewall add chain=dstnat
action=dst-nat to-addresses=172.16.133.109
to-ports=3128
protocol=tcp src-address=192.168.1.0/24
in-interface=lan dst-port=80
penjelasan dari perintah diatas intinya,redirect setiap permintaan ke port 80 (web) ke proxy (3128), sesuikan IP dengan jaringan ditempat kamu.
nah habis itu cek dari client. Disini, CLient TIDAK DI SETTING SAMA SEKALI MANTAFF kan?
untuk memastikan proxy berjalan dengan benar, cara paling gampang adalah buka terminal Linux, ketikan perintah berikut
sudo tail /var/log/squid/access.log
Jika anda mendapatkan isi berupa daftar website yang diakses client artinya OK. jika sebaliknya artinya ada konfigurasi yang ga bener. cek lagi tutorial diatas, selamat mencoba.

Beri peringkat:

Rabu, 28 Mei 2014

SQUID DENGAN ROUTER UBUNTU

oke pertama kita install squid :
=>apt-get install squid
Untuk squid3 :
=>Apt-get install squid3
Kemudian edit squid.conf :
=>pico /etc/squid/squid.conf
Edit di bagian :
http_port 3128  http_port 3128 transparent  acl localnet src 192.168.0.0/24  sesuaikan dengan ip yang di direct squid (ip eth1)
#http_access allow localnet  uncomment /hilangkan “#”
Dari sini kita dah bs jaln kan squid, tetapi minimal….sementara tweaking saya :
# WELCOME TO SQUID 2.7.STABLE9  # —————————-
# apabila squid anda berauthenthik/memakai radius#————————Start—————————— auth_param basic program /usr/local/squid/libexec/squid_radius_auth -h 10.1.0.1 -w test123
auth_param basic children 5
auth_param basic realm HAYOOO>>>>ANDA MAU MASUK DENGAN PAKSA, SAMI MAWON MAS LOGIN
auth_param basic credentialsttl 24 hours
auth_param basic casesensitive off
### ACL untuk Radius ###
acl radiusauth proxy_auth REQUIRED
### ALLOW for RADIUS AUTH
http_access allow radiusauth
# ————————–end——————————–
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.1.0.0/24 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/24# RFC1918 possible internal network
#
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#Recommended minimum configuration:
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
#Allow ICP queries from local networks only
icp_access allow localnet
icp_access deny all
# Squid normally listens to port 3128
http_port 3128 transparent
#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
cache_mem 128 MB
maximum_object_size_in_memory 8 MB
cache_dir ufs /var/spool/squid 5000 16 256
store_dir_select_algorithm least-load
minimum_object_size 0 KB
maximum_object_size 204800 KB
cache_swap_low 90
cache_swap_high 95
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
refresh_pattern -i .(class|css|js|gif|jpg)$ 10080 100% 43200 override-expire override-lastmod reload-into-ims ignore-reload
refresh_pattern -i .(jpe|jpeg|png|bmp|tif)$ 10080 100% 43200 override-expire override-lastmod reload-into-ims ignore-reload
refresh_pattern -i .(tiff|mov|avi|qt|mpeg)$ 10080 100% 43200 override-expire
refresh_pattern -i .(mpg|mpe|wav|au|mid|flv|mp4)$ 10080 100% 43200 override-expire
refresh_pattern -i .(zip|gz|arj|lha|lzh)$ 10080 100% 43200 override-expire
refresh_pattern -i .(rar|tgz|tar|exe|bin)$ 10080 100% 43200 override-expire
refresh_pattern -i .(hqx|pdf|rtf|doc|swf)$ 10080 100% 43200 override-expire
refresh_pattern -i .(inc|cab|ad|txt|dll)$ 10080 100% 43200 override-expire
refresh_pattern -i .(asp|acgi|pl|shtml|php3|php)$ 10080 100% 4320 override-expire override-lastmod reload-into-ims
refresh_pattern -i .facebook.com$ 604800 100% 604800 override-expire override-lastmod reload-into-ims
refresh_pattern -i .google.com$ 604800 100% 604800 override-expire override-lastmod reload-into-ims
refresh_pattern -i .mail.google.com$ 604800 100% 604800 override-expire override-lastmod reload-into-ims ignore-reload
# example line deb packages
#refresh_pattern (\.deb|\.udeb)$ 129600 100% 129600
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
update 1:
disini
kemudian kita buat iptable untuk direct client ke squid :
=>pico /etc/rc.local
Tambahkan iptable ini …………………..
mengunakan ubuntu router :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128
apabila mengunakan mikrotik, maka buat rule di mikrotik :
ip firewall nat add action=dst-nat chain=dstnat comment=”” src-address= disabled=no dst-port=80 protocol=tcp to-addresses= to-ports=
ato kalo pengen panjang :
ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.200.1.1 to-ports=3128 \  protocol=tcp src-address=!192.200.1.0 src-address-list=192.200.1.2,192.200.1.3,192.200.1.4 \
in-interface=ether1 dst-port=80
kemudian simpan dan reboot
cek mengunakan :
tail –f /var/log/squid/access.log
cek perform :
squidclient -h 192.168.1.x -p 3128 mgr:info
squidclient -h 127.0.0.1 mgr:info

Sumber

MIKROTIK DAN EXTERNAL PROXY

Topologi jaringan
ada beberapa topolagi jaringan yang dapat kita terapkan :
  1. modem—->squid(router)—->mikrotik(brige/router)—->client
  2. modem —->mikrotik (bridge/router)—->squid(bridge)—->client
  3. modem —–>mikrotik (bridge/router)—->client
————————-|squid

topologi no. 1 dan no.2 sanagt mudah di konfigurasi karena tidak ada keterkaitan secara langsung antara mikrotik dan squid, kita akan membuat topologi no.3, meskipun menurut saya untuk tingkat HIT lebih besar pada topologi no.1 akan tetapi no.3 lebih diminati oleh admin jaringan.
Gambar rencana jaringan :
keterangan :
IP modem : 192.200.1.1/24
IP mikrotik :
wan : 192.200.1.2/24, gateway;192.200.1.1
proxy :192.168.10.2/24
lan : 192.168.1.1/24
IP Mesin Proxy : 192.168.10.1/24, gateway : 192.168.10.2
Alat yang di butuhkan :
  1. mikrotik router dengan 3 ether
  2. mesin squid dengan 1 ether
kita asumsikan mikrotik sudah terinstall dengan baik, dan mesin squid terinstall dengan baik juga, distro yang saya gunakan ubuntu server 10.10 dan squid 2.7 stable9. oke kita mulai………………
1. Seting Ubuntu Sebagai Mesin Squid
setelah ubuntu terinstal dengan baik kita seting interface :
masuk root:
sudo su
pico /etc/network/interfaces 
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.2
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.134.1.10
dns-search faish.com
kemudian update terlebih dahulu ubuntu:
apt-get update
kemudian install squid :
apt-get install squid
kemudian setting squid.conf
pico /etc/squid/squid.conf
setingan sementara squid.conf
bs di download disini
***nb: sesuaikan dengan kondisi squid anda, terutama “cache_dir”
2. Seting Mikrotik
  • Beri nama ethernet
  • [admin@MikroTik] > interface
    [admin@MikroTik] interface> print
    Flags: X – disabled, D – dynamic, R – running
    # NAME TYPE RX-RATE TX-RATE MTU
    0 R ether0 ether 0 0 1500
    1 R ether1 ether 0 0 1500
    2 R ether2 ether 0 0 1500
    [admin@MikroTik] interface> edit 0 name —->isikan publik
    [admin@MikroTik] interface> edit 1 name —->isikan proxy
    [admin@MikroTik] interface> edit 2 name —->isikan local
    dengan winbox :

  • Membuat ip di masing2 ethernet
  • ip address add address 192.200.1.2/24 interface publik
    ip address add address 192.168.10.2/24 interface proxy
    ip address add address 192.168.1.1/24 interface local
    dengan winbox :

  • Membuat gateway
  • Ip route add gateway 192.200.1.1
    dengan winbox :

  • Membuat NAT
  • untuk nat masquerade :
    ip firewall nat add chain srcnat action masquerade out-interface publik
    untuk nat direct proxy :
    ip firewall nat add action=dst-nat chain=dstnat comment=”ke proxy” src-address=!192.168.10.0/24 disabled=no dst-port=80 protocol=tcp to-addresses=192.168.10.1 to-ports=3128
    dengan winbox

  • membuat DNS
  • ip dns set primary-dns 202.134.1.10 secondary-dns 208.67.222.222
    dengan winbox :
hasil akhir dengan winbox





Sumber




Kamis, 16 Januari 2014

Membatasi akses internet di jam kerja, kecuali manager dan bos

 Contoh lain, kantor hanya ingin membuka akses internet untuk komputer-komputer manajer dan si Boss besar. Karyawan lainnya, bisa mengakses internet tapi hanya di luar waktu kerja.

acl jam_kerja time MTWH 08:00-12:00  # Senin s.d Kamis jam 08:00 s.d Jam 12:00
acl jam_kerja time F 08:00-11:30     # Jumat 08:00-11:30 WIB
acl jam_kerja time MTWHF 13:00-16:00 # Senin s.d Jumat jam 13:00 s.d 16:00

# jaringan kantor
acl jaringan_kantor src 192.168.1.0/24

# manager dan boss
acl manager src 192.168.1.51  # manager keuangan
acl manager src 192.168.1.52  # manager marketing
acl manager src 192.168.1.53  # general manager
acl boss src 192.168.1.68     # si boss besar

# Buka akses internet untuk manager dan boss, tanpa batasan waktu
http_access allow manager
http_access allow boss

# Untuk karyawan lainnya, buka akses internet diluar jam kerja
http_access allow jaringan_kantor !jam_kerja

Selasa, 16 Juli 2013

Manajemen Bandwidth Di Squid Menggunakan Delay Pools

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

Senin, 24 Juni 2013

Clear chace squid proxy

Cek ukuran direktori spool squid
# du -sh /var/spool/squid
Cek sisa harddisk
# df –k
Ternyata kapasitas tersisa harddisk tinggal 0%. Agenda hari ini jadi berubah deh, kita mulai proses memebersihkan cache squid.
#1 Harapannya agar besok gak jadi masalah lagi, cache_dir  pada squid.conf dikurangi. semoga kedepannya nanti gak perlu lagi uta-atik squid.
#2 Matikan proses Squid
# /etc/init.d/squid stop
atau
# squid –k stop
#3 Hapus direktori swap Squid, yang umumnya tersimpan pada direktori /var/spool/squid
# rm -fdR /var/spool/squid/
#4 Bangun kembali direktori swap yang sebelumnya dihapus
# squid -z
2009/04/01 11:12:38| Creating Swap Directories
FATAL: Failed to make swap directory /var/spool/squid: (13) Permission denied
Squid Cache (Version 2.6.STABLE13): Terminated abnormally.
CPU Usage: 0.001 seconds = 0.001 user + 0.000 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
Ternyata muncul notifikasi error “Permission denied”. Terpaksa deh buat manual dulu direktori swap tersebut. Jangan lupa ganti pemilik direktori tersebut sesuai dengan user Squid (kebetulan cache_effective_user dikonfigurasi adalah squid). Kalau tidak, proses rebuild direktori swap dengan perintah “squid –z” akan mendapati notifikasi error yang serupa.
# mkdir /var/spool/squid
# chown squid /var/spool/squid
Ulangi lagi proses rebuild swap
# squid -z
2009/04/01 11:16:52| Creating Swap Directories
#5 Alhamdulillah, kali ini sukses. Sekarang jalankan lagi proses squid. Selesai sudah pembersihan cache squid proxy.
# /etc/init.d/squid start
Setelah pada router dikembalikan, dan cek akses web normal, selesai sudah rangkaian agenda yang tidak terjadwal ini.
Usut punya usut, ternyata yang bikin space harddisk Proxy habis adalah Sarg. Target utama: direktori sarg-backup yang tersimpan di /home dihapus. Kapasitas sisa yang didapat bisa sampai 50%. Tapi setelah sehari koq muncul lagi ya??? Cek crontab deh
# crontab -l
00 00 * * * cp -r /var/www/sarg /home/hafidz/sarg-backup
Ternyata ini to yang bikin harddisk penuh, hapus aja lah
 # crontab -e
Selesai sudah… seharusnya masih nggak perlu menghapus  direktori cache Squid hehehe… Besarin lagi dech cache_dir di squid.conf.

Sumber

Kamis, 31 Januari 2013

Cara Menghapus Squid Cache Proxy Fedora Core

Biar ga' terlalu panjang lebar, mendingan langsung aja yach. Gini langkah² membersihkan Squid Cache Proxy :

1. Cek dulu, apakah Squid sedang dalam keadaan jalan ato ga'.
[root@bhagoezt ~]# service squid status
squid (pid 1156) is running...
Status di atas nunjukkin kalo service Squid sedang dalam keadaan berjalan normal.

2. Cari direktori cache yang akan dibersihin. Kalo lupa, bisa pake perintah di bawah ini.
[root@bhagoezt ~]# cat /etc/squid/squid.conf | grep ^cache_dir
cache_dir aufs /c2 3000 16 256
/c2 merupakan direktori yang digunakan untuk menyimpan cache 

3. Untuk memastikan, cek isi direktori /c2
[root@bhagoezt ~]# ls /c2
00 02 04 06 08 0A 0C 0E lost+found
01 03 05 07 09 0B 0D 0F swap.state

4. Sebelum langkah penghapusan dimulai, hentikan proses squid
[root@bhagoezt ~]# service squid stop
Stopping squid: [ OK ]

5. Buat sub direktori baru di dalam direktori /c2, yang gunanya untuk membersihkan cache dan juga backup jika nantinya terjadi kesalahan teknis. Misal sub direktori yang dibuat /cache_lama
[root@bhagoezt ~]# mkdir /c2/cache_lama

6. Cek sub direktori yang baru dibuat, apakah udah masuk di direktori /c2 ato belom
[root@bhagoezt ~]# ls /c2
00 04 08 0C lost+found
01 05 09 0D cache_lama
02 06 0A 0E swap.state
03 07 0B 0F swap.state.last-clean

7. Kalo sub direktori udah berhasil dibuat, pindahkan cache lama ke dalam sub direktori yang baru dibuat
[root@bhagoezt ~]# mv /c2/?? /c2/cache_lama
[root@bhagoezt ~]# mv /c2/swap* /c2/cache_lama

8. Cek apakah cache udah berhasil dipindahkan ato belum
[root@bhagoezt ~]# ls /c2
lost+found cache_lama

9. Kalo udah berhasil dipindahkan, tinggal buat cache baru
[root@bhagoezt ~]# squid -z
2011/05/15 18:28:15| Creating Swap Directories

10. Cek cache yang baru dibuat
[root@bhagoezt ~]# ls /c2
00 03 06 09 0C 0F
01 04 07 0A 0D lost+found
02 05 08 0B 0E cache_lama

11. Setelah berhasil membuat cache baru, jalankan lagi squid-nya
[root@bhagoezt ~]# service squid start
Starting squid: ....................[OK]

12. Cek status squid apakah udah berjalan dengan baik ato belom
[root@bhagoezt ~]# service squid status
squid (pid 2869) is running...

13. Terakhir tinggal menghapus squid yang lama
[root@bhagoezt ~]# rm -rf /c2/cache_lama/
Gampang kan? Semoga tutorial di atas bisa membantu dan selamat mencoba.. 

Sabtu, 17 September 2011

SQUID DELAYS POOLS

SQUID – Delay POOLS
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 squid

ex 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 network

ex: 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

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

4. 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
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 kantor 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.
Special case

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

sumber : indonesiacyber.net

Management Bandwidth dengan Squid (sederhana)

Management Bandwidth dengan Squid (sederhana)

pembatasan bandwidth dengan cara konfigurasi squid dan access-list di dalamnya, ternyata tidak sesulit yang dibayangkan... Langkah termudah yang harus dilakukan adalah identifikasi jaringan terlebih dahulu. Apakah jaringan tersebut sudah memiliki server, berapa PC yang dikelola server atau yang akan dikelola, berapa bandwidth yang diterima dari ISP (contoh: speedy), berapa bandwidth yang akan dibatasi beserta keterangannya, dan peralatan apa saja yang ada di dalam jaringan? (wireless, access-point, router, switch, mcm2...).

Setelah itu barulah kita menentukan topologi jaringan yang akan dibentuk...
Kebanyakah jaringan bertoplogi star dengan berbagai kondisi.
Bila bandwidth yang didapat dari ISP adalah 384kbps (speedy)..
...dan bila komputer yang akan dibatasi berjumlah 20...
...dengan bandwidth tiap PC dibatasi hanya sampai 20kbps...
...dan bila tidak ada syarat lain yang ingin dibuat...
...maka yang selanjutnya dibuat adalah dengan:
1. mengaktifkan squid, dengan perintah: squid -D
2. cek squid dengan mengetik: squid
3. sebelum semua dilakukan, jangan lupa menjadi root terlebih dahulu...
4. buka squid.conf di /etc/squid/squid.conf
5. tambahkan di dalamnya pengaturan yang kita inginkan...

...ada beberapa komponen pengaturan didalam squid.conf...
* acl: access-list... tempat mendeklarasikan daftar akses yang akan diatur...
contoh:

acl komputerku src 192.168.1.50/32

...artinya access-list yang bernama "komputerku" dengan ip "192.168.1.50"... didaftarkan...

* http_access: akses terhadap http port 80 (biasanya)... mengizinkan acl yang akan dideklarasikan untuk membuka port 80
contoh:

http_access allow komputerku

...artinya acl "komputerku" diizinkan membukan port 80 atau browsing internet...
...tidak semua access-list bisa diizinkan untuk membuka port 80, untuk mengantisipasi user/ klien yang bande, kita bisa mem-band access-list atau pc-klien tersebut... cukup efektif sebenarnya...
contoh:

http_access deny komputerku

...artinya... mati deh lu!

* delay_pools: pembuatan kelas atau pools bila bandwidth yang dibatasi bermacam-macam kelas kecepatan
contoh:

delay_pools 2

...artinya... ada dua pools atau kelas dengan dua akses kecepatan yang berbeda...

* delay_class: pembuatan kelas akses, turunan dari delay_pools, jika delay_pools dideklarasikan dua (seperti diatas), maka delay_class pun akan ada dua...
contoh:

delay_class 1 1

...artinya delay kelas pertama dengan pengaturan bandwidth hanya satu jenis kecepatan...

* delay_parameters: pembuatan parameter kecepatan kelas yang sedang dibuat...
contoh:

delay_parameters 1 8000/8000

...artinya pada kelas pertama terdapat satu jenis kecepatan yang diatur, dan besarnya bandwidth yang diatur atau yang diberikan hanya sampai 8000/8000, atau 64kbps/64kbps (8x8000=64000)... 8000 yang pertama berarti kecepatan bandwidth target yang harus dicapai... sedangkan 8000 yang kedua adalah target bandwidth yang bisa dipenuhi klo jaringan lagi asoy-geboy-nyantei...

* delay_access: akses klien yang dibatasi pada pada kelas tersebut...
contoh:

delay_access 1 allow komputerku

...artinya pada kelas akses 1 (pertama) dengan parameter 1 (pertama) akses klien yang terdaftar pada acl dengan nama "komputerku" diperbolehkan menggunakan bandwith sebesar parameter sebelumnya...

delay_access 1 deny all

..artinya selain akses list yang didaftarkan diatas... semua IP yang tidak terdaftar tidak diperbolehkan mengakses internet...
...tapi... kita harus membuat acl dulu seperti:

acl all src 0.0.0.0/0.0.0.0

...artinya semua IP versi 4 didaftarkan...

jadi...
contoh utuhnya...
(dengan catatan semua konfigurasi awal tidak dihapus... dan hanya ditambahkan)

acl all src 0.0.0.0/0.0.0.0
acl komputerku src 192.168.1.50/32
acl komputermu src 192.168.1.100/32

http_access allow komputerku
http_access allow komputermu

delay_pools 2

delay_class 1 1
delay_parameters 1 8000/8000
delay_access 1 komputerku
delay_access 1 deny all

delay_class 2 1
delay_parameters 2 12000/12000
delay_access 2 komputermu
delay_access 2 deny all

http_access deny all

reff http://tekkomerz.friendhood.net/t15-management-bandwidth-dengan-squid-sederhana

Sabtu, 19 Maret 2011

HAK AKSES INTERNET PADA HARI DAN JAM TERTENTU

HAK AKSES INTERNET PADA HARI DAN JAM TERTENTU


Masuk ke konfigurasi squid.conf dengan mengetikan perintah berikut dishellLinux:~ #mcedit /etc/squid/squid.conf

Dialog Squid.conf akan terbuka. Selanjutnya cari tulisan :# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROMYOUR CLIENTS

Jika sudah ditemukan sisipkan perintah dibawahnya denganmengetikkan
acl (nama_acl_IP) src (IP_yang_dibatasi_waktu_pemakaian)
acl (nama_acl_waktu) src time (pengaturan hari) (pengaturan jam)
http_access allow (nama_acl_IP) (nama_acl_waktu)

contoh :
Pada sebuah lembaga memiliki 3 buah ruangan yang masing-masingruangan terkoneksi dengan internet. Oleh si Admin Jaringan 3 buahruangan ini akan dibatasi waktu pemakaian internetnya denganpengaturan sbb:Ruang-a hanya dapat dipaka untuk hari Senin, Rabu, dan Jum’at namundibatasi pada jam tertentu saja, yaitu pukul 13.00 sampai dengan 21.00sedangkan Ruang-b pada hari Selasa dan Kamis dengan jam akses pukul15.00 sampai dengan 17.00 dan Ruang-c dibebaskan mengakses kapanpunjuga.Squid dapat diatur seperti di bawah ini:

acl ruang-a src 192.168.0.11-192.168.0.40/255.255.255.255
acl ruang-b src 192.168.0.41-192.168.0.70/255.255.255.255
acl ruang-c src 192.168.0.1-192.168.0.10/255.255.255.255
acl waktu-ruang-a time MWF 13:00-21:00
acl waktu-ruang-b time TH 17:00-19:00
http_access allow waktu-ruang-a ruang-a
http_access allow waktu-ruang-b ruang-b
http_access allow ruang-chttp_access deny all 4.

Lalu tekan tombol F2 (Save) untuk menyimpan, tekan tombol F10 (Quit)untuk keluar dari file squid.conf 5.

Selanjutnya restart squid dengan mengetikan perintah berikut ini di shellLinux:~ #rcsquid restart
Setelah service squid di-restart atau di-reload maka hak akses Internet hanyadapat digunakan di ruang-a pada hari Seni, Rabu, dan Jumat (MWF) denganjam 13:00-21:00 sedangkan akses internet di ruang-b hanya dapat digunakanpada hari Selasa dan Kamis dengan jam 17:00-19:00. hal ini dimungkinkankarena http_access hanya memperbolehkan (allow) penggunaan di ruang-a pada

NB : Sunday (S) , Monday (M) , Tuesday (T) , Wednesday (W) , Thrusday (H) , Friday (F) , Saturday (A)

Rabu, 10 November 2010

DASAR SQUID

dSalah satu contoh aplikasi proxy/cache server adalah Squid. Squid dikenal sebagai aplikasi proxy dan cache server yang handal. Pada pihak klien bekerja aplikasi browser yang meminta request http pada port 80. Browser ini setelah dikonfigurasi akan meminta content, yang selanjutnya disebut object, kepada cache server, dengan nomor port yang telah disesuaikan dengan milik server, nomor yang dipakai bukan port 80 melainkan port 8080 3130 (kebanyakan cache server menggunakan port itu sebagai standarnya).

Pada saat browser mengirimkan header permintaan, sinyal http request dikirimkan ke server. Header tersebut diterima squid dan dibaca. Dari hasil pembacaan, squid akan memparsing URL yang dibutuhkan, lali URL ini dicocokkan dengan database cache yang ada.

Database ini berupa kumpulan metadata (semacam header) dari object yang sudah ada didalam hardisk. Jika ada, object akan dikirimkan ke klien dan tercatat dalam logging bahwa klien telah mendapatkan object yang diminta. Dalam log kejadian tersebut akan dicatat sebagai TCP_HIT. Sebaliknya, jika object yang diminta ternyata tidak ada, squid akan mencarinya dari peer atau langsung ke server tujuan. Setelah mendapatkan objectnya, squid akan menyimpan object tersebut ke dalam hardisk. Selama dalam proses download object ini dinamakan “object in transit” yang sementara akan menghuni ruang memori. Dalam masa download tadi, object mulai dikirimkan ke klien dan setelah selesai, kejadian ini tercatat dalam log sebagai TCP_MISS.

ICP sebagai protokol cache berperan dalam menanyakan ketersediaan object dalam cache. Dalam sebuah jaringan sebuah cache yang mempunyai sibling, akan mencoba mencari yang dibutuhkan ke peer sibling lainnya, bukan kepada parent, cache akan mengirimkan sinyal icp kepada sibling dan sibling membalasnya dengan informasi ketersediaan ada atau tidak. Bila ada, cache akan mencatatkan ICP_HIT dalam lognya. Setelah kepastian object bias diambil dari sibling, lalu cache akan mengirimkan sinyal http ke sibling untuk mengambil object yang dimaksud. Dan setelah mendapatkannya, cache akan mencatat log SIBLING_HIT.

Jika ternyata sibling tidak menyediakan object yang dicari, cache akan memintanya kepada parent. Sebagai parent, ia wajib mencarikan object yang diminta tersebut walaupun ia sendiri tidak memilikinya (TCP_MISS). Setelah object didapatkan dari server origin, object akan dikirimkan ke cache child tadi, setelah mendapatkannya cache child akan mencatatnya sebagai PARENT_HIT.

* Konfigurasi, penggunaan dan metode Squid

Konfigurasi-konfigurasi mendasar squid antara lain :

1. http_port nomor port.
Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port ini akan dipakai untuk berhubungan dengan klien dan peer.

2. icp_port nomor port.
Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port ini akan dipakai untuk berhubungan dengan klien dan peer.

3. cache_peer nama_peer tipe_peer nomor_port_http nomor_port_icp option.
Sintask dari cache peer ini digunakan untuk berhubungan dengan peer lain, dan peer lain yang dikoneksikan ini tipenya bergantung dari tipe peer yang telah dideklarasikan ini, bias bertipe sibling maupun bertipe parent,dan port yang digunakan untuk hubungan ICP maupun HTTP juga dideklarasikan disini, sedangakan untuk parameter option disini ada bermacam-macam salah satunya adalah default yang berarti dia adalah satu-satunya parent yang harus dihubungi (jika bertipe parent) dan proxy-only yang berarti bahwa object yang dipata dari peer tersebut tidak perlu disimpan dalam hardisk local.

4. Dead_peer_timeout jumlah_detik seconds.
Masing-masing peer yang telah didefinisikan sebelumnya mempunyai waktu timeout sebesar yang ditentukan dalam konfigurasi ini, Jika peer tidak menjawab kiriman sinyal ICP dalam batas waktu yang telah ditentukan, peer akan dianggap tidak akan dapat dijangkau, dan cache server tidak akan mengambil object dari server yang bersangkutan dalam interval waktu tertentu.

5. Hierarcy_stoplist pola1 pola2
Sintaks ini digunakan untuk menyatakan apa yang harus tidak diminta dari peer, melainkan harus langsung dari web server origin, jika pola1 dan pola 2 adalah parameter cgi-bin, ?, dan lain-lain maka jika ada request URL yang mengandung karakter tersebut maka akan diambilkan langsung ke server origin.

6. Cache_mem jumlah_memori (dalam bytes)
Sintaks ini akan menentukan batas atas jumlah memori yang digunakan untuk menyimpan antara lain : intransit object yaitu object yang dalam masa transisi antara waktu cache mendownload sampai object disampaikan ke klien, dan hot object, yaitu object yang sering diakses.

7. Cache_swap_low/high jumlah (dalam persen)
Squid akan menghapus object yang ada didalam hardisknya jika media tersebut mulai penuh. Ukuran penuh ini yang diset pada cache_swap_low dan cache_swap_high. Bila batas swap_low telah tercapai maka squid mulai menghapus dan jika batas swap_high tercapai maka squid akan semakin sering menghapus.

8. Cache_dir jenis_file_sistem direktori kapasitas_cache dir_1 jumlah dir_2
Sintaks ini akan menjelaskan direktori cache yang dipakai, pertama adalah jenis file sistemnya, lalu didirektori mana cache tersebut akan disimpan, selanjutnya ukuran cache tersebut dalam MegaBytes lalu jumlah direktori level 1 dan direktori level 2 yang akan digunakan squid untuk menyimpan objectnya.

* ACL (Access Control List)

Berikut ini adalah control list yang akan digunakan untuk mengatur control dari ACL, control list tersebut antara lain :
- http_access
memperbolehkan acess http
- icp_access
memperbolehkan peer untuk mengirimkan icp untuk menquery object
- miss_access
memperbolehkan klien meminta object yang belum ada (miss) didalam cache
- no_cache
object yang diminta klien tidak perlu disimpan ke hardisk
- always_direct
permintaan yang ditangani langsung ke server origin
- never direct
permintaan yang ditangani secara tidak langsung ke server origin.

Sebagai contoh diberikan sintaks konfigurasi ACL seperti dibawah ini :
#bagian ACL
ACL localnet src 192.168.100.0/24
ACL localkomp 127.0.0.1/255.255.255.255
ACL isp dst 202.59.206.65/30
ACL allsrc src 0.0.0.0/0.0.0.0
ACL alldst dst 0.0.0.0/0
ACL other src 10.10.11.11/32
ACL domainku srcdomain .jatara.net
#bagian control list
http_access deny other
http_access allow localnet
http_access allow lokalkomp
http_access allow domainku
http_access deny allsrc
always_direct allow isp
always_direct deny alldst

Pada konsep sintaks konfigurasi squid adalah bahwa sesuatu yang telah dieksekusi pada baris yang lebih atas maka dia tidak dieksekusi lagi dibaris yang paling bawah, walaupun dalam parameter ACL yang dibawah tersebut dia juga termasuk, untuk lebih jelasnya, jika ada IP Address 192.168.100.0/24 maka IP Address yang berkisar dari 192.168.100.1 – 192.168.100.254 (ACL localnet) telah diijinkan untuk mengakses http yang ditunjukkan oleh http_access allow localnet, dan dibawahnya ada ACL allsrc yang itu adalah mencakup semua daftar IP Address dan ACL itu tidak diperbolehkan mengakses http, yaitu http_access_deny allsrc, tapi karena pada ACL localnet dia telah dieksekusi untuk sebagai IP Address yang boleh mengakses, maka walaupun dibaris bwahnya di dieksekusi lagi, itu tidak akan berpengaruh,hal-hal seperti itu digunakan untuk seorang administrator cache server untuk melakukan pengontrolan agar tidak akan terlalu detail melakukan pengaturan jika baris atas dan bawah sama-sama saling mempengaruhi.

* Object Cache

Pengaturan object sebuah cache server merupakan salah satu hal yang perlu diperhatikan disini. Telah diketahui sebelumnya bahwa object disimpan pada dua level cache_dir yang besar levelnya didefinisikan pada konfigurasi utama squid. Object itu sendiri berisikan content URL yang diminta klien dan disimpan dalam bentuk file binary, masing-masing object mempunyai metadata yang sebagian dari isinya disimpan didalam memori untuk memudahkan melacak dimana letak object dan apa isi dari object tersebut. Banyak sifat-sifat yang perlu diamati untuk optimasi squid ini, antara lain :

Umur object
Umur obect merupakan sebuah ukuran waktu yang dihabiskan sebuah object untuk tinggal didalam hardisk cache. Umur object dibatasi oleh beberapa factor, yaitu :

metode penghapusan object
object dihapus bisa melalui beberap algoritma penghapusan :
a. Logistic Regression :
yaitu menghapus object dengan kemungkinan logistic regression terkecil. Kemungkinan logistic regression bisa diartikan sebagai besarnya kemungkinan object tersebut akan diakses diwaktu yang akan dating.

b. Least Recently Used :
yaitu metode penghapusan object berdasarkan waktu kapan object tersebut terakhir diakses. Semakin lama (besar) waktunya, kemungkin dihapus juga akan semakin besar.

c. Least Frequently Used :
Metode penghapusan object yang paling jarang diakses.

d. First In First Out :
Penghapusan yang merunut metode berdasarkan waktu masuk ke dalam cache_dir, yaitu object yang paling awal masuk, berarti itu adalah object yang akan dihapus terlebih dahulu.

e. Random :
Menghapus object secara random.

Kapasitas hardisk cache
Semakin besar kapasitas cache, berarti semakin lama umur object tersebut bisa disimpan, jika pemakaian hardisk sudah mendekati batas atas (cache_swap_high) penghapusan akan semakin sering dilakukan.

* KONFIGURASI DAN IMPLEMENTASI

Diasumsikan instalasi telah selesai dan tidak terdapat kesalahan, langkah berikutnya adalah mengatur konfigurasi squid, bukalah file /etc/squid.conf dengan editor teks favorit anda (vi, pico, dll), file ini merupakan file konfigurasi squid.

Carilah baris yang berisi perintah berikut :

# http_port 3128

Perintah ini akan membuat proxy HTTP menggunakan port 3128 yang merupakan port default untuk squid. Aktifkan dengan menghilangkan tanda #. Anda dapat membuat nilai port HTTP proxy ini sesuai dengan selera anda, tetapi jangan arahkan ke port 80, terutama jika anda juga menjalankan Web Server, karena Web Server juga memakai port tersebut.
#cache_mem 8 MB

Perintah tersebut digunakan untuk membatasi banyaknya memori komputer yang akan digunakan squid untuk menyimpan sementara obyek-obyek yang di cache. Batasan ini tidak ketat, suatu waktu jika squid membutuhkan memori lebih, dia dapat menggandakan memori yang dipakainya. Aktifkan baris ini dan ubahlah ukuran cache ini menjadi sebanyak yang anda inginkan, yang harus anda pertimbangkan adalah banyaknya memori yang dimiliki oleh komputer anda.
Kemudian:
# cache_access_log /var/log/squid/access.log
# cache_log /var/log/squid/cache.log
# cache_store_log /var/log/squid/store.log
Berikutnya, carilah baris yang berisi perintah berikut :

# LOGFILE PATHNAMES & CACHE DIRECTORIES
# ————————————-
Setting berikut ini digunakan untuk mendefinisikan alokasi penyimpanan web cache kita. Setting yang pertama adalah :

#cache_dir /var/squid/cache 100 16 256

Nilai yang ada diatas adalah nilai default squid, jika anda ingin merubahnya maka aktifkan perintah ini.

Parameter pertama /var/squid/cache adalah nama direktori tempat kita akan menyimpan file-file cache. Anda dapat mengubah parameter ini ke direktori manapun, tetapi yang harus diperhatikan squid tidak akan menciptakan direktori baru, jadi bila parameter ini akan diubah, pastikan direktori tujuannya sudah ada dan squid mempunyai hak akses untukmenulis pada direktori tersebut.

Parameter selanjutnya, yang bernilai 100 adalah banyaknya ruang pada hard disk (dengan satuan Mega Byte) yang akan digunakan squid untuk menyimpan file-file cache nya. Ubahlah sesuai dengan kebutuhan anda.

Parameter selanjutnya, disebut dengan Level-1, adalah banyaknya direktori yang akan dibuat oleh squid dalam direktori cache nya. Sebaiknya penulis menyarankan untuk tidak mengubah parameter ini.

Parameter terakhir, yang disebut dengan Level-2, adalah banyaknya direktori level kedua, yaitu direktori yang dibuat di dalam tiap direktori level pertama diatas.

Langkah berikutnya, carilah perintah berikut :

# ACCESS CONTROLS
# ——————–
Baris perintah berikut ini digunakan untuk mendefinisikan daftar hak akses dalam jaringan anda, squid menyebutnya dengan Access Control Lists (ACL). Anda dapat mendefinisikan beberapa ACL disini. Dalam bagian access controls ini, carilah baris perintah berikut :

#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
dibawah acl localhost src 127.0.0.1/255.255.255.255, tambahkan network yang akan di allowed
acl jar1 src 172.17.3.0/255.255.255.0
setelah itu supaya net1 dan net2 td bisa mengakses squid maka tambahkan http_access allow
cari baris :
# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all
diantara http_access allow localhost dan http_access deny all tambahkan :
http_access allow jar1
baris ini bisa diletakkan di atas http_access allow localhost atau dibawah http_access allow localhost yang penting diatas http_access deny all
setelah itu simpan. lalu start squid nya
[root@b301 ~]#squid –z ( hanya sekali pada saat pertama kali seting )
[root@b301 ~]#/etc/init.d/squid start ( setiap kali akan menjalankan squid )
setelah itu gunakan testing squidnya menggunakan browser sambil di lihat acess log nya
[root@b301 ~]#tail -f /home/cache/squid/acces

Kamis, 12 Agustus 2010

#Memblok Situs Tidak Baik Menggunakan ACL Squid

Pertama buat acl yang berisi daftar situs yang mau diblok, misal dengan nama blok

# vi /etc/squid/blok.txt

masukkan daftarnya disini, tekan :wq untuk menyimpan (jika menggunakan vi)

acl blok url_regex -i “/etc/squid/blok.txt”
http_access deny blok

reload konfigurasi squid

# squid -k reconfigure

Sampai sini situs yang ada di file blok.txt sudah diblok. sekedar untuk variasi pesan error (secara default usr akan mendapatkan pesan error Access Denied). ini juga bisa untuk menghindari kecurigaan klien:D

deny_info ERR_DNS_FAIL blok

jadi dari sekian banyak blacklist bisa dibagi menjadi beberapa bagian dengan pesan error yang beda-beda. File yang akan digunakan untuk memberikan pesan error ada di

/usr/share/squid/errors/English


ok its Done :)

Kamis, 29 Juli 2010

#Squid lagi Squid Lagi :cd

Install Squid

apt-get install squid

Setelah itu, konfigurasi squid seperti contoh ( ubah sesuai konfigurasi kamu)

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWATacl purge method PURGE
acl purge method PURGE
acl CONNECT method CONNECT
#############################################################################
acl whitelist url_regex -i "/etc/squid/whitelist.txt"
acl kompi1 src 193.16.16.0/24
#acl user_1 src 193.16.16.213
acl user_1 arp 0C:0C:0B:14:CD:98 # MAc ini punya ip 213 sering donlot
acl situs_khusus url_regex -i "/etc/squid/situs_khusus.txt"
acl situs_dewasa url_regex -i "/etc/squid/situs_dewasa.txt"
acl block_mac arp "/etc/squid/block_mac.txt"
acl jam_tayang time "/etc/squid/jam_tayang.txt"
acl andrew src 193.16.16.222
acl teknisi src 193.16.16.234
acl choir src 193.16.16.90
acl lukas src 193.16.16.244
acl roy src 193.16.16.60
acl fandy src 193.16.16.108
acl arif src 193.16.16.125
acl laser arp 00:1B:FC:1A:54:83
acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4
acl sementara src 193.16.16.233 #buat donlot sql server
#acl jam_tidur "/etc/squid/jam_tidur.txt"

http_access allow whitelist
http_access allow andrew
http_access allow teknisi
http_access allow choir
http_access allow fandy
http_access allow roy
http_access allow lukas
http_access allow sementara

#HTTP_ACCESS#
#Delay Pools#
#delay_pools 1
#delay_class 1 1
#delay_access 1 allow user_1
#delay_access 1 deny all
#delay_parameters 1 8000/8000

http_access deny user_1
http_access allow arif
http_access allow situs_khusus !jam_tayang
http_access deny situs_khusus
http_access deny situs_dewasa
http_access allow kompi1 !jam_tidur
#BLOCK MAC ADDRESS#
http_access deny block_mac


########reply_body_max_size 30000000 allow download


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

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow all
icp_access allow all

http_port 3128 transparent
visible_hostname localhost
hierarchy_stoplist cgi-bin ?

cache_dir ufs /usr/local/squid/cache 1024 16 256
access_log /usr/local/squid/access.log
cache_log /usr/local/squid/cache.log
cache_store_log none
emulate_httpd_log on

cache_mem 512 MB
cache_swap_low 94
cache_swap_high 96
maximum_object_size 64 MB
minimum_object_size 4 KB
maximum_object_size_in_memory 2048 KB
fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid

cache_mgr admin
cachemgr_passwd admin all
cache_effective_user squid
cache_effective_group squid

#dns_nameservers 202.134.1.10 202.93.40.174


Konfigurasi diatas membutuhkan file block_mac.txt,jam_tayang.txt,situs_dewasa.txt,situs_khusus.txt,whitelist.txt. Jika perlu kamu bisa download semua file itu disini

Buat user squid.

#useradd squid

Kemudian pastikan folder dan file didalam squid masuk ke dalam milik user squid

#chown -R squid.squid /etc/squid

Buat folder baru

#mkdir /usr/local/squid
#mkdir /usr/local/squid/cache
#chown -R squid.squid /usr/local/squid

Setelah itu jalankan perintah berikut

#squid -z
#/etc/init.d/squid start

Seharusnya tidak ada error dan squid berjalan lancar.
Silakan diujicoba,semoga berhasil

Sabtu, 01 Mei 2010

Filter content squid

Ketika cache server sudah berfungsi dengan baik, maka waktunya dilakukan sedikit tambahan optimasi.

Disini yang akan diabahas yaitu menambah filter agar content yang bersifat iklan bisa berkurang dan content ang tidak dikehendaki bisa diblok, misalnya content bersifat sex, dll

Disini akan disajikan beberapa contoh seting filter:

  1. Filter banner, yaitu yang diawali dengan kata banner, reclama, dll

    acl banner url_regex banner reclama linkexch banpics us\.yimg\.com[\./]ad[s]?[\./]
    http_access deny banner

  2. Filter iklan bergambar, yang umunya berupa file gif dan sqf dengan ukuran cukup besar, kalau kecil biasanya dipakai sebagai icon dan sejenisnya. Disini dibatasi yang ukurannya diatas 20K akan di blok

    acl banner2 url_regex -i .gif .swf
    reply_body_max_size 20000 allow banner2

  3. Filter content yang dalam urlnya mengandung kata-kata terlarang, misal bugil, sex, dll

    acl sexsite urlpath_regex -i bugil xxx
    http_access deny sexsite

  4. Apabila kata/kalimat yang dimasukkan dalam filter sudah cukup banyak, maka kata/kalimat tersebut dapat dimasukkan ke dalam sebuah file.

    acl sexsite urlpath_regex -i “/etc/squid/sexsite.conf”
    http_access deny sexsite

    kemudian file “/etc/squid/sexsite.conf” disikan kata/kalimat filter perbaris satu

    bugil
    xxx

reference http://kusprayitna.staff.uii.ac.id/2009/01/05/filter-content-sederhana-di-squid/

Kamis, 29 April 2010

Setting squid Part 1

Download source dari squid
#wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE16.tar.gz

Extract squid tersebut
#tar -zxvf squid-2.6.STABLE16.tar.gz -C /usr/local/src (sembarang mau ditaruh di mana hasil ekstraknya squid).

Masuk ke direktori ekstrak squid tersebut
#cd /usr/local/src/squid-2.6.STABLE16
Buat group dan user yang akan di gunakan untuk menjalankan squid
#groupadd _squid
#useradd -c “SQUID PROXY CACHE” -d /dev/null -s /bin/false -g _squid _squid

Configure dan install squid
#./configure \
–prefix=/squid/ –sysconfdir=/etc/ –enable-gnuregex –enable-async-io=16 \
–with-aufs-threads=16 –with-pthreads –with-aio –with-dl \
–enable-storeio=aufs –enable-removal-policies=heap –enable-delay-pools \
–disable-wccp –enable-cache-digests –enable-default-err-languages=English \
–enable-err-languages=English –enable-linux-netfilter –disable-ident-lookups \
–disable-hostname-checks –enable-underscores –enable-snmp –enable-useragent-log \
–disable-wccpv2 –enable-epoll –disable-internal-dns –enable-htcp
Keterangan opsi :
–enable-async-io=16 dan –with-aufs-threads=16 di sesuaikan dengan kemampuan mesin server
Untuk pentium III dengan ram 128 kebawah dapat menggunakan 8
Untuk pentium III ram 128 s/d PIV 1,8 Ghz ram 256 dapat menggunakan 16
Untuk pentium IV ram 256 1,8 s/d PIV 2,4 ram 256 dapat menggunakan 24
Untuk pentium di atasnya atau sekelasnya dapat menggunakan 32
Pilihan diatas hanya sebuah perkiraan penulis karena penulis hanya menggunakan P4 ram 256 saja.

Kompile source
#make && make install

Keterangan tambahan :
–enable-auth=basic \
–enable-basic-auth-helpers=NCSA
Digunakan jika proxy squid akan digunakan dengan menggunakan authentikasi user.

Tanda # didepan perintah maksudnya adalah root di dalam bash bukan comment.
Setelah instalasi selesai dan tidak terdapat kesalahan, langkah berikutnya adalah mengatur konfigurasi squid, bukalah file /etc/squid.conf dengan editor teks favorit anda (vi, pico, dll), file ini adalah file konfigurasi squid.

#pico -w /etc/squid.conf (Silahkan edit dengan editor kesukaan anda)
Rubahlah konfigurasi default squid.conf di sesuaikan dengan kebutuhan.
Jangan lupa untuk membuang yang kira kira tidak perlu dan membebani server.
Atau copy konfigurasi yang telah saya edit pribadi dan edit sesuai dengan kebutuhan :
#cd /etc
#wget http://air-putih.web.id/download/server/contoh.conf
#mv contoh.conf squid.conf

agar squid dapat berjalan transparan maka untuk squid versi 2.6 keatas dapat memberikan opsi :
–> http_port 3128 transparent
di dalam confignya.

Sebelum squid dapat berjalan, anda harus menciptakan direktori swap dan membuat file log maupun direktori yang di butuhkan. Lakukanlah dengan menjalankan perintah :

#mkdir /var/log/squid
#touch /var/log/squid/access.log <= ini berfungsi membuat file bernama access.log
#touch /var/run/squid.pid
#chown -R _squid._squid /squid/cache/ <= mengubah kepemilikan direktori ke user _squid dan grup _squid
#chown -R _squid._squid /var/run/pid
#chown -R _squid._squid /var/log/squid/access.log

Perintah ini hanya perlu dijalankan satu kali saja ketika squid pertama kali akan dijalankan pada komputer anda.
#/squid/sbin/squid -z

Jika keluar message seperti :
2007/09/20 14:10:22| Creating Swap Directories
#
Dan langsung masuk ke konsole lagi tanpa keterangan error berarti pembuatan swap anda berhasil, bisa dilihat di dalam direktori /squid/cache akan terbentuk beberapa direktori random yang terdiri dari angka angka ajaib :D

Cek dulu konfigurasi squid sudah benar atau belum
#/squid/sbin/squid -k parse

Kalo masih terdapat kesalahan atau error silahkan di edit kembali konfigurasinya.

Untuk menjalankan squid gunakan perintah :
#/squid/sbin/squid -sYD

Jika perintah sudah dijalankan bisa diihat log di /var/log/messages :
#tail -f /var/log/messages

Jika muncul message :

Sep 20 15:16:27 proxy squid[3152]: 0 Objects expired.
Sep 20 15:16:27 proxy squid[3152]: 0 Objects cancelled.
Sep 20 15:16:27 proxy squid[3152]: 0 Duplicate URLs purged.
Sep 20 15:16:27 proxy squid[3152]: 0 Swapfile clashes avoided.
Sep 20 15:16:27 proxy squid[3152]: Took 1.6 seconds ( 0.0 objects/sec).
Sep 20 15:16:27 proxy squid[3152]: Beginning Validation Procedure
Sep 20 15:16:27 proxy squid[3152]: Completed Validation Procedure
Sep 20 15:16:27 proxy squid[3152]: Validated 0 Entries
Sep 20 15:16:27 proxy squid[3152]: store_swap_size = 0k
Sep 20 15:16:27 proxy squid[3152]: storeLateRelease: released 0 objects

dan ketika di liat proses nya berjalan seperti :

#ps aux|grep squid

muncul :

squid 3152 0.9 0.8 10836 4500 ? Sl 15:16 0:00 (squid) -sDY
squid 3153 0.0 0.1 1904 596 ? Ss 15:16 0:00 (dnsserver)
squid 3154 0.0 0.1 1904 592 ? Ss 15:16 0:00 (dnsserver)
squid 3155 0.0 0.1 1904 596 ? Ss 15:16 0:00 (dnsserver)
squid 3156 0.0 0.1 1900 596 ? Ss 15:16 0:00 (dnsserver)
squid 3157 0.0 0.1 1904 596 ? Ss 15:16 0:00 (dnsserver)
squid 3158 0.0 0.0 1508 300 ? Ss 15:16 0:00 (unlinkd)
root 3177 0.0 0.1 2000 636 pts/0 R+ 15:17 0:00 grep squid

seperti tersebut maka saya ucapkan selamat anda telah berhasil menginstall sebuah proxy server. Jika ada keterangan error berarti belum nasib anda. Edit kembali konfigurasi sesuai kesalahan error didalam log.

setting transparan iptables nya :
Buat file transparannya biar mudah memanggilnya :
#pico /etc/rc.d/rc.nat
isi dengan :
# Redirect proxy
for SQUID in 80 3128 444 3127 3129
do
iptables -t nat -A PREROUTING -p tcp –dport $SQUID -j REDIRECT –to-ports 3128
done

–> Hal diatas memiliki maksud semua port yang menuju ke 80,3128,444,3127,3129 di larikan ke port 3128 dimana port 3128 adalah port yang kita setting di dalam file squid.conf tsb. BIsa saja kita membuat port lain seperti 444, 1984, 2007 atau lain lain.

Buatlah file agar dapat di eksekusi
#chmod +x /etc/rc.d/rc.nat

Jalankan transparan :
#/etc/rc.d/rc.nat

Untuk membuat squid jalan sendiri setiap kali booting maka tambah kan perintah di atas di /etc/rc.d/rc.local
#pico /etc/rc.d/rc.local
tambahkan baris :
# Squid Proxy Cache
/squid/sbin/squid -sYD
# Transparan Proxy
/etc/rc.d/rc.nat

Sampai disini anda sudah melakukan instalasi, setting dan mengaktifkan squid. Mudah bukan?

Untuk contoh squid.conf :
dapat dilihat di http://air-putih.web.id/download/server/contoh.conf

Semua diatas telah di di test dan berjalan dengan baik dengan asumsi :
- Partisi Cache berada di /squid/cache dengan partisi ext3 dan kapasitas 10 GB
- Dengan menggunakan komputer Intel(R) Pentium(R) 4 CPU 1.70GHz Ram 256 MB
- Linux Slackware 12 ( Dikompile dengan kernel 2.6.22.6 ) – Tutorial Kompile / upgrade kernel sudah saya jelaskan sebelumnya.
- Dengan menggunakan format partisi ext3

konfigurasi contoh diatas tidak harus di copi sama persis tetapi tentunya di sesuaikan dengan kondisi dan keperluan

Copas http://riniwidi.wordpress.com/setting-squid/

Twitter Delicious Facebook Digg Stumbleupon Favorites More