Feed on Posts or Comments 20 November 2008

Linux Server IWaN RySTiONo on 11 Jul 2007 12:58 pm

Konfigurasi Squid sebagai Transparant Proxy

Hari gini masih pake Windows buat server? Wah…ketinggalan jaman lu coy!

Beberapa saat yang lalu aku mendapat panggilan dari 3 warnet untuk membuat proxy server dengan Linux. Bukan berarti aku dapet banyak duit nih, sekali lagi bukan coz warnet-warnet ini milik teman sendiri. =))

Kebetulan, temen-temen di warnet ini pada kreatif semua. Mereka nggak nunggu aku, coz mereka maklum kalo selalu sibuk. Jadi mereka menginstall dahulu linux tersebut walau harus berkali-kali install karena dianggap gagal. Mereka dapet referensi dari Mbah Google, emang Google is the best deh. Jadi aku semakin ringan deh kerjanya.

Instalasi yang dilakukan temen-temen ternyata mereka sudah memasukkan squid dan iptables di dalamnya. Untung 2x nih…

So..kalo pengen tau cara intall squid di masing-masing distro, kunjungin aja squid-cache.org atau ke Mbah Google, gak usah bawa kembang tujuh rupa sama kemenyan kalo mo ketemu mbah Google. :terbahak:

Jadi aku mulai konfigurasi ya…edit file /etc/squid/squid.conf
Pada kasusku, IP internal adalah 192.168.1, memberikan akses ke localhost merupakan ide yang bagus. Aku kurang tau apa sebabnya, tapi itulah yang kubaca dari referensi yang kudapat dari Mbah Google. Yang udah pada tau, pasti bertanya-tanya, kok port 3124? Yach…suka-suka gw donk…yang penting bukan port yang dipakai aplikasi-aplikasi lain seperti port 5000-5004 yang dipake Yahoo! Messenger Voice.

http_port 127.0.0.1:3124
http_port 192.168.1.1:3124

Kita deklarasikan hostname untuk proxy server ini, serta email yang ketika menampilkan pesan error.

visible_hostname gateway.view.lok
cache_mgr rystiono@mc-network.net

Inilah yang kita butuhkan untuk menjadikan mesin ini transparant proxy.

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Selanjutnya atur semua akses dari internal network menuju internet di sini. Ini hanya sekedar contoh. Karena ini warnet, akses ke semua web tidak dibatasi.

# MASUKKAN ATURAN-ATURAN UTUK MENGIJINKAN AKSES DARI CLIENT
# Contoh aturan yang mengijinkan akses dari network lokal.
# Untuk mendaftar IP internal yang digunakan browsing.
acl view_net src 192.168.1.0/24
acl localhost src 127.0.0.0/24
# 192.168.1.0/24 maksudnya hanya 24 bit pertama yang perlu diperhatikan.
# Perbolehkan akses
http_access allow view_net
http_access allow localhost
# Lalu blok semua akses yang tidak termaktub diatas.
http_access deny all

Untuk konfigurasi yang lain, silahkan ngikut referensi di squid-cache.org karena saat ini topiknya transparant proxy. Lalu restart squid sekarang. service squid restart (untuk RedHat based) atau /etc/rc.d/rc.squid restart (untuk Slackware based). Sudah 75% deh buat mendapatkan transparant proxy.

Sekarang, yang harus dilakukan adalah meredirect semua request yang melalui gateway kita pada port 80 menuju port 3124 dengan menambahkan rule ini ke IPTABLES.

iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3124

Habis itu aku reboot deh…

Sekarang aku coba browsing dari client dan….voilla…client tetep bisa akses ke internet, tapi kali ini lewat transparant proxy, mau bukti?

1104854410.086 159 192.168.1.50 TCP_MISS/302 469 GET http://www.google.com/ -
DIRECT/216.239.59.104 text/html
1104854410.217 128 192.168.1.50 TCP_MISS/200 1459 GET http://www.google.co.id/
/ - DIRECT/216.239.59.99 text/html
1104854410.397 180 192.168.1.50 TCP_MISS/200 9022 GET http://www.google.co.id/
/intl/en_uk/images/logo.gif - DIRECT/216.239.59.99 image/gif
1104854415.196 200 192.168.1.50 TCP_MISS/200 1459 GET http://www.google.co.id/
/ - DIRECT/216.239.59.99 text/html
1104854415.271 74 192.168.1.50 TCP_REFRESH_HIT/304 235 GET http://www.google/
.co.id/intl/en_uk/images/logo.gif - DIRECT/216.239.59.99 text/html

Ini hasil dari perintah tail -f /var/log/squid/access.log.

Nah…mudah kan settingnya? Kenapa ga dicoba? Rugi loh ada yang murah dan canggih masih pake yang mahal dan tertutup. =))

Double posting in linux-ae.org and ryst.linux-ae.org.

7 Responses to “Konfigurasi Squid sebagai Transparant Proxy”

  1. on 24 Sep 2007 at 3:42 pm 1.lagibuntu said …

    Mas,

    Tanya dikit dong….(super newbie)
    1. Transparan proxy apa sih, beda dengan proxy biasa?
    2. Kalo mau buat aturan di IPTable sbb:
    Jika komputer mendapatkan IP DHCP dari sebuah network (192.168.0.0/24 255.255.255.0) maka dia akan dapet internet tanpa melakukan setting proxy di browsernya. Selebihnya mesti setting proxy di browser yang sebelumnya IP nya harus di daftar di di proxy server oleh administrator.

    Kalau begitu, gimana perintah di IPTable nya?
    Terimakasih sebelumnya

    Buntu

  2. on 25 Sep 2007 at 6:05 am 2.Rystiono said …

    Ini coba saya jawab,

    1. Transparan proxy tu adalah server proxy yang secara otomatis melakukan redirect paket yang menuju port 80 (web) untuk di cache ke proxy dalam hal ini sequid. Sehingga di client tidak perlu melakukan setting apapun di browsernya.

    2. Misal network yang mo di transparankan adalah 192.168.0.0/24 dan yang mo di setting manual proxy adalah 192.168.1.0/24 maka setting iptable nya tinggal modifikasi sedikit:

    iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3124

    dengan begini, hanya dari 192.168.0.0/24 yang akan dibelokkan ke proxy, sedangkan yang 192.168.1.0/24 tidak.

    Begitu bos… puas? :D

  3. on 10 Dec 2007 at 11:48 am 3.Aiy said …

    Thank you so much ya…., kini aku bisa ngerjain tugas aku. 1x lg thank banget ya.

  4. on 12 Dec 2007 at 12:13 am 4.IWaN RySTiONo said …

    Sama-sama bos…

    Semoga tugasnya dapet nilai bagus dan bermanfaat…

  5. on 08 Jan 2008 at 4:46 pm 5.Rachmat Hidayat Al Anshar said …

    Salam…

    Saya menemui kendala jika mengimplementasikan
    squid dengan mode single-homed host. Dalam hal
    ini squid dan firewall berada pada mesin berbeda.
    Bagaimana agar firewall bisa mengirim semua req.
    web ke proxy box, dan hanya proxy box yang boleh
    melakukan aktivitas web ke internet melalui
    firewall???

    Mohon bantuannya ya Pak.
    Terima kasih
    Rachmat Hidayat Al Anshar

  6. on 23 Jan 2008 at 12:39 am 6.IWaN RySTiONo said …

    Mmm…kalo mode ini harusnya ada 3 server pak

    seperti ini:

    Firewall
       |
       |---------------|
       |               |
      GW             Cache
       |               |
       |---------------|-------------- Clients
    

    Penjelasan:
    1. Semua client gateway nya adalah IP si GW.
    2. GW memforward permintaan pada port 80 kepada Cache.
    3. Cache langsung berhubungan dengan dunia luar melalui Firewall.
    4. Traffic non-web melalui GW.

    Mungkin selengkapnya baca LARTC saja. (ketik LARTC di google, pasti ketemu).

  7. on 07 Sep 2008 at 4:23 pm 7.Pian said …

    Tanya dong,,kalau menggunakan koneksi fastnet, untuk konfigurasi squidnya bagaimana ya ?
    Thanks,,banget

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply