Posted by: denikus | November 14, 2007

Membuat Proxy dengan Slackware

Ini merupakan tugas kedua saya ketika saya ingin ikut menjadi anak labkom . Saya menggunakan slackware 11 dan menggunakan squid-2.4.STABLE6 pada waktu itu . Ini beberapa langkah yang saya gunakan saat saya menginstall proxy :

  • Ketika kita telah menginstall slackware Pertama – tama kita download telebih dahulu squid nya

root@test:~#wget

http://www.squid-cache.org(banyak tempat situs yang lain untuk mendownload nya)

  • Setelah kita selesai mendownloadnya selanjutnya kita mengekstraknya

root@test:~# # tar -zxvf squid-2.4.STABLE6-src.tar.gz

  • setelah kita selesai mengextraknya selanjutnya kita tinggal menginstall

root@test:~#make
root@test:~#make install

  • setelah selesai menginstall kita harus membuat user

root@test:~#groupadd moelproxy
root@test:~#useradd squid -g moelproxy -d /home/moelproxy
root@test:~#chown -R squid:moelproxy /home/moelproxy

  • setelah membuat user ada beberapa file yang harus di perhatikan

DEFAULT_CACHE_LOG = $(localstatedir)/logs/cache.log
menjadi:
DEFAULT_CACHE_LOG = $(localstatedir)/log/squid/cache.log
DEFAULT_ACCESS_LOG = $(localstatedir)/logs/access.log
menjadi:
DEFAULT_ACCESS_LOG = $(localstatedir)/log/squid/access.log
DEFAULT_STORE_LOG = $(localstatedir)/logs/store.log
menjadi:
DEFAULT_STORE_LOG = $(localstatedir)/log/squid/store.log
DEFAULT_PID_FILE = $(localstatedir)/logs/squid.pid
menjadi:
DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
DEFAULT_SWAP_DIR = $(localstatedir)/cache
menjadi:
DEFAULT_SWAP_DIR = /cache
DEFAULT_ICON_DIR = $(sysconfdir)/icons
menjadi:
DEFAULT_ICON_DIR = $(libexecdir)/icons

  • Maksud dari pengeditan file di atas adalah untk mengubah lokasi default dari file cache.log, access.log, dan store.log agar ditempatkan di dalam direktori
  • /var/log/squid, dan meletakkan pid (process identification) squid di direktori /var/run, serta menyimpan direktori icons di /usr/lib/squid/icons.

Pada posting ini saya tidak akan membahas semua option yang ada pada squid.conf, saya hanya akan membahas option-option yang dirasa penting untuk menjalankan squid dan berpengaruh besar dalam optimasi squid.
http_port 3128
Option ini akan menentukan di port berapa squid akan berjalan (biasanya di port 3128 dan 8080)

icp_port 0
Option ini akan menentukan melalui port berapa squid akan mengirimkan dan menerima request ICP dari proxy cache tetangga.

cache_mem 32 MB
Option ini menentukan berapa besar memory yang akan digunakan oleh squid, defaultnya adalah 8 MB yaitu default yang cocok untuk digunakan pada
banyak sistem. Namun jika anda memiliki memory yang berlebih, maka disarankan untuk menaikkannya. Ada yang berpendapat bahwa nilai ini
didapat dari sepertiga memory bebas bagi squid.

cache_dir ufs /cache 1600 4 256
Option pada cache_dir menentukan sistem penyimpanan seperti apa yang akan digunakan (ufs), nama direktori tempat penyimpanan cache (/cache), ukuran
disk dalam megabytes yang digunakan oleh direktori tempat penyimpanan cache (1600 Mbytes), jumlah subdirektori pertama yang akan dibuat di bawah /cache (4),
dan jumlah subdirektori kedua yang akan diciptakan di bawah subdirektori pertama tadi (256).
Nilai2 pada option cache_dir tadi harus disesuaikan dengan sistem yang anda miliki, biasanya yang harus disesuaikan hanyalah tempat penyimpanan cache, ukuran disk,
dan jumlah subdirektori yang akan dibuat. Mengenai angka2 tersebut, dapat kita peroleh dari rumus yang telah disediakan oleh Mas Devshed untuk optimasi sbb:
1. Gunakan 80% atau kurang dari setiap kapasitas cache direktori yang telah kita siapkan. Jika kita mengeset ukuran cache_dir kita melebihi nilai ini,
maka kita akan dapat melihat penurunan performansi squid.
2. Untuk menentukan jumlah subdirektori pertama yang akan dibuat, dapat menggunakan rumus ini:
x=Ukuran cache dir dalam KB (misal 6GB=~6,000,000KB) y=Average object size (gunakan saja 13KB)
z= Jumlah subdirektori pertama = (((x / y) / 256) / 256) * 2 = # direktori
Sebagai contoh, misal saya menggunakan 6 GB dari untuk /cache (setelah disisihkan 80% nya), maka:
6,000,000 / 13 = 461538.5 / 256 = 1802.9 / 256 = 7 * 2 = 14
maka baris cache_dir akan menjadi seperti ini: cache_dir ufs 6000 14 256

cache_store_log none
Option ini akan melog setiap aktivitas dari storage manager. Log ini akan memperlihatkan objek-objek mana saja yang dikeluarkan dari cache, dan objek-objek mana saja yang disimpan dan untuk brp lama objek tersebut disimpan. Karena biasanya tidak ada gunanya untuk menganalisis data ini, maka disarankan untuk didisable.

negative_ttl 2 minutes
Default dari option ini adalah 5 menit, tetapi Mas Moh. J. Kabir menyarankan agar direndahkan menjadi 2 dan jika mungkin menjadi 1 menit. Kenapa settingannya seperti itu? Mas Moh. J. Kabir menjelaskan bahwa kita menginginkan proxy yang kita miliki setransparan mungkin. Jika seorang user mencari halaman web yang dia yakin itu ada, maka kita pasti tidak ingin adanya waktu lag antara URL menuju dunia dan kemampuan user untuk mengaksesnya.

cache_effective_user squid
cache_effective_group squid
Jika squid cache dijalankan oleh root, maka user yang akan menjalankannya akan diubah sesuai UID/GID user yang disebutkan pada option di atas. Pada contoh option di atas jika squid dijalankan oleh root, maka squid cache akan dijalankan dengan UID/GID squid.

maximum_object_size 1024 KB
Dengan option ini, ukuran file maksimum yang disimpan oleh squid cache bisa dibatasi. Dengan kata lain objek yang lebih besar dari bilangan ini tidak akan disaved ke dalam disk yang sudah disisihkan buat cache (misal /cache).

minimum_object_size 4 KB
Dengan option ini maka objek yang lebih kecil dari bilangan yang disebutkan tidak akan disaved ke dalam disk yang sudah disisihkan buat cache. Ada tambahan dari artikel yang ditulis Mas Jay bahwa ukuran file minimum yang dicache bertujuan mengefektifkan filesystem di mana biasanya ext2 diformat dengan 4 KB inode.

ftp_user hari@huhui.com This email address is being protected from spam bots, you need Javascript enabled to view it
Dengan option ini, maka ketika klien mengakses situs ftp anonymous, email address di atas akan dikirim sebagai password bagi ftp server anonymous.

reference_age 1 month
Dengan option ini, maka file cache yang tidak pernah diakses lagi selama nilai parameter di atas, akan dihapus secara otomatis oleh squid.

acl PazzNET src 192.168.1.0/255.255.255.0
http_access allow PazzNET
http_access deny all
Option-option tersebut menentukan subnet mana yang boleh mengakses proxy squid. Jika ada beberapa subnet, kita bisa menambahkan definisi acl nya.

cache_mgr hari@huhui.com This email address is being protected from spam bots, you need Javascript enabled to view it
Email-address dari local cache manager yang akan menerima email jika cache mati.Email ini pulalah yang akan muncul pada browser klien jika terjadi suatu kesalahan ketika mengakses suatu web via proxy squid.

visible_hostname hari.huhui.com
Informasi ini dikirim sebagai footer pada saat pesan error tampil di layar browser klien.

half_closed_clients off
Beberapa klien dapat membatalkan koneksi TCP nya, dengan membiarkan bagian penerimaaannya terbuka. Kadang-kadang squid tidak dapat membedakan antara koneksi TCP yang half-closed dan full-closed. Defaultnya, koneksi half-closed tetap terbuka sampai pembacaan dan penulisan pada soket memunculkan pesan error. Ubahlah nilai ini ke off, maka squid dengan serta merta akan menutup koneksi client jika tidak ada data yang dibaca lagi.

Saran Mas Devshed yang lain untuk meningkatkan performance:
cache_swap_high 100%
cache_swap_low 80%

Setelah semua selesai dilakukan, cobalah start squid anda dan rasakanlah perbedaannya )
# /etc/rc.d/init.d/squid start

Jika ada error, jangan panik, carilah letak kesalahan dengan selalu memonitor log
# tail -f /var/log/messages

sumber: http://linux2.arinet.org/index.php?option=com_content&task=view&id=64&Itemid=2

Advertisement

Responses

  1. terima ksih ya,,,,,,

  2. masih bingung apa sih?dan gimana petunjuknya
    kalo ngasih keterangan yang jeles dari awal okee… bosss


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Categories

Follow

Get every new post delivered to your Inbox.