root@proxy:/home/it# lsb_release -d Description: Ubuntu 10.04.4 LTS root@proxy:/home/it# lsb_release -c Codename: lucid root@proxy:/home/it# lsb_release -r Release: 10.04 root@proxy:/home/it# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.04.4 LTS Release: 10.04 Codename: lucid root@proxy:/home/it# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 DISTRIB_CODENAME=lucid DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"
Dan perintah berikut menunjukkan versi Squid beserta parameter-parameter yang dapat anda gunakan disaat melakukan kompilasi Squid secara manual.
root@proxy:/home/it# squid -v Squid Cache: Version 2.7.STABLE7 configure options: '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '--datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' '--enable-storeio=ufs,aufs,coss,diskd,null' '--enable-linux-netfilter' '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '--enable-underscores' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic,digest,ntlm,negotiate' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-carp' '--enable-follow-x-forwarded-for' '--with-large-files' '--with-maxfd=65536' 'i386-debian-linux' 'build_alias=i386-debian-linux' 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux' 'CFLAGS=-Wall -g -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS='
Untuk melihat daftar paket-paket Squid yang dapat diinstall pada Ubuntu, ketikkan perintah dibawah ini.
root@proxy:/home/it# apt-cache search squid squid-langpack - Localized error pages for Squid adzapper - proxy advertisement zapper add-on awffull - web server log analysis program biosquid - utilities for biological sequence analysis biosquid-dev - headers and static library for biological sequence analysis calamaris - log analyzer for Squid or Oops proxy log files ccze - A robust, modular log coloriser dansguardian - Web content filtering ebox-squid - eBox - HTTP Proxy (Cache and Content Filter) frox - Transparent caching ftp proxy gadmin-squid - GTK+ configuration tool for squid gadmin-squid-dbg - GTK+ configuration tool for squid (debug) gadmintools - GTK+ server administration tools havp - HTTP Anti Virus Proxy jesred - A redirector for the Squid proxy kernel-patch-wrr - Extension to traffic Control/network bandwidth management libsnmp-session-perl - Perl support for accessing SNMP-aware devices modlogan - A modular logfile analyzer polipo - a small, caching web proxy proxytrack - Build HTTP Caches using archived websites copied by HTTrack runit-services - a UNIX init scheme with service supervision (services) sarg - squid analysis report generator sqcwa - Workaround for Squid not caching some pages squid-prefetch - Simple page-prefetch for Squid web proxy squidtaild - Squid log monitoring program squidview - monitors and analyses squid access.log files srg - Fast, Flexible and Detailed log analysis for the Squid Proxy tinyproxy - A lightweight, non-caching, optionally anonymizing http proxy squid - Internet object cache (WWW proxy cache) squid-common - Internet object cache (WWW proxy cache) - common files squid-cgi - Squid cache manager CGI program squid-deb-proxy - Squid proxy configuration optimized for deb packages squid-deb-proxy-client - Automatic proxy discovery for apt based on avahi squid3 - A full featured Web Proxy cache (HTTP proxy) squid3-cgi - A full featured Web Proxy cache (HTTP proxy) - control CGI squid3-common - A full featured Web Proxy cache (HTTP proxy) - common files squid3-dbg - A full featured Web Proxy cache (HTTP proxy) - Debug symbols squidclient - A full featured Web Proxy cache (HTTP proxy) - control utility squidguard - filter, redirector and access controller plug for Squid root@proxy:/home/it# apt-cache search squid2.7 root@proxy:/home/it# apt-cache search squid squid-langpack - Localized error pages for Squid adzapper - proxy advertisement zapper add-on awffull - web server log analysis program biosquid - utilities for biological sequence analysis biosquid-dev - headers and static library for biological sequence analysis calamaris - log analyzer for Squid or Oops proxy log files ccze - A robust, modular log coloriser dansguardian - Web content filtering ebox-squid - eBox - HTTP Proxy (Cache and Content Filter) frox - Transparent caching ftp proxy gadmin-squid - GTK+ configuration tool for squid gadmin-squid-dbg - GTK+ configuration tool for squid (debug) gadmintools - GTK+ server administration tools havp - HTTP Anti Virus Proxy jesred - A redirector for the Squid proxy kernel-patch-wrr - Extension to traffic Control/network bandwidth management libsnmp-session-perl - Perl support for accessing SNMP-aware devices modlogan - A modular logfile analyzer polipo - a small, caching web proxy proxytrack - Build HTTP Caches using archived websites copied by HTTrack runit-services - a UNIX init scheme with service supervision (services) sarg - squid analysis report generator sqcwa - Workaround for Squid not caching some pages squid-prefetch - Simple page-prefetch for Squid web proxy squidtaild - Squid log monitoring program squidview - monitors and analyses squid access.log files srg - Fast, Flexible and Detailed log analysis for the Squid Proxy tinyproxy - A lightweight, non-caching, optionally anonymizing http proxy squid - Internet object cache (WWW proxy cache) squid-common - Internet object cache (WWW proxy cache) - common files squid-cgi - Squid cache manager CGI program squid-deb-proxy - Squid proxy configuration optimized for deb packages squid-deb-proxy-client - Automatic proxy discovery for apt based on avahi squid3 - A full featured Web Proxy cache (HTTP proxy) squid3-cgi - A full featured Web Proxy cache (HTTP proxy) - control CGI squid3-common - A full featured Web Proxy cache (HTTP proxy) - common files squid3-dbg - A full featured Web Proxy cache (HTTP proxy) - Debug symbols squidclient - A full featured Web Proxy cache (HTTP proxy) - control utility squidguard - filter, redirector and access controller plug for Squid
Perhatikan output perintah diatas, terdapat 2 versi Squid. Paket Squid adalah versi 2.7 (Stable 7) sedangkan paket Squid3 adalah Squid Versi 3. Dalam implementasinya, Squid terpecah menjadi 2. Squid 2.7 lebih mengutamakan fungsi web cache, sedangkan Squid 3 lebih mengutamakan / fokus pada web filtering. Untuk menginstall Squid 2.7 Stable 7 di Ubuntu 10.04 ini, ketikkan perintah berikut.
root@proxy:/home/it# apt-get install squid
Setelah selesai menginstall, anda dapat melihat versi squid yang telah diinstall beserta parameter-parameter default yang digunakan dengan perintah "squid -v" seperti diatas. Parameter-parameter tersebut dapat membantu anda jika suatu saat ingin menginstall Squid 2.7 Stable 7 ini dengan cara mengkompilasi source code secara manual.
Baiklah, setelah selesai melakukan instalasi Squid, selanjutnya adalah mengkonfigurasi Squid. Konfigurasi dasar Squid cukup mudah. Ketikkan perintah seperti dibawah ini.
root@proxy:/home/it# cp /etc/squid/squid.conf /etc/squid/squid.conf.asli root@proxy:/home/it# nano /etc/squid/squid.conf http_port 3128 transparent icp_port 0 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log cache_effective_user proxy cache_effective_group proxy cache_mem 512 MB maximum_object_size 102 MB maximum_object_size_in_memory 32 KB memory_replacement_policy heap GDSF cache_replacement_policy heap LFUDA cache_swap_low 98 cache_swap_high 99 cache_dir aufs /cache-squid2.7 80000 187 256 cache_mgr sysadm@domainku.lcl visible_hostname proxy.domainku.lcl unique_hostname proxy@domainku.lcl acl all src 0.0.0.0/0.0.0.0 http_access allow all
Cukup mudah bukan ?
Parameter-parameter diatas adalah konfigurasi dasar yang dapat menjadikan Squid bekerja optimal sebagai web cache. Disamping sebagai webcache, Squid 2.7 juga dapat digunakan sebagai web filtering dan bandwith limiter. Berdasarkan referensi yang saya dapat, untuk kinerja optimal sebagai web cache maka gunakan Squid 2.7, sedangkan untuk kinerja optimal sebagai web filtering maka gunakan Squid 3.x.
Selanjutnya kita akan membahas parameter-parameter diatas satu-persatu. Yang pertama adalah direktif "http_port 3128 transparent" berarti proxy server akan mendengarkan request dari client melalui port 3128. dan opsi "transparent" akan menjadikan proxy server dapat bekerja sebagai transparent proxy.
Squid biasa digunakan dalam 2 mode yaitu Tranpsarent Proxy dan Direct Proxy. Jika Squid di-set sebagai Direct Proxy, maka seorang administrator harus mengeset secara manual aplikasi-aplikasi pada setiap komputer user agar menggunakan proxy server (ip address proxy server). Sedangkan jika Squid di-set sebagai Transparent Proxy, maka administrator tidak perlu mengeset secara manual aplikasi-aplikasi pada setiap komputer user, administrator cukup melakukan redirect traffic http agar melalui proxy server, hal ini dapat dilakukan disisi router gateway. Kelemahan menggunakan Transparent Proxy adalah tidak dapat digunakan untuk melewatkan traffic https, sedangkan kelebihannya adalah administrator tidak perlu mengeset secara manual satu-persatu komputer user yang ada dalam jaringan, bayangkan jika komputer user berjumlah hingga ratusan unit, tentu ini akan dapat menghabiskan energi si admin jaringan. Sementara kelemahan Direct Proxy adalah si admin jaringan harus menngeset satu-persatu komputer user dalam jaringan, namun kelebihannya proxy dapat digunakan untuk melewatkan traffic https.
Direktif "icp_port 0" menunjukkan bahwa proxy server bekerja sendiri / tidak berhubungan dengan proxy lain. Squid proxy dapat dikonfigurasi secara bertingkat, artinya squid proxy yang satu dapat menghubungi squid proxy yang lain. Untuk saat ini cukup gunakan parameter "icp_port 0", yang berarti Squid Proxy Server yang kita gunakan langsung merespons request dari client dan memforward request client ke web server di internet sesuai dengan permintaan client. Jika anda ingin mengetahui lebih jauh mengenai ICP (Internet Cache Protocol), silahkan baca dibagian "Hirarki Cache" dari link berikut ini.
Kemudian perhatikan ketiga direktif berikut ini.
cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log
Ketiganya menunjukkan dimana letak file-file untuk keperluan log yang digunakan squid.
cache_effective_user proxy cache_effective_group proxy
Dua parameter diatas mendefinisikan bahwa proxy adalah user dan group yang memiliki hak akses untuk Squid. Kemudian perhatikan lagi tiga parameter berikut.
cache_mem 512 MB maximum_object_size 102 MB maximum_object_size_in_memory 32 KB
Direktif pertama menunjukkan maksimum ukuran memory tambahan yang akan digunakan oleh Squid untuk keperluan cache dari objek. Semakin besar semakin baik, sesuaikan dengan resource memory / RAM yang anda miliki. Jumlah total memory yang akan digunakan oleh Squid dalam seluruh process-nya akan bergantung dari parameter dibawahnya yang akan kita bahas kemudian.
Direktif kedua (maximum_object_size 102 MB) adalah ukuran maksimum dari objek yang akan disimpan oleh Squid didalam cache-nya (hardisk). Ini berguna untuk meningkatkan kecepatan akses client terhadap content-content di internet yang berukuran hingga 102 MB. Sesuaikan dengan kebutuhan / kondisi jaringan anda.
Direktif ketiga (maximum_object_size_in_memory 32 KB) merupakan ukuran maksimum objek yang akan disimpan oleh Squid didalam memory (RAM). Ini berfungsi untuk meningkatkan kinerja dari Squid. Objek-objek yang berukuran hingga 32 KB akan langsung diambil dari memory. Jika ada client yang me-request object yang berukuran diatas 32 KB, maka Squid akan mencarikannya di hardisk (lokasi cache Squid) kemudian memberikannya ke client jika memang content tersebut tersedia di dalam cache hardisk nya.
Setelah selesai menuliskan parameter-parameter konfigurasi diatas, langkah selanjutnya adalah membuat direktori-direktori cache yang telah dideklarasikan di squid.conf ("/cache-squid2.7") dengan cara mengetikkan perintah berikut ini :
root@proxy:/home/it# squid -z
Kemudian restart Squid :
root@proxy:/home/it# /etc/init.d/squid restart
Sekarang Squid 2.7 Stable 7 sudah siap digunakan sebagai Transparent Proxy. Silahkan konfigurasi router anda agar traffic http dibelokkan ke proxy server. Adapun topology jaringan saya secara umum adalah seperti daftar berikut :
Router Gateway : Mikrotik
IP DMZ : 172.16.16.0/24
IP Proxy Server : 172.16.16.106
IP Clients : 192.168.0.0/16
Maka untuk membelokkan traffic http dari client, saya cukup mengetikkan perintah berikut ini pada router gateway (mikrotik) :
[htadm@GW1] > ip firewall nat add chain=dstnat action=dst-nat to-addresses=172.16.16.106 to-ports=3128 protocol=tcp src-address=192.168.0.0/16 dst-port=80
Sekarang semua traffic http seluruh user/client sudah di-redirect ke proxy server. Untuk memonitor traffic client gunakan perintah berikut ini :
it@proxy:~$ sudo tail -f /var/log/squid/access.log | ccze
Baiklah, sampai disini dulu tutorial kali ini, mudah-mudahan artikel lanjutan mengenai proxy server dapat dilanjutkan pada lain kesempatan. Amin.
Gan Untuk Partisi HDD nya gimana ya ???
BalasHapusmaaf sebelumnya masih newbie :D
Silahkan lihat disini :
BalasHapushttp://havizul.blogspot.com/2015/05/ubuntu-server-1204-bag-2-instalasi.html