Rss

speedy quota 1G + winxp(laptop) + squid + bind9 + cache youtube

http://www.kutukupret.com/2008/10/09/next-di-posting-lagi-speedy-quota-1g-winxplaptop-squid-bind9-cache-youtube/

Nerusin topik sebelumnya
setelah berhasil bikin proxy pakai squid di winxp, akan di coba nambahin local resolver dns pakai bind9(windows precompile binary)
step pertama, nginstall bind9 di winxp
download precompile bind9 untuk windows di sini:
http://ftp.isc.org/isc/bind9/9.5.0-P2-W2/BIND9.5.0-P2-W2.zip
• extrak di satu folder.
• didalam folder klik 2 kali BINDInstall
• muncul popup windows installer kecil, biarkan semua nya default, kecuali service account password,klik install
tunggu sampai selesai.
Unknown Objecthasil instalasi nya nanti akan berada di sini C:\WINDOWS\system32\dns
• klik start -> run -> ketik cmd, cd ke C:\WINDOWS\system32\dns\etc\
- buat file dengan nama named.conf,isinya seperti ini:
acl "trusted" {
localhost;
192.168.0.0/16;
};

acl "bogusips" {
0.0.0.0/8;
1.0.0.0/8;
2.0.0.0/8;
192.0.2.0/24;
224.0.0.0/3;
169.254.0.0/16;
};

options {
allow-transfer { none; };
allow-query { trusted; };
allow-recursion { trusted; };
blackhole { bogusips; };
directory "c:\windows\system32\dns\etc";
listen-on { 127.0.0.1; }; #listen only on localhost
forwarders { 202.x.x.x; 202.x.x.x; }; #ubah sesuai dns isp masing2
forward first;
recursion yes;
};

logging {
channel queries_log {
file "c:\windows\system32\dns\etc\queries.log";
print-severity yes;
print-time yes;
};
category queries { queries_log ; };
};

zone "." {
type hint;
file "named.root";
};

zone "localhost." IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa." IN {
type master;
file "localhost.rev";
allow-update { none; };
};

include "d:\windows\system32\dns\etc\rndc.key";
- masih di directory C:\WINDOWS\system32\dns\etc\
ketik ..\bin\dig.exe @a.root-servers.net . ns > named.root
perintah di atas akan menghasilkan file named.root yg berisi record2 root zone
ketik ..\bin\rndc-confgen.exe -a
perintah di atas akan menghasilkan file rndc.key
ketik copy con localhost.zone , tekan enter, kemudian paste isi zone file ini:
$TTL 86400
@ IN SOA @ root (
42 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS @
IN A 127.0.0.1
tekan tombol ctrl+z
ketik copy con localhost.rev , tekan enter, kemudian paste isi zone file ini:
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
tekan tombol ctrl+z
- untuk memastikan konfigurasinya sudah benar nggak ada error ketik ini:
..\bin\named-checkconf.exe , kalo gakkeluar warning atau apapun bisa kita asumsikan konfig nyaudah benar.
- saat nya jalanin service bind9, klik start-> run->ketik services.msc->enter, nanti keluar jendela services, cari service yg bernama ISC BIND, select, klik kanan, start.
- setingan ethernet/tcp/ip untuk dns nya jangan lupa di ubah ganti dengan localhost atau 127.0.0.1
sudah siap untuk di coba.
contoh:
ketik ..\bin\dig.exe @127.0.0.1 www.altavista.com ns
hasil output query:
; <<>> DiG 9.5.0-P2-W2 <<>> @127.0.0.1 www.altavista.com ns
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1218 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.altavista.com. IN NS ;; ANSWER SECTION: www.altavista.com. 287 IN CNAME avatw.search.yahoo2.akadns.net. ;; AUTHORITY SECTION: akadns.net. 10 IN SOA internal.akadns.net. hostmaster. akamai.com. 1223533604 90000 90000 90000 180 ;; Query time: 109 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Thu Oct 09 13:26:35 2008 ;; MSG SIZE rcvd: 142 query timenya 109 msec ketik lagi ..\bin\dig.exe @127.0.0.1 www.altavista.com ns hasil ouput nya: ; <<>> DiG 9.5.0-P2-W2 <<>> @127.0.0.1 www.altavista.com ns
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1047 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.altavista.com. IN NS ;; ANSWER SECTION: www.altavista.com. 165 IN CNAME avatw.search.yahoo2.akadns.net. ;; AUTHORITY SECTION: akadns.net. 5 IN SOA internal.akadns.net. hostmaster. akamai.com. 1223533721 90000 90000 90000 180 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Thu Oct 09 13:28:37 2008 ;; MSG SIZE rcvd: 142 kali ini hasil querynya 0 msec, sepertinya resolver kita sudah berhasil meng-cache hasil query dns nah, karena niat kita dari pertama mau semua yg harusnya keluar ke internet di cache di lokal pc atau laptop kita, sekarang tinggal ngubah sedikit config squid supaya memakai lokal dns resolver yg baru kita buat, gampang kok tinggal ngedit TAG dns_nameservers dns_nameservers 127.0.0.1 # cuma ini aja yg harus di edit selesai. step selanjutnya bikin caching youtube (note: butuh squid versi 2.7 versi lain setau saya nggak bisa karena nggak ada fungsi storeurl_rewrite_program, storeurl_access) referensi nya saya dapet dari sini: http://human.network.web.id/2008/06/30/caching-youtube/ ( tutorial yg hebat , tutorialnya aslinya buat proxy under linux(penulis juga sudah coba di linux dan berhasil) sekarang kita akan coba install di winxp langkah2nya: karena script untuk me-rewrite url yg kita gunakan berbasis kan perl interpreter kita butuh nginstall interpreter nya, gak masalah download aja di sini: http://www.activestate.com/Products/activeperl/index.mhtml install, ikutin aja step2 default nya. setelah itu masuk ke directory config dimana kita menginstall squid cd c:\squid\etc\ buat file store_url_rewrite.pl copy con store_url_rewrite.pl , ketik enter lalu isi data2 ini #!/perl/bin/perl $|=1; while (<>) {
@X = split;
$url = $X[0];
$url =~s@^http://(.*?)/get_video\?(.*)video_id=(.*?)&.*@squid://videos.youtube.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/get_video\?(.*)video_id=(.*?)$@squid://videos.youtube.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/videodownload\?(.*)docid=(.*?)$@squid://videos.google.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/videodownload\?(.*)docid=(.*?)&.*@squid://videos.google.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums\?&.*@squid://images.photobucket.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums\?$@squid://images.photobucket.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums\?&.*@squid://videos.photobucket.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums\?$@squid://videos.photobucket.INTERNAL/ID=$3@;
print "$url\n"; }
tekan ctrl+z
untuk konfig squidnya, squid.conf contoh aja seperti di bawah ini, edit2 sesuai kebutuhan
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 our_networks src 202.127.96.0/20 202.123.224.0/20 210.79.208.0/20

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 172.34.52.75/32
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
acl YMPort port 5050 # Yahoo messenger
acl PURGE method purge
http_access allow purge localhost
http_access deny purge
http_access allow CONNECT YMPort localnet
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow our_networks
http_access allow localhost
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
cache_mem 6 MB
maximum_object_size_in_memory 32 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs c:/squid/var/cache 5000 16 256
maximum_object_size 128 MB
cache_swap_low 98
cache_swap_high 99
cache_dir aufs c:/squid/var/cache 5000 16 256
cache_access_log c:/squid/var/logs/access.log
cache_store_log c:/squid/var/logs/store.log
cache_log c:/squid/var/logs/cache.log
dns_nameservers 127.0.0.1
log_fqdn off
storeurl_rewrite_program c:/perl/bin/perl.exe c:/squid/etc/store_url_rewrite.pl
acl store_rewrite_list url_regex ^http://(.*?)/get_video\?
acl store_rewrite_list url_regex ^http://(.*?)/videodownload\?
acl store_rewrite_list url_regex ^http://i(.*?).photobucket.com/albums/(.*?)/(.*?)/(.*?)\?
acl store_rewrite_list url_regex ^http://vid(.*?).photobucket.com/albums/(.*?)/(.*?)\?
storeurl_access allow store_rewrite_list
storeurl_access deny all
cache allow store_rewrite_list
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
refresh_pattern ^http://(.*?)/get_video\? 10080 90% 999999 override-expire ignore-no-cache ignore-private
refresh_pattern ^http://(.*?)/videodownload\? 10080 90% 999999 override-expire ignore-no-cache ignore-private
refresh_pattern ^http://i(.*?).photobucket.com/albums/(.*?)/(.*?)/(.*?)\? 43200 90% 999999 override-expire ignore-no-cache ignore-private
refresh_pattern ^http://vid(.*?).photobucket.com/albums/(.*?)/(.*?)\? 43200 90% 999999 override-expire ignore-no-cache ignore-private
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
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
vary_ignore_expire on
cache_effective_user squid
cache_effective_group squid
log_icp_queries off
ipcache_size 2048
ipcache_low 98
ipcache_high 99
memory_pools off
reload_into_ims on
pipeline_prefetch on
cachemgr_passwd xxxxxx all
jangan lupa di save
setelah itu klik start->run->services.msc, rstart services squid
terakhir test browsing salah satu video youtube, untuk pertama kali memang masih di stream langsung dari server youtube.
tutup browser, buka kembali dan arahkan ke url video yg sama di youtube. kalo proses cachingnya berhasil, menurut pengamatan penulis proses load nya sudah dari lokal cache/disk
selesai semua usaha kita untuk mengcaching yg seharus nya kita load directly dari server nya di internet

Tidak ada komentar:

Posting Komentar

koment mu Q tnggu....!!!!!!!!!