catatanlepas.com

  • Increase font size
  • Default font size
  • Decrease font size
  • default color
  • black color
Home Komputer Aplikasi Linux Transparent Proxy

Transparent Proxy

Email Cetak PDF

I. Pendahuluan

Pada tutorial sebelumnya, kita sudah mempelajari apa itu squid dan bagaimana cara mengkonfigurasinya dan disertai dengan erbagai macam kasus. Namun, perlu diketahui bahwa jika kita menggunakan konfigurasi tersebut maka kita harus men-setting secara manual setting-an proxy di web browser agar dapat berinternet. Nah, bagaimana jika computer yang harus disetting berjumlah ratusan? Apalagi jika suatu saat ada perubahan IP dan port proxy server yang digunakan, tentu akan sangat merepotkan sekali.

Untuk menyiasati hal tersebut, diperlukan suatu cara agar kita tidak perlu memasukkan secara manual setting-an proxy yang berlaku yaitu dengan menggunakan transparent proxy. Prinsip kerja transparent proxy adalah sebuah firewall atau redirector lainnya akan menangkap koneksi TCP yang ditujukan ke port tertentu ke port tertentu pada remote host, dan kemudian akan mengarahkan koneksi TCP tersebut ke proxy server lokal.  Proxy server menggunakan header HTTP untuk menentukan ke mana proxy akan melakukan koneksi dan request dari mana yang akan di-proxy. Untuk mengaplikasikan transparant proxy, Anda dapat memerlukan aplikasi Iptables. Dengan Iptables, anda cukup membuat rule untuk menangkap trafik yang ditujukan untuk port 80, dan mengarahkan trafik ini ke port dari proxy server (biasanya 3128 atau 8080). Konfigurasi untuk membuat transparent proxy terbagi dua yaitu konfigurasi di dalam server dimana firewall dan squid digabung dan konfigurasi di dalam server dimana firewall dan squid terpisah. Di tutorial ini, penulis menggunakan squid versi squid-2.6.STABLE21-3.el5.

II. Syarat-Syarat Transparent Proxy

Untuk dapat menjalankan transparent proxy, maka syarat-syarat dibawah ini harus terpenuhi:
1. Pastikan proxy sudah terinstal dalam sistem.
2. Pastikan paket dan service iptables sudah terinstal dalam sistem.
3. Squid terkonfigurasi dengan menggunakan port 3128.

III. Konfigurasi transparan Proxy

1. Masuk ke file sysctl.conf di /etc/sysctl.conf dan mengubah nilainya pada bagian ip_forward dari 0 menjadi 1 sehingga akan menjadi seperti berikut:
net.ipv4.ip_forward = 1
Jika sudah selesai, restart network dengan cara:
# sysctl -p
2. Edit file squid.conf, kemudian tambahkan baris dibawah ini pada bagian paling bawah dari file ini:
 # transparent proxy
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
3. Lakukan masquerading dengan menggunakan iptables. IP masquerading berguna untuk menghubungkan beberapa komputer yang terkoneksi ke sebuah komputer yang sudah terkoneksi ke Internet agar dapat mengakses ke Internet, atau istilahnya Internet Connection Sharing.
iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.0.0/24 -o eth0
Option -o tersebut tolong disesuaikan dengan interface yang terdekat dengan jaringan luar.

4. Selanjutnya arahkan semua permintaan web pada port 80 ke port squid. Untuk kondisi ini, terdapat dua buah opsi. Jika squid dan firewall yang mengarahkan berada pada satu komputer, gunakan perintah ini:
iptables -t nat -p tcp -A PREROUTING -s 192.168.0.0/24 -d 0/0 –dport 80 -j REDIRECT –to-ports 3128
Tapi, Jika Squid dan firewall yang mengarahkan tidak berada pada satu komputer maka ikuti langkah berikut:

5. Misal Squid berada pada komputer yang ber-IP 192.168.0.4 dan port yang digunakan adalah 3128 atau kita sebut saja komputer ini dengan nama squid-box. Dan satunya lagi komputer yang terhubung ke Internet langsung sebagai firewall mempunyai IP 192.168.0.1 kita sebut saja komputer ini dengan nama iptables-box. Dari komputer iptables-box, coba Anda ketikkan perintah berikut untuk mengaktifkan transparant proxy di mesin squid-box.
 iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.0.4 -p tcp  --dport 80 -j DNAT  --to 192.168.0.4:3128
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.4 -j SNAT –to 192.168.0.1
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.4 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT
6. Setelah itu, coba amati file access.log di mesin proxy kita yang berada di folder /var/log/squid, lalu ketikkan:
# tail -f access.log
Dan jangan lupa untuk menulis http_port 8080 transparent dibawah tulisan:
 # Squid normally listens to port 3128
port 8080 bisa diganti dengan port berapa saja yang penting setelah itu ada tulisan transparent.

Jika semuanya sudah benar, seharusnya jika ada user yang sedang mengakses web, Anda sudah dapat mengamati prosesnya dari mesin proxy tersebut dan akan terlihat seperti berikut:



Referensi

Jaringan Komputer Teori dan Implementasi Berbasis Linux, Wagito
Ilmukomputer.org
Dari Berbagai Sumber


16 Jumadal Ula 1430 H
11 Mei 2009 M

+ 2
+ 2
Comments
Add New Search
ocel   |222.124.31.xxx |2009-05-12 14:17:46
halo mas,minta tolong sekalian tutorialnya dong cara instal proxy, n paket dan service ip tabels nya juga, n konfigurasi squidnya ke port 3128 or 8080. makasih
catatan   |SAdministrator |2009-05-13 11:12:56
Untuk Melihat tutorial squid, silahkan ke http://catatanlepas.com/computer/37-application/103-squid.html
ocel   |125.167.229.xxx |2009-05-14 10:08:21
-o eth0, Option -o tersebut tolong disesuaikan dengan interface yang terdekat dengan jaringan luar. maksudnya tu gmana ya mas . q krang pham ni, tolong di bantu makasih
catatan   |SAdministrator |2009-05-15 14:38:49
Begini maksud saya:
kita sesuaikan interface mana yang terdekat dengan jaringan luar. Karena sistem saya menggunakan eth0 untuk jaringan luar, maka saya tulis -o eth0. Tapi jika mas menggunakan eth1 untuk jaringan luar, maka option tersebut berubah menjadi -o eth1. Paham?
ocel   |125.167.229.xxx |2009-05-14 10:23:36
1. Pastikan proxy sudah terinstal dalam sistem. { proxy tu squidx ya mas }
2. Pastikan paket dan service iptables sudah terinstal dalam sistem.{ iptablesnya apa sdh ikut terinstal dengan bawaan centos ya mas law iya untuk ngeceknya gmana ya mas, atau harus di instal lagi iptabelsx
3. Squid terkonfigurasi dengan menggunakan port 3128.{ cara mengarahkan ke port 3128 tu gmana ya mas, or pada saat kita instal dan konfigurasi squid sudah terarah ke port3128 } makasih mas, sory law bxk nanya
catatan   |SAdministrator |2009-05-15 14:56:37
1. Ya betul. Kalau ada kata-kata proxy di artikel ini berarti maksudnya squid karena saya menggunakan aplikasi proxy yang bernama squid.

2. Umumnya paket Iptables sudah terinstal ketika kita menginstal linux. Untuk mengecek apakah paket tersebut sudah terinstal atau belum, gunakan perintah berikut:

# rpm -qa | grep iptables

Dalam waktu dekat ini, saya akan membuat tutorial tentang iptables.

3. Port default untuk squid adalah 3128. Hal ini bisa dilihat di /etc/squid/squid.conf. Untuk lebih jelasnya, silahkan lihat di sini http://catatanlepas.com/computer/37-application/103-squid.html

Gak apa-apa mas, banyak nanya berrati kita memang sungguh-sungguh di dalam mempelajari sesuatu. Saya pun banyak nanya-nanya kok pada waktu belajar tentang ini dan mungkin kita bisa sharing pengetahuan .
ridho  - Mr     |202.146.180.xxx |2009-06-20 10:18:28
Mas... numpang nanya... kalo tempat saya pake proxy yang diset di browser... nah saya buat server proxy sendiri untuk lan saya... untuk setting squid.conf nya gimana yaa ... supaya tidak perlu setting2 proxy lagi di browser... ato perlu ada tambahan ??? saya udah baca2 tp lom ketemu2 :'( ... mohon pencerahan teman2
catatan   |SAdministrator |2009-06-22 10:01:02
Agar seluruh PC mengarah ke server proxy, maka inilah yang dinamakan Transparent Proxy. Dan untuk mensetting file squid.confnya bisa dilihat di:

http://catatanlepas.com/komputer/37-aplikasi-linux/103-instalasi-dan-konfigurasi-squid.html

Dan juga perlu disetting iptablesnya seperti tutorial di atas.

Semoga Membantu
ika   |222.124.193.xxx |2009-09-04 12:31:29
mas nanyak ne, kok proxy transparan Q gak jalan y di client padahal squid -z run. eth1 192.168.3.135 (internet) eth0 192.168.2.1 (lan)
http_port 3128 transparent
icp_port 0

cache_mem 6 MB
cache_swap_low 94
cache_swap_high 96

cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log

maximum_object_size 16384 KB
minimum_object_size 4 KB
maximum_object_size_in_memory 2048 KB

# OPTION FOR TUNING THE CACHE
refresh_pattern -i ^ftp: 1440 50% 20160
refresh_pattern -i ^gopher: 1440 50% 20160

# FILE-FILE YANG JARANG BERUBAH
refresh_pattern -i \.bin$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.cab$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.dat$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.exe$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.flv$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.msi$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.rar$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.zip$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.swf$ 180 90% 20160 reload-into-ims
refresh_pattern -i \.css$ 120 80% 10080 reload-into-ims
refresh_pattern -i \.js$ 120 80% 10080 reload-into-ims
refresh_pattern -i \.pdf$ 90 80% 10080 reload-into-ims
refresh_pattern -i \.gif$ 45 70% 10080 reload-into-ims
refresh_pattern -i \.ico$ 45 70% 10080 reload-into-ims
refresh_pattern -i \.jpg$ 45 70% 10080 reload-into-ims
refresh_pattern -i \.png$ 45 70% 10080 reload-into-ims

# REFRESH LEBIH CEPAT UNTUK YANG SERING BERUBAH
refresh_pattern -i \.html$ 10 40% 4320
refresh_pattern -i \.htm$ 10 40% 4320
refresh_pattern -i \.xml$ 10 40% 4320
refresh_pattern . 25 60% 4320

fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF

visible_hostname localhost
cache_mgr admin@localhost
cache_effective_user squid
cache_effective_group squid

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr admin@proxy.sman5.com #nama admin squid
cache_effective_user squid
cache_effective_group squid
visible_hostname proxy.sman5.com #hostname unutk squid

# DEFAULT ACL
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 lan src 192.168.2.0/24
acl to_localhost dst 127.0.0.0/8
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 280 # http-mgmt
acl safe_ports port 488 # gss-http
acl safe_ports port 591 # filemaker
acl safe_ports port 777 # multiling http

# MEMBLOCK SITUS TERLARANG (BLACKLIST) SECARA MANUAL
# _______________________________________________
acl porn url_regex "/etc/squid/acl/porn.txt"
acl noporn url_regex "/etc/squid/acl/noporn.txt"
acl ip-porn dst "/etc/squid/acl/ip-porn.txt"
acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4

http_access allow porn all
http_access allow noporn all
http_access deny porn all
http_access deny ip-porn all
http_access allow localhost

http_access allow all
http_access allow lan

acl PURGE method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager

http_access allow PURGE localhost
http_access deny PURGE

http_access deny !safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
acl our_networks src 192.168.2.0/24 192.168.3.0/24
http_access allow our_networks

http_reply_access allow lan
http_reply_access allow localhost
http_reply_access deny all
http_reply_access allow all

icp_access allow lan
icp_access allow localhost
icp_access deny all
icp_access allow all

http_access allow localhost
http_reply_access allow all
http_access deny all

# MANAJEMEN BANDWIDTH
# ___________________________________________
delay_pools 2
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_class 2 2
delay_parameters 2 -1/2048000 10000/2049000

delay_access 2 allow download
delay_access 2 deny all
delay_access 1 deny download
delay_access 1 allow all
ika   |222.124.193.xxx |2009-09-04 12:33:16
mohon bantuannya y mas, bener2 dah buntu ne...
fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF

visible_hostname localhost
cache_mgr admin@localhost
cache_effective_user squid
cache_effective_group squid

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr admin@proxy.sman5.com #nama admin squid
cache_effective_user squid
cache_effective_group squid
visible_hostname proxy.sman5.com #hostname unutk squid

# DEFAULT ACL
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 lan src 192.168.2.0/24
acl to_localhost dst 127.0.0.0/8
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 280 # http-mgmt
acl safe_ports port 488 # gss-http
acl safe_ports port 591 # filemaker
acl safe_ports port 777 # multiling http

# MEMBLOCK SITUS TERLARANG (BLACKLIST) SECARA MANUAL
# _______________________________________________
acl porn url_regex "/etc/squid/acl/porn.txt"
acl noporn url_regex "/etc/squid/acl/noporn.txt"
acl ip-porn dst "/etc/squid/acl/ip-porn.txt"
acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4

http_access allow porn all
http_access allow noporn all
http_access deny porn all
http_access deny ip-porn all
http_access allow localhost

http_access allow all
http_access allow lan

acl PURGE method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager

http_access allow PURGE localhost
http_access deny PURGE

http_access deny !safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
acl our_networks src 192.168.2.0/24 192.168.3.0/24
http_access allow our_networks

http_reply_access allow lan
http_reply_access allow localhost
http_reply_access deny all
http_reply_access allow all

icp_access allow lan
icp_access allow localhost
icp_access deny all
icp_access allow all

http_access allow localhost
http_reply_access allow all
http_access deny all

# MANAJEMEN BANDWIDTH
# ___________________________________________
delay_pools 2
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_class 2 2
delay_parameters 2 -1/2048000 10000/2049000

delay_access 2 allow download
delay_access 2 deny all
delay_access 1 deny download
delay_access 1 allow all
catatan   |SAdministrator |2009-09-08 13:29:58
Apakah Masquarade-nya sudah dijalankan di Iptables?
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Please input the anti-spam code that you can read in the image.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Terakhir Diperbaharui ( Selasa, 07 September 2010 05:55 )  

Tanggal dan Jam


Ulti Clocks content

Browse this website in:


Mutiara Hari Ini

Jika engkau tidak tahu maka ini musibah; Dan apabila engkau sudah tahu maka musibahnya lebih parah (Syair Arab)

Poling

Apakah artikel-artikel di situs ini bermanfaat untuk anda?

(283 votes)

7.8%
92.2%

Waktu Shalat