Konfigurasi Proxy Server menggunakan Squid di CentOS 5.4
Squid adalah sebuah aplikasi perangkat lunak yang berjalan pada banyak platform sistem operasi dan salah satunya adalah Linux. Squid sendiri merupakan sebuah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, Ghoper dan HTTP data object. Berbeda dengan aplikasi perangkat lunak yang lama, Squid menangani semua permintaan tunggal ( single ), non-blocking, I/O-driver process.
Squid menyimpan meta data dan terutama hot-object yang disimpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal.
Internet Object Caching adalah sebuah cara untuk menyimpan hasil permintaan internet-object ( seperti, data yang ada dari HTTP, FTP, dan cache sebagai ghoper protokol ) untuk membuat sebuah sitem dekat dengan permintaan daripada ke sumber aslinya. Web browser dapat menggunakan lokal squid cache sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti halnya penghematan bandwidth sampai maximum 30% .
Sebuah komputer dengan sistem operasi CentOS 5.4 yang bisa dilihat pada tutorial yang terdapat pada situs ini.
Setup IP
Pada tutorial ini skema IP Address yang akan dipergunakan adalah sebagai berikut :
[Internet]—— Modem ——— eth0 ——— eth1
192.168.10.1 192.168.10.2 192.168.2.1
squid port 3128
Memasang masing – masing ip pada interfaces yang sudah didefinisikan sebelumnya.
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
apabila sudah selesai melakukan editing ip address tekan [esc] lalu shift+: dan wq [Enter], lakukan hal yang sama terhadap ifcfg-eth1
#vim /etc/sysconfig/network-script/ifcfg-eth1
Restart network supaya melakukan perubahan yang sudah kita lakukan
#/etc/init.d/network restart
Memastikan bahwa kita sudah terkoneksi dengan baik ke internet lakukan dengan menggunakan ping
#ping google.com
Memasang Repository Indonesia
Untuk menghemat bandwith serta mempercepat proses download dari repository, repository akan diarahkan ke mirror repository yang ada di indonesia, salah satunya adalah http://pandawa.ipb.ac.id/
Masuk direktori konfigurasi repository berada
#cd /etc/yum.repo.d/
Rename konfigurasi asli
#mv CentOS-Base.repo CentOS-Base.ori
Download konfigurasi indonesia
#wget http://pandawa.ipb.ac.id/centos.repo
Rename konfigurasi
#mv centos.repo CentOS-Base.repo
Melakukan update sistem operasi dan aplikasi yang ada didalamnya
#yum update
Squid install
Apabila update sistem operasi beserta aplikasinya sudah selesai dilakukan maka skarang waktunya melakukan installasi Squid pada sistem, dengan cara :
Memastikan bahwa paket squid ada pada repository
#yum search squid
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
=============== Matched: squid =====================
squid.i386 : The Squid proxy caching server.
Paket squid berada pada repository dan selanjutnya melakukan installasi
#yum -y install squid
Masuk direktori squid berada
#cd /etc/squid
Merename konfigurasi squid.
#mv squid.conf squid.conf.default
Membuat konfigurasi squid baru, perintah di bawah ini dimaksudkan menghilangkan seluruh text yang mengandung # di depannya dan menyimpannya menjadi konfigurasi squid.conf
#cat squid.conf.default | sed ‘/ *#/d; /^ *$/d’ > squid.conf
Edit squid.conf untuk disesuaikan dengan kebutuhan dan dengan isi sebagai berikut
#vim squid.conf
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
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 to_localhost dst 127.0.0.0/8
acl purge method PURGE
acl CONNECT method CONNECT
cache_mem 1024 MB
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
acl lokal src 192.168.2.0/24 # Menambahkan ini
http_access allow localhost
http_access allow lokal # Menambahkan ini
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname proxy.dimain.ku
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
coredump_dir /var/spool/squid
apbila semua sudah sesuai dengan kebutuhan yang diinginkan keluar dan jalankan squid
#/etc/init.d/squid start
Iptables
Squid sudah berjalan dengan tidak mengalami masalah maka jika server yang terpasang merupakan sebuah gateway bagi jaringan lokal dibelakangnya, perlu melakukan sebuah perintah untuk memaksa seluruh request / permintaan klien pada port 80 menuju port 3128 yang di kelola oleh squid dengan perintah :
#iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to 192.168.2.1:3128
#iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128
Catatan : Apabila iptables belum tersedia lakukan installasi iptables dengan menggunakan YUM ( Yellow dog Update Management )
Selamat Mencoba...
ليست هناك تعليقات:
إرسال تعليق