Tuesday, December 16, 2008

Simple Squid Configuration Example

Squid

Squid berfungsi sebagai proxy. Salah satu tugas proxy adalah melakukan cache halaman web. Dengan begitu, jika ada client yang melakukan request ke internet, maka yang diakses adalah cache dari proxy tersebut yang berada pada jaringan lokal. Jika tidak ada, maka proxy akan melakukan koneksi ke Internet. Dengan begitu, akan membuat akses ke internet menjadi lebih sedikit dan membuat kita lebih cepat membuka halaman web. Misal, pada saat yang bersamaan ada 10 orang yang ingin mengakses google.com, jika kita memiliki proxy yang telah melakukan cache halaman web google, maka 10 orang tersebut cukup mengakses proxy yang berada pada jaringan lokal. Jika tidak memiliki proxy, maka 10 orang tersebut harus terkoneksi ke internet secara langsung sehingga membuat jaringan menjadi lebih padat.


Konfigurasi Squid

Untuk membangun server squid, file konfigurasi dari squid dapat ditemukan pada /etc/squid.conf. Untuk melakukan konfigurasi Squid, sangat tergantung topologi jaringan anda. Berikut ini adalah contoh konfigurasi Squid milik server linux slackware saya yang terhubung proxy yang lain untuk terkoneksi ke internet.


acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

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 lab src 10.14.10.0/24 #tambahan dari saya

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 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 lab
icp_access allow localnet
icp_access allow lab
icp_access deny all

htcp_access allow localnet
htcp_access allow lab
htcp_access deny all
http_port 7070

cache_peer 172.16.1.1 parent 8080 0 no-query proxy-only
access_log /opt/pkg/squid//var/logs/access.log squid

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

connect_timeout 3 minute
peer_connect_timeout 30 seconds
request_timeout 3 minutes
client_lifetime 1 day

cache_effective_user squid
cache_effective_user squid
visible_hostname aji.slacky.id-^-akulahaji.blogspot.com

dns_retransmit_interval 15 seconds
dns_timeout 5 minutes
dns_nameservers 10.14.203.7
cachemgr_passwd mypassword shutdown

client_db on
refresh_all_ims off
retry_on_error on
uri_whitespace strip

coredump_dir /opt/pkg/squid//var/cache
high_memory_warning 1 KB


Setelah konfigurasi selesai, jalankan perintah berikut untuk mengecek konfigurasi server squid:

squid -k parse

Kemudian jalankan perintah berikut untuk tidak melakukan inisialisasi server squid:

squid -z


Jika suatu saat anda melakukan konfigurasi ulang konfigurasi squid, jalankan perintah berikut untuk meng-update server squid:

squid -k reconfigure

update:
Maaf, karena terlalu banyak, saya tidak menyertakan keterangan terhadap konfigurasi squid. Keterangan dapat dibaca pada file squid.conf

3 comments:

  1. thank's atas tutorialnya.... ;)
    tutorial ini sangat membantu saya..

    salam,
    ilho

    ReplyDelete
  2. mas tolong diupdate lagi donk. saya baru beralih ke slackware. penasarasan dengan squid 3.4 di slackware. plus ama script storeurl.pl nya biar bisa ngecache youtube

    ReplyDelete

Related Posts Plugin for WordPress, Blogger...