Banner
Komunitas FreeBSD Indonesia
           |  
Tunneling ipv6 di FreeBSD 4.7 STABLE

Mungkin teknologi ini sudah lama kita kenal, mudah2an pengalaman yang saya  curahkan di tulisan ini bermanfaat bagi pembaca yang budiman.

Home Server Administration Proxy Server PF + Transparent Proxy dengan Squid

PF + Transparent Proxy dengan Squid

E-mail Print PDF
Rasanya tidak perlu lagi dijelaskan fungsi maupun kegunaan Squid karena sudah banyak situs-situs lain yang menguraikannya secara gamblang, baik berbahasa Indonesia maupun bahasa asing.Artikel ini terfokus secara teknisnya saja, bagaimana menginstalasi Squid dan mengkonfigurasi Squid sebagai transparent proxy melalui firewall yang sudah ada di server. Berdasarkan pengalaman, metode instalasi dan konfigurasi yang saya gunakan dapat berjalan dengan baik di server dengan sistem operasi Linux maupun BSD.

Karena Squid membutuhkan memory yang cukup besar, maka untuk kebutuhan minimal memory untuk saat ini adalah 256MB. Di samping itu, Squid juga memerlukan tipe penyimpanan (disk) dengan kecepatan tinggi semacam SCSI, namun sebenarnya tipe hard disk IDE pun saat ini juga sudah mempunyai kecepatan tinggi, bahkan ada yang sudah mencapai 7200 rpm, mungkin 10000 rpm.

Di mesin dengan FreeBSD maupun OpenBSD, sebelum menginstalasi Squid sebaiknya me-recompile kernel untuk dukungan diskd dengan options tambahan berikut:

options SYSVMSG # SYSV-style message queues
options MSGMNB=32768 # jumlah maksimal byte yang disimpan di queue
options MSGMNI=164 # jumlah message queue identifiers
options MSGSEG=8196 # jumlah message segments per queue
options MSGSSZ=512 # besarnya sebuah message segment
options MSGTQL=2048 # jumlah maksimal messages pada system.

Pembahasan lebih lengkap options di atas dapat di baca di Squid FAQ

1. Download dan Instalasi Squid

Source Squid dapat diambil secara gratis di http://www.squid-cache.org. Versi stable saat artikel ini ditulis adalah squid-2.6.STABLE4

  • Download dan simpan, misalnya di /home/rp25rb.
  • Buat direktori untuk menyimpan cache dan user owner squid:
    squid# mkdir /cache1
    squid# useradd -d /cache1 -r -s /dev/null squid >/dev/null 2>&1
    Untuk penamaan direktori penyimpanan cache ini bisa apa saja, dan sebaiknya dibuat pada saat proses instalasi sistem dengan membagikan partisi secara terpisah dari filesystem. Umumnya saya membuat lebih dari satu partisi untuk cache tersebut.
  • Ubah kepemilikan dir cache yang sudah kita buat ke squid user yang baru kita buat sebelumnya.
    squid# chown -R squid:squid /cache1
    Gunakan juga command di atas untuk mengubah kepemilikan bila mempunyai lebih dari satu cache directory.
  • Decompress source file:
    squid# tar -jxf squid-2.6.STABLE4.tar.bz2
    squid# cd squid-2.6.STABLE4
  • Anda harus mengubah beberapa baris source code yang terdapat pada file src/Makefile.in untuk menyesuaikan direktori log dan cache pada saat kompilasi berikutnya. Baris-baris yang harus diubah adalah:
    DEFAULT_LOG_PREFIX = $(localstatedir)/log/squid
    DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
    DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
    DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
    DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
    DEFAULT_SWAP_DIR = /cache1
  • Langkah berikutnya adalah meng-compile source:
    squid# ./configure \
    –prefix=/usr/local/squid \
    –enable-gnuregex \
    –enable-async-io=24 \
    –with-aufs-threads=24 \
    –with-pthreads \
    –with-aio \
    –with-dl \
    –enable-storeio=aufs,diskd \
    –enable-removal-policies=heap \
    –enable-icmp \
    –enable-delay-pools \
    –disable-wccp \
    –enable-snmp \
    –enable-cache-digests \
    –enable-default-err-languages=English \
    –enable-err-languages=English \
    –enable-linux-netfilter \
    –disable-ident-lookups \
    –disable-hostname-checks \
    –enable-underscores

    Keterangan mengenai kegunaan options di atas selengkapnya dapat dibaca di Squid FAQ.
    squid# make && make install
  • Buat direktori log, misalnya di /var/log/squid:
    squid# mkdir -p /var/log/squid
  • Ganti kepemilikan direktori log ke squid:
    squid# chown squid:squid /var/log/squid
  • Ubah permission direktori log dan cache, agar dapat ditulisi oleh user squid.
    squid# chmod 750 /cache1
    Ubah juga permission di semua direktori cache yang lain, apabila lebih dari satu direktori cache.
    squid# chmod 750 /var/log/squid

2. Konfigurasi Squid

Sampai pada langkah di atas, proses instalasi Squid sudah berhasil jika sebelumnya tidak terdapat kesalahan. Untuk membuat Squid dapat berfungsi secara optimal, kita harus mengedit file konfigurasi yang disediakan oleh Squid, umumnya file konfigurasi Squid adalah squid.conf. Bila anda butuh bantuan mengenai optimasi Squid ini, silakan kunjungi Forum Komunitas Linux Indonesia. Teman-teman di forum tersebut akan senang membantu permasalahan anda.

Tutorial ini tidak akan membahas baris per baris keterangan yang terdapat di file squid.conf. Contoh squid.conf yang biasa saya gunakan dapat anda akses di arsip File Konfigurasi Squid

3. Membuat Swap dan Menjalankan Squid

Gunakan command berikut untuk membuat swap:

squid# /usr/local/squid/sbin/squid -z

Bila tidak ada kesalahan pada file konfigurasi, lanjutkan dengan mengaktifkan daemon Squid dengan command:

squid# /usr/local/squid/sbin/squid -D

Selamat, anda sudah berhasil menginstalasi dan mengkonfigurasi Squid sebagai proxy server. Langkah selanjutnya adalah mengkonfigurasi rule firewall untuk memungsikan squid sebagai transparent proxy.

4. Transparent Proxy dengan iptables, pf, dan ipfilter

Bila menggunakan iptables untuk konfigurasi transparent proxy, sebaiknya pada saat kompilasi Squid menyertakan opsi –enable-linux-netfilter.

Pengguna iptables, jalankan command berikut:

squid# iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 0/0 -p tcp –dport 80 -j REDIRECT –to-ports 3128

squid# iptables-save > /etc/sysconfig/iptables

Pada kebanyakan distro Linux, command kedua berfungsi untuk menyimpan command iptables sebelumnya agar saat booting, konfigurasi transparent proxy tetap aktif. Bagi pengguna Linux yang tidak menyimpan file konfigurasi firewall di direktori /etc/sysconfig silakan untuk menyesuaikan sendiri.

Bagaimana mengaktifkan transparent proxy di Platform BSD dengan menggunakan PF dan ipfilter?

Sebelum menggunakan PF dan IPF sebagai firewall, anda harus mengkompilasi ulang kernel agar mengaktifkan salah satu modul tersebut.

Bila menggunakan IPF, options yang harus ditambahkan adalah:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT

Sedangkan options untuk PF adalah:

device pf
device pflog
device pfsync

Catatan: Dari kedua firewall tersebut, pakai salah satu yang sesuai selera Anda. Saya prefer ke PF, maka saya aktifkan modul kernel untuk PF saja.

Agar PF diload saat booting, edit file /etc/rc.conf dan tambahkan baris berikut:

pf_enable=”YES”
pf_rules=”/etc/pf.conf”
pf_flags=”"
pflog_enable=”YES”
pflog_logfile=”/var/log/pflog”
pflog_flags=”"

Selanjutnya edit file /etc/pf.conf dan tambahkan baris berikut:

# saya asumsikan rl1 adalah interface ke LAN anda.
rdr on rl1 proto tcp from 192.168.1.0/24 to any port www -> 192.168.1.100 port 3128

Lalu aktifkan PF dengan command:

squid# pfctl -e
squid# pfctl -N -f /etc/pf.conf

Bila anda ingin menggunakan ipfilter, anda harus menambahkan baris-baris berikut ke dalam file /etc/rc.conf:

ipfilter_enable=”YES”
ipnat_enable=”YES”
ipmon_enable=”YES”
ipfs_enable=”YES”

Kemudian edit file /etc/ipnat.rules dan tambahkan baris berikut:

# saya asumsikan rl1 adalah interface ke LAN anda.
rdr rl1 0/0 port 80 -> 127.0.0.1 port 3128 tcp

5. Done

Demikian tutorial sederhana cara menginstal dan mengkonfigurasi Squid sebagai transparent proxy.

Comments

avatar sangkuriang
0
 
 
acl msnmess url_regex http://207.46.111.55/gateway/gateway.dll?

maksudnya yg itu ke mana/ harus di ganti ip kita
Show/Hide Comment form Please login to post comments or replies.
 

Proxy Server

Optimasi Bandwidth dengan FreeBSD 7 + squid + Apache + videocache

Judul Asli  : Geber Youtube dkk  + save bandwidth dengan menggunakan videocache oleh         : ogeb ( ogb at indofreebsd.or.id )Ditulis      : Jimbaran Minggu 10 Mei 19:37:10 WITA 2009BismillahirrahmanirrahimTeknologi web yang...

Proxy Server | | Sunday, 10 May 2009

SELANJUTNYA...

Instalasi Squid, BannerFilter, dan Blocking Website

Sebelumnya akan saya jelaskan terlebih dahulu, instalansi squid di sini sangat mudah, karena hanya melalui simple ports dari FreeBSD. Untuk settingan lainnya bisa diatur melalui instalansi squid proxy yang lain...

Proxy Server | Tubagus G.P | Monday, 7 July 2008

SELANJUTNYA...

PF + Transparent Proxy dengan Squid

Rasanya tidak perlu lagi dijelaskan fungsi maupun kegunaan Squid karena sudah banyak situs-situs lain yang menguraikannya secara gamblang, baik berbahasa Indonesia maupun bahasa asing.Artikel ini terfokus secara teknisnya saja, bagaimana...

Proxy Server | mqueue | Tuesday, 25 March 2008

SELANJUTNYA...

Squid Pada Outgoing Load Balancing Connection

Squid merupakan sebuah proxy dan content cache yang memang sering diperlukan oleh kita tentunya dengan beragam alasan diantara nya untuk mempercepat pengiriman web yang sering di akses kepada client.sedangkan Outgoing...

Proxy Server | Ogeb | Sunday, 5 August 2007

SELANJUTNYA...

More in: Proxy Server

FaceBook

Tips & Trick

Membuat iso DVD untuk FreeBSD 7.2

by : masdani Bagi yang suka melakukan instalasi sistem operasi FreeBSD kadang direpotkan pada proses instalasinya jika menggunakan media CD. Karena jumlah CD yang3 buah itu, kadang harus diganti-ganti setiap kali...

Tips and Trick | | Thursday, 25 June 2009

SELANJUTNYA...

Upgrade dari FreeBSD 6.x ke FreeBSD 7.x

This upgrades from FreeBSD 6.2-STABLE to 7.0-CURRENT.{xtypo_alert}ATTENTION: THIS UPGRADE PROCEDURE MIGHT NOT WORK FOR YOU AS YOUR ENVIRONMENT IS DIFFERENT. ALSO, THIS UPGRADE PROCEDURES MIGHT DESTROY OUR SYSTEM AND YOU...

Tips and Trick | Azhax | Monday, 17 March 2008

SELANJUTNYA...

Mengatasi Error 'No buffer space available'

Sebelumnya mungkin Anda pernah mengalami hal seperti ini, mendapat pesan "No buffer space available".Salah satu penyebab munculnya error tersebut adalah permintaan kebutuhan socket buffer (send/recv) lebih besar daripada max. sock...

Tips and Trick | Locust | Tuesday, 20 November 2007

SELANJUTNYA...

Instalasi Webmin untuk Memudahkan Konfigurasi

Webmin ini gw kenal semenjak 2002, waktu itu temen gw yg ajarin, cuma pertama kali install gw pake RH 7.2, cobain di Fedora, slackware dan terakhir di CentOS. semuanya mulus,...

Tips and Trick | Herry Nosapratama | Monday, 10 September 2007

SELANJUTNYA...

More in: Tips and Trick

Anggota Baru

fanny
fannydwij
julius
fungmen
achmad saifudin
udiniqbsd
ipuncs
ipuncs
ares
ares

Login Terakhir

vich
bu99est
Herry Nosapratama
lelakimipa
Agly Yege
3agl33y3
fagundez
fagundez
unting
unting
tedy agusta
tedyagusta
HeRu
HeRu
rangga
rangga43
widiyanto80
widiyanto80
komeng
arieth

WHO'S ONLINE

We have 11 guests online