Install Squid Proxy

http://akbar.web.id

Untuk menginstall squid proxy pada mesin freebsd ada beberapa hal yang perlu diperhatikan seperti besar cache yang akan digunakan untuk proxy dalam hal ini ada perhitungan yang perlu diketahui agar proxy yang kita buat bisa optimal.

 

Proxy banyak digunakan diwarnet-warnet bahkan sekelas ISP pun ikut menggunakanya karena bisa mengirit bandwidth kurang lebih 20%, mungkin sudah banyak sekali tulisan2 tentang proxy untuk FreeBSD yang saya tuliskan disini adalah versi saya kalo ada masukan lain dari temen2 silahkan karena dalam proxy banyak sekali variasinya, berikut Setting dan Konfigurasi Squid :

buat direktory src dulu untuk file squid yang akan kita install jangan lupa login dulu.

login : root
passwd : xxxxxx
squid-akbar #
squid-akbar # mkdir /usr/local/src

kemudian masuk ke directory /src dan download squid ver 2.5 menggunakan command wget

squid-akbar # cd /usr/local/src
squid-akbar # wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE14.tar.gz

tunggu sampai proses download selesai setelah itu extrak, konfigure dan install

squid-akbar # tar zxvf squid-2.5.STABLE14.tar.gz
squid-akbar # cd squid-2.5.STABLE14
squid-akbar # ./configure \–prefix=/usr/local/squid \–exec-prefix=/usr/local/squid \–enable-delay-pools \–enable-ssl \–enable-cache-diggests \–enable-poll \–disable-ident-lookups \–enable-snmp \–disable-internal-dns \–enable-truncate –enable-removal-policies \–enable-gnuregex \–enable-removal-policies=”heap lru” \–disable-hostname-checks \–enable-underscores \–enable-icmp
squid-akbar # make && make install

konfigurasi file squid.conf ada yang ada di /usr/local/squid/etc/ berikut contoh konfigurasi squid.conf saya dan anda bisa langsung dicopy paste ke file squid.conf
# WELCOME TO SQUID 2
# ——————
#
#

# NETWORK OPTIONS
# —————————————————————————–

http_port 3128
icp_port 3130

# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
# —————————————————————————–

hierarchy_stoplist cgi-bin ?
acl code_1 url_regex ^http://www.scripts/root\.exe?
acl code_1 url_regex ^http://au.download.windowsupdate.com
acl code_1 url_regex ^http://ad.doubleclick.net
acl code_1 url_regex ^http://click.adbrite.com
acl code_1 url_regex readme.exe
acl code_2 urlpath_regex .*/winnt/system32/cmd.exe.* .*/MSADC/root.exe..c.dir$ .*/scripts/root.exe..c.dir$
http_access deny code_1
http_access deny code_2

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

# OPTIONS WHICH AFFECT THE CACHE SIZE
# —————————————————————————–

cache_mem 64 MB
cache_swap_low 90
cache_swap_high 95

maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 256 KB

ipcache_size 1024
ipcache_low 90
ipcache_high 95

fqdncache_size 1024

# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# —————————————————————————–

cache_dir ufs /cache 22000 51 256     # catatan 1
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log

# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
# —————————————————————————–

dns_children 20
dns_defnames on

dns_nameservers 203.89.xxx.10 203.89.xxx.6    # catatan 2

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

# OPTIONS FOR TUNING THE CACHE
# —————————————————————————–

refresh_pattern ^ftp:  1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern .  0 20% 4320

# TIMEOUTS
# —————————————————————————–

half_closed_clients off

# ACCESS CONTROLS
# —————————————————————————–

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

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl our_networks src 192.168.0.0/24      # catatan 3
http_access allow our_networks

http_access allow  all
http_reply_access allow all

icp_access allow all
http_access deny all

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–

cache_mgr webmaster

cache_effective_user nobody

visible_hostname aku@akbar.web.id

# OPTIONS FOR THE CACHE REGISTRATION SERVICE
# —————————————————————————–

# HTTPD-ACCELERATOR OPTIONS
# —————————————————————————–

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on    # catatan 4
httpd_accel_uses_host_header on

# MISCELLANEOUS
# —————————————————————————–

logfile_rotate 10

# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
# —————————————————————————–

coredump_dir /usr/local/squid/var/cache
selanjutnya membuat log file untuk squid dan ubah permision file log

squid-akbar # touch -f /usr/local/squid/var/logs/access.log
squid-akbar # touch -f /usr/local/squid/var/logs/cache.log
squid-akbar # touch -f /usr/local/squid/var/logs/store.log
squid-akbar # chown nobody:nobody /cache
squid-akbar # chown nobody:nobody /usr/local/squid/var/logs/access.log
squid-akbar # chown nobody:nobody /usr/local/squid/var/logs/cache.log
squid-akbar # chown nobody:nobody /usr/local/squid/var/logs/store.log

yang terakhir buat swap direktory di cache squid anda dan jalankan squid anda dengan command berikut :

squid-akbar # /usr/local/squid/sbin/squid -z
squid-akbar # /usr/local/squid/sbin/squid -sCYD
cek squid anda dan pastikan telah berjalan dengan menggunakan perintah ps ax :

squid-akbar # ps ax |grep squid
393 ?? Is 0:00.00 /usr/local/squid/sbin/squid -sCYD
398 ?? S 27:07.23 (squid) -sCYD (squid)
70681 p0 R+ 0:00.00 grep squid
squid-akbar #

bila proxy anda sekaligus router silahkan tambahi dengan rule
squid-akbar # ipfw add 500 fwd 127.0.0.1,3128 tcp from any to any dst-port 80 via rl0 (rl0 adalah interface client)

catatan-catatan :
catatan 1 : cache_dir ufs /cache 22000 51 256
/cache adalah directory cache untuk squid tidak harus /cache anda bisa menaruh direktory cache dimana saja misal /usr/cache juga bisa
22000 : adalah jumlah directory cache dalam ukuran Mb jadi 22Gb
51 256 : yang perlu ditentukan adalah angka 51 berikut cara perhitungannya 22000000 :13:256:256X2 = 20000 51 256

catatan 2 : dns_nameservers 203.89.xxx.10 203.89.xxx.6 adalah dns yang anda pergunakan
catatan 3 : acl our_networks src 192.168.0.0/24 adalah network yang diijinkan untuk lewat squid
catatan 4 : httpd_accel_with_proxy on
on = bila posisi ‘on’ maka kita tidak bisa mengisikan proxy ke browser kita
off = bila posisi ‘off’ maka kita bisa mengisikan proxy ke browser kita

mohon maaf bila sedikit memusingkan dalam menyuguhkan kata-kata yang tepat.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s