Kamis, 29 Maret 2012

11.SQUID dan IP Tables

  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.
     

Tidak ada komentar:

Posting Komentar