Senin, 25 Februari 2008

setting transparent proxy

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.

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.

Tidak ada komentar: