Squid merupakan aplikasi Proxy Server yang cukup tangguh dan dapat berjalan di platform UNIX maupun Windows.
Kelebihan yang ditawarkan aplikasi ini adalah Delay Pools, Cache, Access Control List, dan lain sebagainya.
Dan
pada kali ini, saya akan membahas tentang cara Mengonfigurasi
Transparent Proxy menggunakan Squid sebagai aplikasi proxy server.
Sebelumnya Apa itu Transparent Proxy? Transparent proxy adalah fasilitas
dimana router/proxy akan melakukan forward port.
Oke, kita ambil contoh
seperti ini, hampir setiap proxy server mempunyai port sendiri yang
dapat diatur oleh kita sendiri, contohnya 3128, tentunya setiap client
yang terhubung ke proxy server harus melakukan konfigurasi port di mesin
client itu sendiri.
Akan terasa repot jika client yang terhubung itu
banyak sekali, maka dari itu, Transparent akan melakukannya secara
otomatis, dimana port 80(port standar WWW) akan di-redirect secara
otomatis oleh transparent proxy tadi.
Lalu apa yang harus dilakukan pertama kali? Install Squid sebagai proxy
servernya.
Squid dapat di-download di situs resminya. Saya tidak akan
membahas bagaimana cara menginstall Squid, karena cara instalasi berbeda
di setiap platform.
Pada kali ini penulis menggunakan Squid versi 2.6
STABLE 18 dengan sistem operasi Ubuntu Server 7.04.
Setelah instalasi selesai, sekarang buka file “squid.conf” file ini bisa
ditemukan di folder /etc/squid (bisa berbeda, tergantung distro linux
yang digunakan).
Dan isi dengan script dibawah ini. Anda tentunya dengan
bebas dapat memodifikasi script ini.
# Tentukan port yang akan digunakan, dan tambahkan tulisan
transparent karena transparent proxy akan diaktifkan
http_port 3128 transparent
# Tentukan memory untuk cache yang akan digunakan, banyak yang
bilang 2 kali lipat dari RAM router, tapi itu terserah anda.
cache_mem 100 MB
# Untuk ini sifatnya opsional, aktifkan script ini jika anda ingin
mengaktifkan fungsi log.
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_log /var/log/squid/cache.log
# Untuk yang ini, pengaturan Access Control List, pada contoh kasus
kali ini saya menggunakan
1 ethernet interface untuk Internet, dan
2
Ethernet Interface untuk jaringan LAN dan Wireless LAN.
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 lokal src 172.22.0.0/255.255.0.0
acl hotspot src 192.168.0.0/255.255.255.0
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 5050
# YahooMessenger
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
http_access allow localhost
http_access allow lokal
http_access allow hotspot
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
#http_access deny !lokal
icp_access allow localhost
icp_access allow lokal
icp_access allow hotspot
icp_access deny all
# Avoid caching cgi scripts
acl QUERY urlpath_regex cgi-bin
no_cache deny QUERY
# akses snmp, silahkan isikan string snmp community.
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all
#silahkan ganti visible hostname dengan domain yang dikehendaki dan
visible_hostname localhost.localdomain
cache_mgr hello@anggiemaya.net
# Isikan dengan DNS server yang diberikan ISP, jika DNS bersifat
dynamic tidak perlu diisi.
dns_nameservers 202.46.82.97 202.46.81.88
Simpan file “squid.conf” diatas.
Jika anda baru pertama kali menginstall
squid, gunakan perintah berikut untuk membuat direktori cache dan swap.
root@proxy.server.local~$ squid -z
Setelah itu, aktifkan Squid dengan menggunakan perintah…
root@proxy.server.local~$ /etc/init.d/squid start
Jika tidak ada pesan error satupun, aplikasi squid sudah berjalan
sebagaimana mestinya.
Membuat Transparent Proxy dengan IPTables
Nah, setelah squid berjalan, sekarang kita tinggal aktifkan fungsi
redirect port menggunakan IPTables dengan mengetikkan perintah ini di
shell.
iptables -A PREROUTING -t nat -j REDIRECT -p tcp -s 192.168.0.0/24
-d 0/0 –dport 80 –to-ports 3128
Note: ganti alamat 192.168.0.0/24 dengan subnet yang akan digunakan pada
jaringan LAN anda.
Berjalan? Terkadang bisa berjalan, tapi kalau masih tidak berfungsi
Transparent Proxy-nya, ada 2 cara, buat DNS Server di mesin proxy itu
sendiri dan redirect DNS Record dari ISP ke DNS Server lokal, atau
gunakan NAT untuk me-redirect DNS Record dari ISP dengan cara.
iptables –table nat -A POSTROUTING -o eth0 -j MASQUERADE
Note: eth0 pada contoh diatas dapat diganti dan diarahkan ke interface
yang terhubung langsung ke jaringan internet.
Simpan kedua perintah tersebut di file /etc/rc.local agar tidak perlu
mengetikkan perintah ini setiap kali mesin di restart.