Proxy Server + Transparent di openSUSE 11.0 dengan Squid 3.0

Sumber: http://myamin.net/index.php/linux/proxy-server-transparent-di-opensuse-110-dengan-squid-30.html

Mungkin yang membuat saya masih penasaran dengan opensuse adalah cara konfigurasi transparent proxy, dari opensuse 10.2 sampai opensuse 10,3 saya belum pernah berhasil setup proxy server + transparent. Dan satu -satunya server di kantor yang pake ubuntu adalah server proxy, dan pernah saya tulis di blog ini cara membuat transparent proxy di ubuntu 8.04.

Seiirng dengan kemunculan opensuse 11.0, iseng – iseng saya mencoba setup konfigurasi proxy server, sebenernya konfigurasinya hampir sama dengan konfigurasi yang pernah saya setup di ubuntu tetapi ada sedikit perbedaan, yang bisa saya jelaskan.

Yang membuat saya senewen saat mencari tutor konfigurasi transparent proxy di internet, adalah penggunaan 2 NIC ( satu NIC terhubung ke HUB satunya lagi terhubung lagsung ke modem ), sebenarnya konsepnya mudah saJa dengan sedikit perbedaaan pada perintah IPTABLESNYA untuk mendirect port, tetapi mungkin karena saya males aja terapinnya (ribet) dan ingin cara yang simple.

Simple disini dalam arti kata posisi Proxy server sejajar dengan klient sama2 terhubung ke HUB, jadi proxy server di sini seperti kompouter client biasa yang terhubung ke network melalui HUB dengan satu NIC, hanya statusnya saja yang menjadi server proxy, karena client yang lain menggunakan gatewaynya di arahin ke computer client tersebut yang sudah di setup sebagai server proxy.

Udah paham belum ?, heheheh ( maaf bukan menggurui, kita ini sama2 belajar ), sengaja memang saya jelaskan panjang seperti itu,karena memang sulit mencari tutor sesuai yang saya inginkan di internet, konsep yang masih saya belum paham, seperti saya ini, awalnya sulit mengerti konsep kerja proxy yang sesui dengan keinginan saya dan timbul pertanyaan dalam benak saya. Bagai mana membuat proxy server + transparent dengan koneksi speedy ?, bisakah membuat proxy server dengan satu NIC ? , heheheh, saya jawab ya ? semua itu bisa.

Keuntungan :
Dengan konsep di atas kita bisa membuat lebih dari satu server proxy ( tentu saja hanya satu yang di gunakan), maksudnya bila sewaktu2 server proxy down ( dan tentunya butuh cepet untuk memulihkan koneksi internet, agar user tidak rewel) kita bisa mengaktipkan computer lain/client yang sudah di setup proxy + transparent, hanya dengan satu perubahan yaitu mengganti IP server proxy baru dengan IP server proxy yang lama.

Kelemahan :
Mungkin bila ada user yang sedikit pintar dan dia tahu password root local atau password administrator client wind XP dan punya akses untuk merubah gateway, sehingga dia bisa mengalihkan gateway langsung ke IP modem tanpa melewati proxy.

Bagan :

Client                  ->Hub -> Modem/Router ->Internet (Speedy)
Proxy Server

Konfigurasi :

Install squid melalui Yast | Software | Software Management, pilih pattern lalu checklist pada Server Internet Gateway, jangan lupa ceklist squid3-30, lalu pilih accept untuk menginstalnya.

Buka squid.conf, hapus isi semuanya dan ganti dengan konfigurasi squid sederhana di bawah ini :

vi /etc/squid/squid.conf

# WELCOME TO SQUID 3.0.STABLE5
# —————————-

## Memblock akses pada user yamin melalui IP
acl yamin src 192.168.0.14/255.255.255.255

##Memblock Akses Internet dari jam 18:00 sore sampai jam 08:00 pagi
#acl not-waktuakses time MTWHFA 00:59-08:00 15:00-24:00

##Memblock Domain terlarang
acl blockdomain dstdom_regex -i “/etc/squid/domain-terlarang.txt

##Memblock Kata – kata terlarang
acl blockkata url_regex -i “/etc/squid/kata-terlarang.txt

#Recommended minimum configuration:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
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 deny blockdomain
http_access deny blockkata
http_access deny yamin
http_access deny not-waktuakses

#Recommended minimum configuration:

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
icp_access allow localnet
icp_access deny all
htcp_access allow localnet
htcp_access deny all

# Port Squid 3128
http_port 3128 transparent

cache_dir ufs /var/cache/squid 100 16 256
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|?) 0 0% 0
refresh_pattern . 0 20% 4320

cache_mgr yamin
cache_effective_user squid
visible_hostname
www.myamin.net
icp_port 3130

Simpan Konfigurasi di atas dengan perintah titik 2 wq (:wq)
Lalu pada command terminal anda ketikan perintah ;

squid -z

Fungsi : untuk membuat direktori cache yang telah kita buat pada perintah squid.

Membuat file text Domain Terlarang
vi /etc/squid/domain-terlarang.txt

Isikan seperti di bawah ini, pokonya yang menurut anda Domainnya tidak pantas untuk di akses seperti :
www.17tahun.com
www.playboy.com
www.nude.com
www.hardcore.com

Lalu buat file text kata terlarang
vi /etc/squid/kata-terlarang.txt

Isikan seperti di bawah ini, pokoknya kata2 yang menurut anda tidak layak di akses :
adult
sex
xxx
sex
lesbian
lolita
homo
xxx
17tahun
porn
porno

Transparent Proxy
Transparent Proxy pada squid 2.5 berbeda dengan Transparent Proxy pada Squid 3.0, kalau di squid 3.0 untuk transparent proxy tinggal di tambahkan kata transparent di sebelah http_port misal :

http_port 3128 transparent

agar client dapat meredirect port squid server, kita membutuhkan perintah IP tables, sebagai berikut :

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A PREROUTING -t nat -p tcp –dport 80 -j REDIRECT –to-port 3128

Restart Squid
service squid restart

Sekarang coba anda arahkan gateway computer client ke ip proxy server, lalu anda ping www.google.com bila tampilannya reply / 64 bytes, berarti konfigurasi transparent proxy anda sudah berjalan

Entah mengapa cara di atas sudah saya coba di opensuse 10.2 dan 10.3 untuk transparent tapi tidak berhasil, baru di opensuse 11.0 bisa berhasil.

Kesimpulan :
Perbedaan pada konfigurasi di atas adalah :

acl blockdomain dstdom_regex -i “/etc/squid/domain-terlarang.txt

Perbedabaan (1): Pada konfigurasi di atas kata perintah untuk memblock domain terlarang yang di arahkan ke path tertentu dalam hal ini ke “/etc/squid/domain-terlarang.txt adalah perintah: dstdom_regex -i “/etc/squid/domain-terlarang.txt, sedangkan pada konfigurasi umum/Sebelum squid versi 3.0 perintahnya adalah dstdomain “/etc/squid/domain-terlarang.txt.

Perbedaan (2): pada perintah di atas, kutip tidak di tutup dengan kutip lagi, sedangkan perintah umum/pada versi squid sebelumnya, perintah kutif selalu di tutup dengan kutif.

Perbedaan ke (3): Pada konfigurasi di atas perintah http_port 3128 transparent, di taruh di tengah/ sesudah perintah acl, padahal konfigurasi squid versi sebelumnya di taruh di awal konfigurasi.

Leave a Reply