|
Seperti telah kita ketahui bersama bahwa proxy mempunyai fungsi
untuk menyimpan cache. Apabila sebuah LAN menggunakan proxy untuk
terhubung ke internet, maka yang dilakukan oleh browser ketika user
mengakses sebuah url yaitu mengambil request tersebut pada proxy
server sedangkan jika tidak terdapat pada proxy server maka oleh
proxy diambilkan langsung dari webserver. Kemudian request tersebut
disimpan di cache proxy yang kemudian nanti jika client melakukan
request yang sama akan di ambilkan dari cache tadi. Nah intinya
ialah tergantung dari browser. Kenapa dari browser? Karena setting
proxy itu letaknya pada browser. Dengan melakukan konfigurasi pada
browser maka client dapat dengan mudah mengubah IP address proxy.
Apalagi jika di sebuah warnet, semua komputer di deepfreeze, maka
dengan mudah orang bisa mengganti IP proxy karena hal tersebut dapat
dilakukan tanpa restart komputer.
Namun dengan cara apa pertanyaan seperti berikut ini dapat di
jawab?
- Admin jaringan menghendaki semua komputer ketika terhubung
ke internet mau atau tidak mau harus melewati proxy.
- Sungguh tidak mengenakkan jika di satu komputer terdapat
lebih dari satu macam browser dan kita harus setting IP proxy
satu persatu.
Nah, untuk mengatasi hal tersebut ada satu cara yang dinamakan
transparent proxy. Dengan transparent proxy kita memaksa setiap
request ke port http di-redirect ke port proxy.
Kebutuhan
- Linux dengan squid yang sudah terinstall. Port proxy 8080.
- Iptables.
- Program bernama transproxy (ftp://ftp.nlc.net.au/pub/unix/transproxy/).
Sifat program ini optional.
Terdapat 2 metode dalam membuat transparan proxy yaitu tidak
menggunakan program bantu seperti transproxy dan menggunakan
transproxy tentunya.
Tidak menggunakan transproxy
Jika anda tidak menggunakan program bantu apapun, maka silahkan edit
file squid.conf. Tambahkan baris berikut atau uncomment dari file
tersebut.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
kemudian di shell ketikkan
#echo 1 >
/proc/sys/net/ipv4/ip_forward
#/sbin/iptables –t nat –A PREROUTING –i eth0 –p tcp –-dport 80 –j
REDIRECT –-to-port 8080
Baris perintah terakhir di atas, request yang masuk ke port 80
akan di redirect ke port 8080. Kasus ini jika gateway dan proxy
menjadi satu.
Menggunakan transproxy
- Install transparent proxy
# tar zxvf
transproxy_1.4.orig.tar.gz
transproxy-1.4/
transproxy-1.4/tproxy.c
transproxy-1.4/README
transproxy-1.4/Makefile
transproxy-1.4/TODO
transproxy-1.4/CHANGELOG
transproxy-1.4/tproxy.8
transproxy-1.4/COPYRIGHT
transproxy-1.4/acl.c
transproxy-1.4/acl.h
transproxy-1.4/tproxywatch
transproxy-1.4/tproxyrun
# cd transproxy-1.4/
#make
#make install
Jika sudah terinstall pastikan file inti dari transproxy yaitu
tproxy,tproxyrun dan tproxywatch terletak di /usr/local/sbin.
- Konfigurasi transproxy
Untuk konfigurasi berikut anda dapat menyimpannya dalam file
*.sh dan mengeksekusinya pada awal linux booting. Misalkan
disimpan dengan nama tproxy.sh.
#!/bin/sh
/usr/local/sbin/tproxy –s 81 –r nobody 192.168.0.1 8080
#echo 1 > /proc/sys/net/ipv4/ip_forward
#/sbin/iptables –t nat –A PREROUTING –i eth0 –p tcp –-dport 80
–j REDIRECT –-to-port 81
Baris kedua script di atas menyatakan bahwa transproxy bekerja
pada prot 81 dan akan meneruskan request yang masuk langsung ke
proxy server dengan IP address 192.168.0.1 port 8080 (IP address
dari proxy server). Request yang masuk ke port 81 diperoleh dari
baris perintah terakhir. Dimana setiap request yang masuk ke
gateway di redirect (diteruskan) ke port 81.
Simpan file tproxy.sh ke direktori /usr/local/sbin/. Tambahkan
juga chmod 700. kemudian untuk dapat dieksekusi setiap sistem di
booting, buka file /etc/rc.local tambahkan:
/usr/local/sbin/tproxy.sh
Cek konfigurasi
- # netstat
-an | grep 81
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN
- #
/sbin/iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 81
Nah dengan begini anda tidak perlu lagi susah-susah untuk
mengeset IP address proxy pada masing-masing browser karena setiap
request ke port 80 gateway akan di redirect ke port 81. Dengan cara
ini client tidak tahu bahwa sebenarnya mau atau tidak mau setiap
request dilayani ke proxy.
Artikel ini pernah dimuat di Majalah Infolinux Bulan Januari
2005.
Moh. Safii lahir di Kota Malang , tanggal 12 Oktober 1982.
Jenjang SMU di lewatinya di SMU N 1 Malang dan sekarang kuliah di
D-3 Manajemen Informatika Semester akhir Universitas Brawijaya
Fakultas MIPA. Kebanggaan terbesarnya ialah pernah menjadi anggota
Paskibraka 1999 sebagai pengibar bendera di Balaikota Kodya Malang.
Kesibukan yang lain ialah sebagai penulis buku dan penulis artikel
diberbagai majalah komputer seperti pcplus, neotek, infolinux dan
juga situs bertemakan e-learning diinternet seperti di
ilmukomputer.com dan sony-ak.com.
Sampai artikel ini ditulis sudah menulis 6 buku komputer
dengan konsentrasi pada linux dan php. Judul-judul buku yang
ditulisnya yaitu Konfigurasi Server Linux dengan Webmin (2005),
Membangun Aplikasi berbasis Php dan MySQL (2004), Migrasi bersama
Linux Mandrake 9.0 (2002), Panduan membangun aplikasi Database
MySQL, PostgreSQL, Oracle dengan PHP 5 (2005), Tips dan Trik linux
(2005) dan Kolaborasi Flash dan PHP (2005). Semuanya terbitan
Penerbit Andi Offset.
Demikianlah tulisan mengenai konfigurasi transparent proxy pada
Linux. Jika ada saran atau komentar
bisa dikirimkan melalui karebet_asli@telkom.net
atau
syafii@gmail.com.
Untuk membaca tulisan lainnya bisa langsung menuju ke www.sony-ak.com.
Terimakasih.
| Send
your comments or suggestions |
|
|
|