Squid Proxy
Bagi administrator jaringan pasti pernah berfikir bagaimana caranya agar loding situs yang dibuka oleh user terasa lebih cepat, bagaimana memblok situs-situs yang sering membawa spyware, situs porno dan juga membatasi ukuran download file oleh user bahkan kalau perlu me-redirect situs porno ke situs lain yang lebih bermanfaat dan sebagainya.
Server Proxy adalah server yang berguna sebagai perantara antara client dengan server gateway sebelum berhubungan dengan internet. Server Proxy berfungsi untuk membuat salinan data yang dibaca dari internet ke jaringan lokal sehingga jika dilain waktu data yang sama diakses, maka data tersebut akan diambil dari jaringan lokal sehingga akan menghemat bandwidth ke internet. Sehingga dengan adanya proxy server ini, maka url atau situs yang sering diakses (di-browsing) akan terasa semakin cepat terakses oleh user, karena telah disimpan di dalam cache proxy.
Melalui server proxy ini, seolah-olah client merasa berinteraksi secara langsung dengan server internet yang dituju. Kenyataannya, sebelum data atau permintaannya disampaikan ke tujuan, data tersebut diarahkan terlebih dahulu ke server proxy kemudian server proxy akan meneruskan ke server yang dituju.
Salah satu software terbaik yang ada di GNU/Linux adalah squid. Squid adalah software proxy server open source dengan banyak fitur. Perlu diketahui bahwa squid hanya akan menyimpan data web saja (web-cache only). Dengan demikian data yang akan disimpan hanyalah daya menggunakan protokol HTTP saja. Data-data yang termasuk dalam multimedia, FTP atau menggunakan protokol lain tidak dapat disimpan dalam web-cache.
Pada mesin Slackware 12.2, squid tidak terinstall secara langsung. Jadi Anda harus menginstallnya terlebih dahulu. Source paket squid dengan ekstensi .tgz dapat Anda unduh di www.linuxpackage.net.
Jika paket squid sudah terinstall, file konfigurasi utama squid berada di /etc/squid dan file konfigurasinya bernama squid.conf. Squid menggunakan port tertentu untuk menerima request dari client, defaultnya adalah 3128. Untuk dapat menggunakan proxy, client dapat merubah preferensi atau option pada web browser dengan mengarahkan ip proxy dan portnya.
Konfigurasi :
Konfigurasi terlebih dahulu IP pada PC yang akan kita jadikan Router. Pada Slackware di edit pada bagian rc.inet1.conf
root@server-smkn3tkj:/# vi /etc/rc.d/rc.inet1.conf
Editlah seperti dibawah ini:
# Config information for eth0:
IPADDR[0]=”192.168.1.21″
NETMASK[0]=”255.255.255.0“
USE_DHCP[0]=”"
DHCP_HOSTNAME[0]=”"
# Config information for eth1:
IPADDR[1]=”172.16.0.1″
NETMASK[1]=”255.255.0.0“
USE_DHCP[1]=”"
DHCP_HOSTNAME[1]=”"
# Config information for eth2:
IPADDR[2]=”"
NETMASK[2]=”"
USE_DHCP[2]=”"
DHCP_HOSTNAME[2]=”"
# Config information for eth3:
IPADDR[3]=”"
NETMASK[3]=”"
USE_DHCP[3]=”"
DHCP_HOSTNAME[3]=”"
# Default gateway IP address:
GATEWAY=”192.168.1.1″
Simpan dengan perintah ( :wq)
Penjelasan: Disini saya mengunakan eth0 dan eth1, eth1 terhubung dengan LAN BENGKEL dan eth0 terhubung dengan Internet, setelah diedit dan disimpan, lihat lah hasil konfigurasi dengan perintah ifconfig, jika tertera seperti dibawah ini, berarti hasil konfigurasi telah berhasil, jika berhasil ping ke 192.168.1.1 atau coba ping ke 202.134.0.155 ini adalah DNS kepunyaan speedy:
root@server-smkn3tkj:/# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:ec:55:08:99
inet addr:192.168.1.21 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:ecff:fe55:899/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1207 errors:0 dropped:0 overruns:0 frame:0
TX packets:1157 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:92902 (90.7 KiB) TX bytes:214223 (209.2 KiB)
Interrupt:18 Base address:0xa800
eth1 Link encap:Ethernet HWaddr c0:10:18:c0:28:af
inet addr:172.16.0.1 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::c210:18ff:fec0:28af/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3353 errors:0 dropped:0 overruns:0 frame:0
TX packets:3304 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:784782 (766.3 KiB) TX bytes:321144 (313.6 KiB)
Interrupt:19
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0 frame:0
TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3318 (3.2 KiB) TX bytes:3318 (3.2 KiB)
Langkah konfigurasi kedua adalah setup komputer bakal proxy server sebagai gateway, yaitu dengan perintah berikut:
# cd /
# echo 1 > /proc/sys/net/ipv4/ip_forward
Tuliskan konfigurasi IP Masquerade dan Rule iptables pada rc.local
# cd /
# vi /etc/rc.d/rc.local
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT –to-source 192.168.1.21
iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 3128
Tulisakan kembali pada root untuk memastikan:
root@server-smkn3tkj:/# iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT –to-source 192.168.1.21
root@server-smkn3tkj:/# iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 3128
root@server-smkn3tkj:/# iptables-save
Penjelasan:
Rule firewall tersebut akan menyebabkan setiap koneksi dari LAN dengan port tujuan 80 akan diarahkan ke local process pada komputer gateway, yaitu ke process squid (port 3128).
Instalasi Squid di Slackware
Unduhlah program squid di alamat: www.linuxpackage.net
setelah itu install squid denga perintah:
root@server-smkn3tkj:/# installpkg squid-3.0.STABLE14-i486-1_SBo.tgz
Pastikan direktori squid sudah ada pada:
root@server-smkn3tkj:/# /etc/squid
root@server-smkn3tkj:/# ls
cachemgr.conf mime.conf squid.conf
cachemgr.conf.default mime.conf.default squid.conf.default
#vi squid.conf
http_port: parameter ini menunjukkan nomor port service squid. Nilai defaultnya adalah 3128. Untuk menerapkan transparent proxy maka nilai parameter ini harus diset sebagai berikut:
http_port 3128 transparent
acl: digunakan untuk akses kontrol list atau untuk filtering format
Tuliskan Perintah berikut ini:
# TAG: acl
acl lan_bengkel src 172.16.0.0/16
acl waktu_boleh time MTWHFA 07:00-21:00
acl domain_terlarang dstdomain “/etc/squid/daftar-domain_terlarang.txt”
acl url_terlarang url_regex -i “/etc/squid/daftar-url_terlarang.txt”
acl file_terlarang url_regex -i “/etc/squid/daftar-file_terlarang.txt”
acl ip_terlarang dst “/etc/squid/daftar-ip_terlarang.txt”
Penjelasan:
Pada konfigurasi acl waktu_boleh-internetan time MTWHFA 07:00-21:00, pola MTWHFA merupakan singkatan dari M=Monday, T=Tuesday, W=Wednesday, H=Thursday, F=Friday, A=Saturday. Sedangkan untuk opsi “-i” pada acl “url_regex” menyatakan opsi “case sensitive”. Dalam konfigurasi acl domain_terlarang, url_terlarang, file_terlarang dan ip_terlarang yang semua ini diletakan pada direktori /etc/squid. Contoh seperti dibawah ini:
root@server-smkn3tkj:/# cd /
root@server-smkn3tkj:/# vi /etc/squid/ daftar-domain_terlarang.txt
playboy.com
jangan lupa untuk di save ( :wq )
root@server-smkn3tkj:/# vi /etc/squid/ daftar-url_terlarang.txt
bugil
jangan lupa untuk di save ( :wq )
root@server-smkn3tkj:/# vi /etc/squid/daftar-file_terlarang.txt
\.pdf$
jangan lupa untuk di save ( :wq )
root@server-smkn3tkj:/# vi /etc/squid/daftar-ip_terlarang.txt
69.16.137.252
http_access: parameter menunjukkan rule yang akan diterapkan pada access control list.
http_access deny !waktu_boleh
http_access deny domain_terlarang
http_access deny url_terlarang
http_access deny ip_terlarang
http_access deny file_terlarang
http_access allow lan_bengkel
# display message
cache_mgr hendra@smk3bgr.net
cache_effective_user squid
cache_effective_group squid
visible_hostname TKJ_SMKN_3_Bogor
Untuk melakukan uji coba pada squid lakukanlah perintah
root@server-smkn3tkj:/# squid -k reconfigure
Buatlah user squid dan group squid
root@server-smkn3tkj:/# useradd squid
root@server-smkn3tkj:/# groupadd squid
Langkah konfigurasi ketiga adalah memberikan hak akses eksekusi pada sercvice squid
root@server-smkn3tkj:/# chmod +x /etc/rc.d/rc.squid
Jalankan service squid
root@server-smkn3tkj:/# squid -D
atau
root@server-smkn3tkj:/# /etc/rc.d/rc.squid start
Langkah konfigurasi keempat adalah Seting IP Client:
Seting PC Client 1
IP: 172.16.0.2
Netmask: 255.255.0.0
gateway 172.16.0.1
DNS 202.134.0.155, 202.134.2.5
Seting PC Client 2
IP: 172.16.0.3
Netmask: 255.255.0.0
gateway 172.16.0.1
DNS 202.134.0.155, 202.134.2.5
Seting PC Client 3
IP: 172.16.0.4
Netmask: 255.255.0.0
gateway 172.16.0.1
DNS 202.134.0.155, 202.134.2.5
Uji coba pada client
Kalau salah..tolong di koreksi..
Dari berbagai sumber













/rating_on.png)
/rating_half.png)
(3.50 out of 5)
















th3nux3r said:
wah2.. keren neeh tutorialnya. Nanti dipresentasikan di Gathering KPLI Depok ya. Thx
[Balas Komentar]
Hendra Nuryuliansyah said:
Siap Bos..Tentukan aja tanggal mainnya..OK
[Balas Komentar]
dedyeuy said:
Wow keren, akhirnya datang juga
), keren bos, teruskan perjuangan mu
[Balas Komentar]
Teri said:
Mantep..Ringkas..Jelas,saya yg newbie bisa mengerti jadinya!
Btw,sewaktu2 boleh nanya2 via e-mail,
nah,kesempatan ini saya mau nanya bgmn kønfigurasi LDAP+Squid Server di Slackware 12.1,katanya LDAP Bisa buat autentifikasi pengguna server squid
balas via e-mail, terima kasih bnyk!
[Balas Komentar]
jupriadi said:
Mantab mas….tulisannya…
salam kenal aja
newbie slackers from makassar
[Balas Komentar]
Edi Sujono said:
Saya sudah install squid di ubuntu server, web browsing sudah bisa, YM sudah jalan. Tapi terima/kirim email pakai POP3 dan SMPT kok nggak bisa ya? Mohon pencerahan agar Squid saya bisa meloloskan SMTP & POP3nya.
Terima kasih sebelumnya.
ES
[Balas Komentar]
b.not said:
wah,,,nice tutor,,,bro,,, mo nanya kalo dibuat load balancing dengan 2 speedy office gimana ya bro,,,, please tolongin dunk,,,
thx.
[Balas Komentar]
b.not said:
email ya bro,,, andi.rputra@gmail.com
[Balas Komentar]
Hendra Nuryuliansyah said:
Boleh minta skema topologinya ga?? Dulu pernah dibahas di Majalah Info Linux menggunakan Distro CentOS…Boleh nanti kita share aja.. Sebelumnya oprek aja dulu.. klo ada permasalahan yg timbul…saya akan bantu oprek…sehingga bisa diambil akar pemasalahannya dan dibuat tutorial hasil oprekannya bgm??
[Balas Komentar]
Syamsul Rizal said:
kalo untuk dialup modem dgn slackware gimana
tolong dibantu dong ?
dimana modem sbagai bridge dan slackware sbg pppoe
salam
[Balas Komentar]
tundra Menanggapi:
March 20th, 2010 at 14:06
@Syamsul Rizal,
Sebelumnya sih saya blm pernah coba, tapi boleh juga nih dicoba kasusnya 
[Balas Komentar]
dimas said:
hmhmhm,, mohon pencerahan bwt smuany,,
gmn kLo menggunakan Centos dengan konfigurasi d atas,, tolong kk2 yg baik hati
[Balas Komentar]
tundra Menanggapi:
April 19th, 2010 at 11:52
@dimas,
Di semua distro sama aja, paling cara install squidnya yg berbeda dan seting ipnya aja..dan letak squid.conf nya..silahkan bereksperimen dengan tutorial diatas..saya rasa Anda akan cepat bisa.. 
[Balas Komentar]
elakbary said:
Asalamu’alaikum wr.wb.
Sy mau tanya ketika sy jalanin perintah
#/etc/rc.d/rc.squid start
muncul pesan dibawah ni.
root@unitex:/etc/squid# /etc/rc.d/rc.squid start
Starting /usr/sbin/squid: init_cache_dir /var/lib/squid/cache… mkdir: cannot create directory `/var/lib/squid/cache’: No such file or directory
chown: cannot access `/var/lib/squid/cache’: No such file or directory
/etc/rc.d/rc.squid: line 46: 3408 Aborted $SQUID -z -F 2>/dev/null
FATAL: ERROR: Unknown policy heap
Squid Cache (Version 2.6.STABLE14): Terminated abnormally.
CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
/usr/sbin/squid
/etc/rc.d/rc.squid: line 87: 3409 Aborted $SQUID $SQUID_OPTS
mohon bantuannya….
trimshttp://tundra.web.id/wp-content/plugins/Luxboy-Smiley2/pusing.gif
wasalam
[Balas Komentar]