menyambung tulisan sebelumnya untuk optimasi koneksi internet ke jaringan lokal di rumah, satu cara lagi adalah dengan membuat sebuah intercepting caching proxy dengan menggunakan squid. ini juga untuk menggantikan tulisan saya sebelumnya yang menjelaskan kombinasi squid dan firestarter, yang ternyata tidak bisa berfungsi. untuk instalasi squid di sistem operasi lucid:
# aptitude install squid
sunting berkas /etc/squid/squid.conf. yang penting untuk keperluan intercepting adalah baris http_port 192.168.0.1:3128 transparent, lalu saya menetapkan pool harddisk yang besar sekitar 20GB, cache_dir ufs /var/spool/squid 21000 16 256:
acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl cipete src 192.168.0.0/16 acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync 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 Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT http_access allow cipete http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access deny all icp_access allow cipete icp_access deny all http_port 192.168.0.1:3128 transparent hierarchy_stoplist cgi-bin ? cache_dir ufs /var/spool/squid 21000 16 256 access_log /var/log/squid/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320 acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9] upgrade_http0.9 deny shoutcast acl apache rep_header Server ^Apache broken_vary_encoding allow apache extension_methods REPORT MERGE MKACTIVITY CHECKOUT cache_mgr user@mail.com visible_hostname dontshootthemessenger hosts_file /etc/hosts coredump_dir /var/spool/squid
jalankan squid:
# service squid start
ujicoba dengan menggunakan peramban yang dikonfigurasi menggunakan proxy di atas (port 3128). agar bisa melakukan intercepting proxy yang transparent, kita tidak bisa membatasi hak akses dengan user/password.
sekarang agar semua klien dalam jaringan tiap kali menggunakan peramban akan dialihkan ke squid, kita harus memaksa semua konekasi outgoing di port 80 untuk dibelokkan ke 192.168.0.1:3128, ini bisa dilakukan dengan memanfaatkan ipkungfu. sunting berkas /etc/ipkungfu/redirect.conf, lalu tambahkan baris ini:
tcp:80:3128:internal # transparent squid proxy
jalankan ipkungfu kembali:
# ipkungfu
setelah ini, semua klien di jaringan yang mengakses port 80 akan dibelokkan terlebih dulu ke squid proxy yang telah dibangun di atas. dengan demikian, selesai sudah 3 tulisan saya yang berhubungan dengan pembagian koneksi internet ke jaringan lokal di rumah.
[…] terbaru intercepting caching… on DNS caching menggunakan p…Joelius on iklan marimas menyesatkanBubuna Vimala on […]
[…] sekarang walaupun klien menentukan sendiri DNS server yang dia pakai, akan selalu dibelokkan ke pdnsd. optimasi berikutnya yang bisa dilakukan adalah membuat squid caching proxy. […]
wah rumit gan mau ngikutinnya… tp makasih banget… haris belajar dari awal nih.
wah,,bagus sekali…
dari kemarin mau buat transparent proxy gak bisa2 menggunakan iptables…
semoga dengan ini bisa lancar…amin