Wednesday, April 11, 2012

Konfigurasi Squid Di Linux

Sebelum masuk kedalam bagaimana cara mengkonfigurasinya, lebih baik kita paham dulu apa itu Squid.

Langsung menyalin dari  Wikipedia Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk Transport Layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Versi Squid 3.1 mencakup dukungan protokol IPv6 dan Internet Content Adaptation Protocol (ICAP).

Hal yang saya manfaatkan dari tool ini baru sebatas sebagai web cache saja, supaya dapat menghemat bandwidth yang saya gunakan dan juga mempercepat proses load halaman suatu website. Setelah mengetahui apa itu Squid sekarang waktunya penjelasan bagaimana caranya untuk mengkonfigurasi nya.


Proses Instalasi
Untuk Debian, Ubuntu dan turunannya dapat dengan cara mengetikkan di terminal,
 sudo apt-get install squid  
Untuk di Arch Linux dengan cara,
 sudo pacman -S squid  
Untuk di Chakra Linux  dengan cara,
 sudo ccr -S squid  

Atau bisa juga dengan menjalankan package manager di masing-masing distro lalu masukkan "squid" sebagai kata kunci pencariannya.

Proses Konfigurasi
Setelah berhasil menginstall Squid  di sistem kita, tinggal satu tahap lagi sebelum kita bisa memanfaatkan fitur squid ini. Yang perlu kita lakukan adalah mengubah file konfigurasi squid nya supaya sesuai dengan keperluan kita. File konfigurasinya terletak di "/etc/squid/squid.conf".
Contoh konfigurasi yang saya gunakan

 #   
 # Recommended minimum configuration:   
 #   
 acl manager proto cache_object   
 acl localhost src 127.0.0.1/32 ::1   
 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1   
 # 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 localnet src fc00::/7  # RFC 4193 local private network range   
 acl localnet src fe80::/10  # RFC 4291 link-local (directly plugged) machines   
 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   
 #   
 # Recommended minimum Access Permission configuration:   
 #   
 # Only allow cachemgr access from localhost   
 http_access allow manager localhost   
 http_access deny manager   
 # Deny requests to certain unsafe ports   
 http_access deny !Safe_ports   
 # Deny CONNECT to other than secure SSL ports   
 http_access deny CONNECT !SSL_ports   
 # We strongly recommend the following be uncommented to protect innocent   
 # web applications running on the proxy server who think the only   
 # one who can access services on "localhost" is a local user   
 #http_access deny to_localhost   
 #   
 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS   
 #   
 # Example rule allowing access from your local networks.   
 # Adapt localnet in the ACL section to list your (internal) IP networks   
 # from where browsing should be allowed   
 http_access allow localnet   
 http_access allow localhost   
 # And finally deny all other access to this proxy   
 http_access deny all   
 # Squid normally listens to port 3128   
 http_port 3128   
 # We recommend you to use at least the following line.   
 hierarchy_stoplist cgi-bin ?   
 # Uncomment and adjust the following to add a disk cache directory.   
 cache_dir ufs /var/cache/squid 10000 16 256   
 # Leave coredumps in the first cache dir   
 coredump_dir /var/cache/squid   
 # Add any of your own refresh_pattern entries above these.   
 refresh_pattern ^ftp:   1440 20%  10080   
 refresh_pattern ^gopher:  1440 0%  1440   
 refresh_pattern -i (/cgi-bin/|\?) 0  0%  0   
 refresh_pattern .    0  20%  4320  
Hal-hal yang perlu di perhatikan adalah :

  • acl dan http_access
    • Fungsinya untuk menentukan alamat-alamat IP yang bisa menggunakan proxy squid kita.
    • cara penggunaan -> acl src
    • dan untuk me-load nya gunakan -> http_access allow
  • cahce_dir
    • Konfigurasi untuk menentukan alamat direktori/folder tempat kita menyimpan semua objek cache.
    • cara penggunanya -> cache_dir ufs /var/cache/squid 10000 16 256
    • "/var/cache/squid" adalah alamat direktori/folder nya
    • 10000 adalah batas maksimum cache yang ingin kita simpan (dalam megabyte).
    • 16 adalah jumlah direktori/folder yang ingin kita buat di dalam direktori/folder /var/cache/squid/ .
    • 256 adalah jumlah direktori/folder yang ingin kita buat dalam masing-masing folder/direktori yang kita buat sebelumnya.
  • http_port
    • Adalah konfigurasi port berapa yang akan kita gunakan untuk proxy squid ini.

Setelah selesai melakukan konfigurasi jalankan perintah di bawah ini untuk melakukan konfigurasi ulang.

 sudo squid -k reconfigure  
Untuk langkah akhir jangan lupa untuk mengkonfigurasi proxy web browser yang kita gunakan menjadi 127.0.0.1:3128

Sekian untuk tulisan kali ini, semoga bermanfaat untuk kita semua.

0 comments:

Post a Comment