/

Om Google

Custom Search

Rabu, 09 September 2009

Catatan Konfigurasi Proxy Server Ubuntu

Sebelumnya, pastikan proses internet gateway (routing)sudah berjalan dalam komputer ini.
eth0 digunakan untuk ip internet
eth1, ip LAN

1. Instalasi
Pertama-tama install terlebih dahulu squid melalui synaptic atau melalui command prompt dengan cara :
# apt-get install squid
Setelah selesai maka Squid langsung dapat di konfigurasikan dengan cara :
# vi /etc/squid/squid.conf
Tetapi sebelum di edit terlebih dahulu backup dulu file aslinya agar kalau rusak bisa dikembalikan ke default :
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak


2. Konfigurasi Squid
Selanjutnya konfigurasi script Squid :
# vim /etc/squid/squid.conf
Akan muncul file konfigurasi squid yang sangat panjang, berikut langkah-langkah yang harus diperhatikan….
a. HTTP Port : Merupakan port yang digunakan untuk menjalankan Squid
# http_port 3128
http_port 192.168.10.1:8080
#log dan error
access_log /var/log/squid/access.log squid
error_directory /usr/share/squid/errors
logfile_rotate 7

b. Visible Host Name : Agar jika terjadi error Squid dapat menemukan hostname yang valid
visible_hostname localhost
localhost bisa diganti menjadi ip (e.g 192.168.10.254) atau domain seperti proxykoe.com
c. Cache Manager : Untuk mendefinisikan email address dari Cache Manager Squid
cache_mgr admin@domain.com
d. Direktori Cache Squid : Mendefinisikan letak direktori squid beserta besarannya.
Angka 500 menunjukkan ukuran direktori dalam MB
Angka 16 menunjukkan jumlah sub direktori tingkat 1
Angka 256 menunjukkan jumlah subdirektori tingkat 2 dari subdirektori tingkat 1
Jumlah diatas makin besar makin baik
cache_dir ufs /var/spool/squid 500 16 256
e. Filtering : Ini merupakan bagian terpenting dari Squid, dengan ini kita bisa mngatur rule-rule, dari mulai siapa saja yang bisa mengakses internet sampai website apa yang diizinkan untuk di akses.

Access List (acl) : Siapa saja yang dapat mengakses Internet
acl all src all
acl manager proto cache_object
acl localnet src 192.168.10.1/255.255.255.0
#############################################################
### BANDWIDTH MANAJEMEN
##############################################################
acl admin src "/etc/squid/admin
acl situs url_regex "/etc/squid/situs"
acl download urlpath_regex "/etc/squid/download"
#################################################################
acl denied_domains dstdomain "/etc/squid/denied_domains.acl"

http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
http_access allow localhost
http_access allow admin
http_access deny workhours denied_domains
http_access allow localnet
http_access deny all
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access allow CONNECT !SSL_ports

#delay pools 0, untuk bandwidth management
delay_pools 3
delay_class 1 1
delay_class 2 1
delay_class 3 1
#unlimitted access untuk admin
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 deny all
#pembatasan kecepatan akses untuk “situs” dimana kecepatan maksimum hanya 2kbps jika #besarnya situs lebih dari 64kB
delay_parameters 2 2000/64000
delay_access 2 allow situs
delay_access 2 deny all
#pembatasan kecepatan akses untuk “download” dimana kecepatan maksimum hanya 1kbps jika #besarnya download lebih dari 32kB
delay_parameters 3 1000/32000
delay_access 3 allow download
delay_access 3 deny all

keluar dari squid.conf dan menyimpan yang sudah dirubah dengan perintah
:wq


bagaimana dan apa saja yang membatasi akses sudah kita nyatakan perintahnya dan Access List,
acl admin src "/etc/squid/admin
maka yang pertama kita lakukan adalah membuat dan menuliskan apa saja yang dalam “admin”, dengan cara:
vim /etc/squid/admin

192.168.10.26
192.168.10.5
192.168.10.4
192.168.10.100
192.168.10.102
192.168.10.157
192.168.10.249
192.168.10.250
192.168.10.15
192.168.10.14

Keluar dan simpan, dengan perintah, :wq
Maka IP-IP di atas, adalah IP yang mendapat hak penuh sebagai admin.

acl situs url_regex "/etc/squid/situs"
-- vim /etc/squid/situs
gudangupload
easyshare
savefile
megaupload
share
boxing
tube
movie
facebook

Keluar dan simpan, dengan perintah, :wq

acl download urlpath_regex "/etc/squid/download", diedit dengan perintah:
vim /etc/squid/download, dan dituliskan
./doc$
./exe$
./pdf$
./xls$
./docx$
./mpeg$
./tar.gz$
./tar.bz2$
./mp3$
./jpg$
./jpeg$


Keluar dan simpan, dengan perintah, :wq

IP Forwarding, agar transparent proxy dapat diterapkan, maka kita harus mengaktifkan Ip Forwarding dengan memberikan nilai 1 pada file “/proc/sys/net/ipv4/ip_forward” dengan cara :

# echo 1 > /proc/sys/net/ipv4/ip_forward

Tetapi perintah tersebut harus kita jalankan auto startup, agar jika komputer squid mati kita tidak perlu repot2 menjalankan perintah tersebut secara terus menerus.
Berikutnya kita harus menjalankan ip_tables agar client dapat meredirect port squid server kita dengan perintah :

# iptables -A PREROUTING -t nat -p tcp –dport 80 -j REDIRECT –to-port 8800

Kemudian restart proxy dengan perintah :
# /etc/init.d/squid restart