Instalasi Transparent Proxy @ FreeBSD 6.1 (Dokumentasi pribadi)

Thursday, January 17, 2008 at 9.53 a.m.

 

Transparent proxy sangat berguna untuk saya pribadi dalam hal mempermudah pekerjaan. Kita tidak perlu repot-repot lagi melakukan konfigurasi proxy pada setiap browser client. Apabila client sedikit, mungkin tidaklah terlalu menjadi masalah namun apabila client kita banyak dan ditambah lagi user yang tidak melek it, wah terbayangkan betapa beratnya pekerjaan harus kita kerjakan. J

Sebelumnya pernah pula saya membuat dokumentasi pribadi tentang konfigurasi transparent proxy, namun pada waktu itu konfigurasi dilakukan pada mesin RedHat 9.0. Ya itung-itung belajar menulis lah J…Siapa tau suatu saat nanti bisa berguna. Amiin

Udah ah kebanyakan cuap-cuapnya. Mengenai lebih lanjut teori mengenai transparent proxy, ada baiknya mencari saja di internet ya !

Ok kita langsung menghadap pada unix box kita yu……

 

Instalasi dan konfigurasi squid

Seperti halnya pada artikel instalasi MRTG di FreeBSD, untuk kali ini pun saya tetap mencoba mengandalkan instalasi melalui port. Versi squid yang saya gunakan masih tetap menggunakan squid 2.5, perbedaan dengan yang versi 2.6 akan saya coba bahas di sini. Langsung ya…..

 

ryan# pw groupadd squid

ryan# pw useradd squid –g squid –d /nonexistent –s /usr/sbin/nologin

ryan# cd /usr/ports/www/squid/

ryan# make config

pilihlah options yang akan disertakan dalam tahap instalasi squid anda, saya menambahkan options sebagai berikut :

SQUID_DELAY_POOLS # enable delay pools

SQUID_SNMP # enable snmp support

SQUID_HTCP # enable htcp support

SQUID_VIA_DB # enable forward/via database

SQUID_CACHE_DIGEST # enable cache digest

SQUID_UNDERSCORES # allow underscores in hostname

SQUID_USERAGENT_LOG # enable user-agent header logging

SQUID_ARP_ACL # enable acls based on ethernet address

SQUID_PF # enable transparent proxying with PF

SQUID_IPFILTER # enable transp. Proxying with IPFilter

SQUID_LARGEFILE # support log and cache files > 2 GB

SQUID_RCNG # install an rc.d style startup script

Lalu tekan OK

ryan# make install clean (tunggu sampai proses instalasinya selesai)

ryan# cd /usr/local/etc/squid

sekarang edit file squid.conf

ryan# ee squid.conf

untuk lebih enaknya hapus saja semua baris yg ada di file squid.conf, lalu kita coba create sendiri parameter-parameter yang akan kita masukkan di file ini. Berikut isi dari squid.conf saya :

http_port 3128

icp_port 3130

htcp_port 4827

icp_query_timeout 2000

 

maximum_icp_query_timeout 2000

mcast_icp_query_timeout 2000

dead_peer_timeout 30 seconds

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

cache_effective_user squid

cache_effective_group squid

 

cache_mem 64 MB

cache_swap_low 90

cache_swap_high 95

maximum_object_size 10000 KB

minimum_object_size 0 KB

maximum_object_size_in_memory 32 KB

ipcache_size 2048

ipcache_low 90

ipcache_high 100

 

fqdncache_size 2048

cache_replacement_policy heap LRU

memory_replacement_policy heap LRU

 

acl magic_words1 url_regex –i 202.*.*.*/* 192.*.*.*/24

acl magic_words2 url_regex –i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar

.avi .mpeg mpe .mpg .qt .ram .rm .iso.raw .wav

 

delay_pools 1

delay_class 1 2

delay_parameters 1 -1/-1 -1/-1

delay_access 1 allow magic_words1

delay_class 1 1

delay_parameters 1 1500/4000 1500/4000

delay_access 1 allow magic_words2

 

cache_dir diskd /cache/ 7000M 24 256 Q1=64 Q2=72

cache_dir diskd /cache2/ 7000M 24 256 Q1=64 Q2=72

 

cache_access_log /var/log/access.log

cache_log /var/log/cache_log

cache_store_log none

pid_filename /var/run/squid.pid

debug_options ALL,1

log_fqdn off

 

dns_nameservers 192.*.*.*

query_icmp on

logfile_rotate 10

 

request_header_max_size 100 KB

request_body_max_size 10 MB

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^http:// 15 20% 43200

refresh_pattern ^ftp://.*/$ 15 20% 10080

refresh_pattern ^ftp:// 15 20% 43200

refresh_pattern . 15 20% 43200

 

visible_hostnmae PT. Ryan J

 

acl localip dst 192.168.*.*/255.255.255.0

acl server src 202.138.*.*/255.255.255.240

acl office src 192.168.*.*/255.255.255.0

# acl sesuai dengan ip address user

acl admin src 192.168.*.5

acl ryan src 192.168.*.93

. ….. ………

. ….. ………

# dst. sesuaikan dengan kebutuhan

 

# acl sesuai dengan departemen yang di inginkan

acl sekretaris url_regex -i “/usr/local/etc/squid/sekre”

acl gudang url_regex -i “/usr/local/etc/squid/gudang”

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 ssl_port port 443 563

acl safe_port port 80 21 443 563 70 1025-65535

acl CONNECT method CONNECT

# allow access

http_access allow ryan

http_access allow admin

http_access allow joni gudang

http_access allow nini sekretaris

http_access deny all

 

miss_access allow office

miss_access allow server

miss_access allow localhost

miss_access allow manager

miss_access deny all

 

icp_access allow server

icp_access allow office

icp_access allow localhost

icp_access allow manager

icp_access deny all

 

maximum_single_addr_tries 5

 

snmp_port 3401

snmp_access allow server

snmp_access allow office

snmp_access allow localhost

snmp_access allow manager

snmp_access deny all

 

cache_mgr ryandirhamsyah@yahoo.com

 

memory_pools on

# setting untuk transparent proxy pada squid versi 2.5

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

# setting transparent proxy pada squid versi 2.6

# ip 192.168.*.* merupakan ip local dari router anda

# http_port 192.168.*.*:3128 transparent

logfile_rotate 10

icp_hit_stale off

ie_refresh off

 

setelah semuanya terisi dengan benar, lalu save.

ryan# mkdir /cache; mkdir /cache2

ryan# chown squid:squid /cache

ryan# chown squid:squid /cache2

ryan# /usr/local/sbin/squid –k parse

ryan# /usr/local/sbin/squid –z

ryan# ee /etc/rc.conf

tambahkan baris-baris dibawah ini:

ipfilter_enable=”YES”

ipnat_enable=”YES”

ipmon_enable=”YES”

ipfs_enable=”YES”

setelah itu save.

ryan# ee /etc/ipnat.rules

tambahkan baris dibawah ini:

rdr xl1 0/0 port 80 -> 192.168.*.* port 3128 tcp

xl1 => merupakan ethernet local anda

192 => merupakan ip local anda

 

Konfigurasi kernel agar mendukung diskd

Mengenai cara untuk konfigurasi ulang kernel bisa dibaca di http://www.smkn4ptk.net/modul/menginstall%20freebsd.html.

 

Edit kernel anda, di sini saya menggunakan kernel hasil kompilasi ulang saya sendiri.

ryan# cd /usr/src/sys/i386/compile/kernelryan

ryan# ee GENERIC

tambahkanlah baris-baris dibawah ini:

options SYSVMSG

options MSGMNB=8192

options MSGMNI=40

options MSGSEG=512

options MSGSSZ=64

options MSGTQL=2048

 

Jalankan Squid mu!

ryan# /usr/local/sbin/squid –D &

ryan# ee /etc/rc.local

tambahkan baris dibawah ini agar squid otomatis jalan ketika pc nyala:

/usr/local/sbin/squid –D &

Untuk memastikan apakah squid sudah berjalan dengan baik, lakukan pengecekan sebagai berikut:

ryan# ps aux|grep squid

root 542 0.0 2.1 4728 2512 ?? Is 2:04PM 0:00.00 /usr/local/sbin/squid -D

squid 544 0.0 16.3 21700 19928 ?? S 2:04PM 0:49.22 (squid) -D (squid)

squid 550 0.0 0.4 1172 540 ?? Is 2:04PM 0:00.01 (unlinkd) (unlinkd)

squid 551 0.0 0.8 1860 956 ?? Ss 2:04PM 0:01.53 diskd 557056 557057 557058

squid 552 0.0 0.8 1860 936 ?? Ss 2:04PM 0:01.46 diskd 557060 557061 557062

squid 562 0.0 0.9 1520 1060 ?? Ss 2:04PM 0:00.22 (pinger) (pinger)

root 1040 0.0 0.8 1472 976 p0 R+ 4:45PM 0:00.00 grep squid

 

Setelah itu cobalah gunakan browser anda, dan masukkan url yang anda kehendaki, apabila terbuka berarti anda sudah berhasil memiliki proxy server di pc anda. Selamat

 

Selesai

Referensi

http://ezine.daemonnews.org

www.smkn4ptk.net

www.squid.org

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: