17 Juni 2011

Mempercepat koneksi internet dengan squid proxy




Koneksi internet, seberapapun juga akan tetap mencapai titik dimana dia dianggap lambat. Dulu koneksi internet kampus yang cuman 32kbps saja sudah laku laris manis dijual seharga Rp 4.000,-. Sekarang, warnet Speedy yang 2MBps aja sudah banting harga menjadi Rp 3.000,-. Intinya, kalo nurutin keinginan, seberapapun cepat koneksi tetep aja kurang..

Bagi pengguna internet yang punya koneksi terbatas dan tidak memiliki jaringan dan server yang bisa me-manage bandwith dengan baik, koneksi 152kbps sekelas GPRS kelas 10 tentu akan terasa lambat dibandingkan dengan warnet-warnet sekarang. Bahkan pengguna 3G seperti Smart, Indosat, Telkom (dengan berbagai variannya) juga akan merasakan penurunan kecepatan seiring dengan semakin banyaknya pengguna jasa yang sama. Belum lagi kalo bicara soal pembatasan quota bandwith.

Sekarang, tinggal kita yang dituntut untuk pandai-pandai mengoptimalkan koneksi tersebut. Gimana caranya biar cepet, kuota nggak gampang habis. Nah, kali ini saya akan ulas sedikit tentang Squid Proxy yang bisa dijalankan di Windows. Dengan program ini, Anda bisa melakukan dua hal; penghematan bandwith sekaligus mempercepat koneksi Anda. Kok bisa?

Sekedar ilustrasi, beberapa waktu lalu saat saya masih gemar bermain Travian –salah satu game online– agar dapat selalu memantau perkembangan, saya gunakan koneksi internet GPRS Starone dengan menggunakan HP murah, Haier C6000.

Koneksi murah meriah ini tentu sepadan dengan harganya, di tempat saya, saya cuman dapet 2 bar dengan kecepatan maksimal 152kbps, praktisnya sekitar 96kbps saja. Tentu saja jika saya cuman mengandalkan koneksi ini, saya nggak bakal bisa menampilkan web Travian dengan cepat. Namun dengan sedikit upaya, Squid proxy proses loading situs favorit tersebut bisa meningkat hingga tiga kali lipat. Bagaimana logikanya?

CARA KERJA SQUID PROXY

Tiap kita mengakses situs sebenarnya yang kita lakukan adalah mendownload semua data berupa tulisan, link, teks, gambar dan file lain dalam halaman tersebut. Dalam proses standar, semua file ini akan disimpan dalam file temporer browser. Namun pada prakteknya, tiap kita membuka halaman yang sama, kita tetap mendownload file yang sama, berulang kali. Anggap saja suatu halaman web berukuran total 500KB, maka jika kita membuka halaman tersebut sepuluh kali dalam sehari maka kita akan menggunakan bandwith sebesar 500KB x 10 = 5MB!
Proxy atau juga yang disebut Squid sebenarnya adalah program yang dikembangkan dalam dunia Linux yang bekerja efektif mengelola file temporer. Saya menemukan SquidNT yang dikembangkan dari versi linuxnya oleh Guido Serassio. Cara kerjanya sama dengan Squid di Linux, yakni dengan otomatis menyimpan semua file yang kita download saat mengakses situs di dalam satu file temporer yang disebut cache. Di sana semua konten, alamat, teks, gambar dan halaman web disimpan. Pada saat kita mengakses situs untuk pertama kali, squid akan secara otomatis menyimpannya dan membuat link bayangan agar saat halaman yang sama dibuka untuk kedua kali, browser tidak langsung mendownload dari situs aslinya. Melainkan mendownload dari cache squid yang notabene ada di PC/LAN. Sehingga halaman web akan lebih cepat terbuka. Jika kita sering membuka halaman yang sama, prosesnya akan jauh lebih cepat saat kedua kali dan seterusnya..

Sekarang kita lihat, berapa perhitungan bandwithnya. Suatu halaman sebesar 500KB, berisi halaman web sederhana dan berbagai gambar. Squid hanya akan mendownload kode HTML nya saja dan menyaring semua informasi yang ada di dalamnya. Jika dalam screening ini semua data pendukung (gambar, skrip, file) sudah ada di cache, bandwith Anda tidak akan lebih besar dari 100Kb bahkan lebih kecil lagi. Anggap saja kita lakukan refresh selama 10 kali maka hasil yang didapat adalah: 100KB x 10 = 2MB saja. Anda bisa menghemat bandwith menjadi 1/5 bahkan lebih kecil lagi!
Itulah mengapa, dulu saya tetep bisa maen Travian dengan lancar, meski cuman pake GPRS dengan kecepatan 152kbps.. hehehe.

INSTALASI DAN SETTING SQUID

Untuk memulai instalasi, silakan download dulu SquidNT. Anda bisa mendapatkan SquidNT ini di sini atau dari situs Acme Conlsulting langsung. Jika Anda berencana menggunakan squid untuk Windows Server, silakan tunggu artikel berikutnya yang akan membahas hal tersebut secara lebih detail.
[Download Alternatif Squid 2.7 Stable7 untuk Windows]
Selanjutnya langkah instalasi:
1. Ekstrak file Squid-2.7STABLE7.bin yang telah Anda download. Saya sarankan Anda ekstrak ke c:\squid\ untuk lebih mempermudah Anda mengikuti tutorial ini.
2. Lihat dan perhatikan isi folder c:\squid\etc\. Disana ada beberapa file konfigurasi default squid sebagai berikut:
- cachemgr.conf.default
- mime.conf.default
- squid.conf.default
- squid_radius_auth.conf.default
Yang perlu Anda lakukan adalah, me-rename keempat tersebut menjadi:
- cachemgr.conf
- mime.conf
- squid.conf
- squid_radius_auth.conf
3. Buka file squid.conf dengan editor teks. Anda bisa gunakan Notepad, Wordpad atau program pihak ketiga seperti Notepad++. Temukan tulisan TAG: http_port. Pastikan di bagian bawah TAG ini sudah ada tulisan http_port 3128 sehingga tampak seperti berikut:
# TAG: http_port
# Usage: port [options]
# hostname:port [options]

# If you run Squid on a dual-homed machine with an internal
# and an external interface we recommend you to specify the
# internal address:port in http_port. This way Squid will only be
# visible on the internal address.
#
# Squid normally listens to port 3128
http_port 3128
4. Temukan TAG: visible_hostname, tambahkan tulisan visible_hostname localhost di bagian bawah tag ini. Anda boleh menghapus tulisan # none. sehingga tampak seperti berikut:
# TAG: visible_hostname
# If you want to present a special hostname in error messages, etc,
# define this. Otherwise, the return value of gethostname()
# will be used. If you have multiple caches in a cluster and
# get errors about IP-forwarding you must set them to have individual
# names with this setting.
#
#Default:
visible_hostname localhost
5. Temukan http_access allow localnet. Tambahkan http_access allow localhost di bawahnya menjadi:
# 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
6. Temukan TAG: dns_nameservers, pada tulisan dns_nameservers. Pada bagian bawah tag ini, isi dengan alamat DNS dari ISP yang Anda gunakan dengan format dns_nameservers [primary DNS] [secondary DNS]. Dalam hal ini saya menggunakan ISP speedy Wilayah Jatim maka akan tampak sebagai berikut:
# TAG: dns_nameservers
# Use this if you want to specify a list of DNS name servers
# (IP addresses) to use instead of those given in your
# /etc/resolv.conf file.
# On Windows platforms, if no value is specified here or in
# the /etc/resolv.conf file, the list of DNS name servers are
# taken from the Windows registry, both static and dynamic DHCP
# configurations are supported.
#
# Example: dns_nameservers 10.0.0.1 192.172.0.4
#
#Default:
dns_nameservers 202.134.1.10 203.130.208.18
7. Buka Start > Run > Ketik CMD [Enter]. Dalam Command Prompt, ketik baris perintah berikut:
c:\squid\sbin\squid.exe -z [Enter]
Jika muncul pesan popup Windows Security Alert seperti gambar di bawah, pilih Unblock untuk memberi akses kepada instalasi Squid Proxy.

8. Selanjutnya, ketik perintah berikut:
c:\squid\sbin>squid.exe -d l -D [Enter]
Tunggu beberapa saat kemudian tekan CTRL + C.
9. Ketik perintah berikut:
c:\squid\sbin>squid.exe -i [Enter]
c:\squid\sbin\squid.exe -O -D [Enter]
Setelah mengetik keempat baris perintah di atas, layar Command Prompt Anda seharusnya akan tampak seperti berikut ini:

10. Jalankan Service Panel melalui Control Panel > Administrative Tools > Services. atau
Start > Run > ketik Services.msc [Enter]
Temukan service bernama Squid > Klik link Start di panel sebelah kiri untuk menjalankan Squid.

11. Selanjutnya, Ubah setting Browser Anda. Arahkan proxy pada browser anda ke alamat localhost dengan port 3128. Untuk Firefox, langkah setting nya tampak seperti berikut:

Secara default Squid akan menjalankan proses sendiri tiap kali PC melakukan restart. Cache squid ini disimpan dalam folder c:\squid\var\cache. Untuk melihat log file squid proxy, Anda bisa mengetikkan:
more c:\squid\var\logs\access.log [Enter]

UNINSTALL
Jika Anda ingin menghapus squid, ketikkan perintah berikut di Command Prompt.
c:\squid\sbin>squid -r -n squid [Enter]
Selesai. Gampang bukan?
BONUS: CARA MUDAH INSTALASI
Bagi Anda yang nggak mau pusing-pusing dengan setting di atas, saya sudah sediakan Squid Proxy di atas yang sudah saya konfigurasi lengkap. Anda tinggal meng-ekstrak, dobel klik file konfigurasi, setting browser dan Voila! Kecepatan akses Anda sekarang jadi beberapa kali lebih cepat.
Keterangan:
Dalam file konfigurasi default (squid.conf) Squid siap pakai di atas saya menggunakan dns dari Google. Dengan setting tersebut seharusnya Anda sudah bisa langsung online tanpa melakukan perubahan apapun.
Tapi sekedar untuk backup, saya sudah menyertakan beberapa DNS lain seperti DNS Speedy dan OpenDNS. Jika perlu, silakan pilih sesuai keinginan. Dalam hal ini yang perlu Anda lakukan adalah membuka file squid.conf di \squid\etc\ dan temukan bagian berikut:
….
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jatim dan Jateng
#dns_nameservers 202.134.1.10 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jakarta – Jateng
#dns_nameservers 202.134.0.155 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS OpenDNS
#dns_nameservers 208.67.222.222 208.67.220.220
# Tambah tanda (#) di depan baris berikut jika Anda TIDAK ingin menggunakan DNS Google
dns_nameservers 8.8.8.8 8.8.4.4
…..
Perhatikan, dari baris di atas, hanya satu baris dns_nameservers yang tidak didahului tanda comment (tanda #). Yakni di depan dns_nameservers punya Google. Itulah setting yang sedang aktif/digunakan. Untuk memilih setting dns yang lain Anda tinggal memberi comment (tanda #) di depan dns_nameservers yang sedang aktif dan menghapus dns_nameservers lain yang Anda inginkan. Ingat, Anda hanya diperbolehkan memlih dns_nameservers yang aktif.
Misalnya saya pengen pake OpenDNS, maka setting diatas perlu saya ubah menjadi:
….
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jatim dan Jateng
#dns_nameservers 202.134.1.10 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jakarta – Jateng
#dns_nameservers 202.134.0.155 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS OpenDNS
dns_nameservers 208.67.222.222 208.67.220.220
# Tambah tanda (#) di depan baris berikut jika Anda TIDAK ingin menggunakan DNS Google
#dns_nameservers 8.8.8.8 8.8.4.4
…..





Related Posts Plugin for WordPress, Blogger...