Handy Cache + Mikrotik
HandyCache dengan MikroTik
December 13, 2011
Posted by on
Berawal dari mencoba-coba aplikasi web-cache untuk menghemat
quota paketan internet usb-modem di rumah lama-lama jadi tertarik karena
feature penyimpanan cache/file kontens berbentuk file aslinya (dapat di
explore di windows) dan juga cara memanagenya sangat mudah dan user
friendly karena berbasis windows dan GUI.
Kebetulan ini sudah saya test di network saya jadi disini saya akan mencoba bagi-bagi trik menggunakan HandyCache (HC) untuk dipasang ke Jaringan lokal (LAN) karena defaultnya HC hanya bisa dipakai 5 user/ip saja jadi kalau untuk di lan bisa banyak user/ip yang karena akan dibantu oleh router MikroTik (Internal-Proxy).
Silahkan unduh HC yang sudah saya set untuk cache Youtube DailyMotion dan Video Facebook serta beberapa settingan untuk mengoptimalkan cache contents. Di dalam HC ini saya tidak set untuk menyimpan file extensi txt,css,php,html,xml,js karena beberapa file tersebut sangat Crusial terdapat config dinamis seperti situs-situs berita yang bisa setiap menitnya selalu update contens/berita.
Download Handycache
HandyCache 377
topologi IP network seperti berikut
Sisi router :
IP LAN 192.168.100.246/24
IP HC 192.168.1.1/24
Sisi HC (Handycache) :
IP 192.168.1.6/24
GW 192.168.1.1
DNS 192.168.1.1
Sisi Klien :
IP Range 192.168.100.0/24
GW 192.168.100.246
DNS 192.168.100.246
Yang pertama anda harus menyamakan dulu NAT seperti berikut (sesuaikan dengan IP masing-masing)
Untuk NAT IP KLIEN terserah mau pake masquerade ataupun src.nat sama saja misalnya kalau masquerade
ether1 disini adalah WAN/Public
Lalu untuk IP HC harus masquerade tanpa out-interface
Pastikan Aplikasi HC sudah di extrak dan dijalankan exenya dan setting acces untuk IP MikroTiknya
pilih menu Access
Pergi ke router dan aktifkan Internal-Proxynya
Isi IP parent proxy dan portnya HC dan matikan cache internal proxynya seperti gambar berikut:
Dan tinggal redirect semua port http ke internal-proxy (port 3128)
Gambar final NAT
Silahkan test di komputer klien ke http://www.whatismyip.com/
seharusnya akan muncul seperti ini
Dan di Monitor HC seperti ini
Done!
Selamat anda sudah bisa bikin proxy server sederhana di network anda
Berhubung ini memakai jalur internal-proxy maka memanage bandwitdhnya juga lain daripada yang lain
disini saya hanya mengandalkan PCQ rate saja. Jika tertarik silahkan simak baik-baik cara pembuatan mangle dan queue-tree nya.
1. bikin mangle output untuk semua trafik (ini hanya bagi yang memakai RouterBoard saja) supaya nanti trafik HIT tidak membebani resource RB. Jika anda memakai pc router maka step ini bisa di skip.
2. bypass trafik winbox (optional)
3. menandai semua trafik menuju ke Lokal baik LAN maupun Proxy
ini fungsinya untuk menandai semua trafik down yang menuju ke lan maupun proxy supaya tidak ada trafik bocor untuk pembagian bandwith nanti.
Sekarang memisahkan packet-packet melalui filtering L7 yaitu untuk kontens streaming dan file extensi,
yang pertama kita membuat regex L7 dahulu.
3.a. membuat regex Youtube
3.b. membuat regex file extensi (jika anda mempunyai koleksi extensi tinggal sisipkan saja disini)
Sekarang anda sudah mempunyai 2 regex L7
4. Kembali ke menu mangle dan membuat packet streaming Youtube
Penjelasan:
chain memakai forward karena berada disusunan paling depan dalam system MikroTik, kita memfilter dari awal dan dst-address src-port=80 hanya memfilter menuju ke IP HC dan sumber dari port 80 saja. karena semua trafik sudah di redirect ke internal proxy otomatis internal-proxy mengirim ke parentnya yaitu IP HCnya dengan demikian nanti saat terjadi HIT tidak akan di proses lagi oleh mangle ini (poin 4) karena chainnya sudah berada di bawahnya forward otomatis trafik HIT youtube menjadi bypass.
5. Menandai packet file extensi atau yang biasa kerap menjadi jalur downloader
sama halnya pada poin 4 ini hanya menandai trafik yang menuju ke IP HC saja bedanya ini memakai L7 kontens.
6. Menandai packet not downloader atau kalau saya menyebutnya packet browsing
rule ini sama dengan rule poin 5 cuma bedanya ini memfilter packet kebalikannya, jadi selain extensi yg berada dalam regex kontens akan masuk ke mangle ini.
Penjelasan:
jika data yang lewat bukan berkontens youtube dan file extensi (lewat poin 4 dan 5) maka data yang lewat akan di proses dalam mangle ini apapun file extensinya walau tidak diketahui sekalipun. pembagian bandwitdhnya silahkan simak poin 12 .
dan ketiga rule mangle (poin 4,5 dan 6) packet ini memakai passthrough no artinya supaya data yg valid diproses oleh masing-masing mangle diatas tidak akan di proses lagi oleh rule mangle yang akan ada di bawahnya nanti.
Sekarang tinggal menandai packet yang menuju ke IP klien tujuannya jelas untuk memfilter trafik yang tidak masuk ke proxy atau selain port 80 termasuk protokol UDP dll..
7. Menandai IP klien 001 (192.168.100.1)
Penjelasan:
semua penandaan IP klien memakai connection-mark=all.con.mark (con-mark) sesuai yang telah kita buat mangle pada poin 3 tadi, passthrough=no karena disini juga sudah tidak akan diproses lagi setelah masuk ke IP klien. Selanjutnya ulangi penandaan IP klien sebanyak jumlah Network anda dengan tetap memakai con-mark yg sama dan passthrough=no.
Untuk trafik upload saya hanya memakai simple saja karena untuk upload kadang berbeda-beda antara isp satu dengan lainnya,jadi silahkan setting sendiri-sendiri jika memakai modem adsl atau dedicated line. berhubung saya memakai dedicated maka network saya cukup memakai mangle berikut:
8. Menandai tarfik upload dan nanti pembagian bandwidthnya memakai pcq rate
Contoh mangle yang sudah jadi
Penting!!!
contoh mangle ini jangan dijadikan patokan untuk network anda silahkan di modif dan atur sesuai kebutuhan masing-masing
Beralih ke menu QUEUE dan disini saya ambil contoh untuk bandwidth 3Mbps dan reserverd bandwidth untuk game online
berhubung senjata utama disini memakai PCQ kita buat dulu pcq_rate sebagai berikut:
9. Membuat pcq_dow pcq_up dan pcq_browsing
9.a.
9.b.
9.c.
Beralih ke tab queue-tree dan untuk tutorial disini saya memakai screenshot winbox saja biar cepet
10. Membuat queue output/hit tujuannya untuk melimit trafik yang keluar ke lan supaya tidak memakan resource RB dan dilimit sesuai kondisi networknya.
11. Membuat Parent untuk ALL Download dengan max-limit 2.5mbps sisa 512k buat spare games online jika untuk gamenet klo warnet murni bisa dipakai semua 3Mbps.
ether2 disini adalah interface LAN
12. Membuat queue Browsing dengan pengelompokan masing-masing segmen dibagi 256k oleh pcq_browsing (poin 9.c.) dengan max-limit 2Mbps.
13. Membuat queue Download dengan pengelompokan masing-masing segmen dibagi 384k oleh pcq_down (poin 9.a.) dengan max-limit 1Mbps.
14. Membuat queue Youtube/Streaming video dengan pengelompokan total max-limit 1Mbps.
(Max-limit silahkan sesuaikan dengan network masing-masing, krn berapapun bandwitdh dikasih ke user pasti kurang)
15. Membuat queue klien dengan max-limit 256k sampai denga jumlah network anda.
16. Membuat queue upload global dengan pcq_up sesuai poin 9.b. jadi masing-masing segmen dibagi 128kbps
atau sesuaikan dengan kondisi network anda.
Untuk topologi queue-tree ini sudah di test dalam dedicated line 1:1 jadi jangan di jadikan patokan seumpama anda memakai adsl modem maupun bandwidth share, silahkan pakai topologi yang sudah sesuai dengan network anda.
kalau anda yang sudah expert bisa memakai 2 MikroTik supaya enak dalam memanage bandwidth bisa per-port per-ip per-source ip dll layaknya tidak memakai proxy. topologinya bisa anda tengok di thread kaskus:
http://www.kaskus.us/showthread.php?t=11720206
ini sampel queue-treenya
Kebetulan ini sudah saya test di network saya jadi disini saya akan mencoba bagi-bagi trik menggunakan HandyCache (HC) untuk dipasang ke Jaringan lokal (LAN) karena defaultnya HC hanya bisa dipakai 5 user/ip saja jadi kalau untuk di lan bisa banyak user/ip yang karena akan dibantu oleh router MikroTik (Internal-Proxy).
Silahkan unduh HC yang sudah saya set untuk cache Youtube DailyMotion dan Video Facebook serta beberapa settingan untuk mengoptimalkan cache contents. Di dalam HC ini saya tidak set untuk menyimpan file extensi txt,css,php,html,xml,js karena beberapa file tersebut sangat Crusial terdapat config dinamis seperti situs-situs berita yang bisa setiap menitnya selalu update contens/berita.
Download Handycache
HandyCache 377
topologi IP network seperti berikut
Sisi router :
IP LAN 192.168.100.246/24
IP HC 192.168.1.1/24
Sisi HC (Handycache) :
IP 192.168.1.6/24
GW 192.168.1.1
DNS 192.168.1.1
Sisi Klien :
IP Range 192.168.100.0/24
GW 192.168.100.246
DNS 192.168.100.246
Yang pertama anda harus menyamakan dulu NAT seperti berikut (sesuaikan dengan IP masing-masing)
Untuk NAT IP KLIEN terserah mau pake masquerade ataupun src.nat sama saja misalnya kalau masquerade
ether1 disini adalah WAN/Public
1
2
| /ip firewall nat add action=masquerade chain=srcnat comment="" disabled=no out-interface=ether1 src-address=192.168.100.0/24 |
1
2
3
| /ip firewall nat add action=masquerade chain=srcnat comment="" disabled=no src-address= 192.168.1.0/24 |
pilih menu Access
Pergi ke router dan aktifkan Internal-Proxynya
Isi IP parent proxy dan portnya HC dan matikan cache internal proxynya seperti gambar berikut:
Dan tinggal redirect semua port http ke internal-proxy (port 3128)
1
2
3
| /ip firewall nat add action=redirect chain=dstnat comment="" disabled=no dst-port=80 protocol= tcp src-address=192.168.100.0/24 to-ports=3128 |
Silahkan test di komputer klien ke http://www.whatismyip.com/
seharusnya akan muncul seperti ini
Dan di Monitor HC seperti ini
Done!
Selamat anda sudah bisa bikin proxy server sederhana di network anda
Berhubung ini memakai jalur internal-proxy maka memanage bandwitdhnya juga lain daripada yang lain
disini saya hanya mengandalkan PCQ rate saja. Jika tertarik silahkan simak baik-baik cara pembuatan mangle dan queue-tree nya.
1. bikin mangle output untuk semua trafik (ini hanya bagi yang memakai RouterBoard saja) supaya nanti trafik HIT tidak membebani resource RB. Jika anda memakai pc router maka step ini bisa di skip.
1
2
3
| /ip firewall mangle add action=mark-packet chain=output comment=Output disabled=no dst-address= 192.168.100.0/24 new-packet-mark=output passthrough=no |
1
2
3
4
5
6
7
| /ip firewall mangle add action=mark-packet chain=prerouting comment=Winbox disabled=no dst-port= 8291 new-packet-mark=winbox passthrough=no protocol=tcp src-address= 192.168.100.0/24 add action=mark-packet chain=postrouting comment="" disabled=no dst-address= 192.168.100.0/24 new-packet-mark=winbox passthrough=no protocol=tcp src-port=8291 |
ini fungsinya untuk menandai semua trafik down yang menuju ke lan maupun proxy supaya tidak ada trafik bocor untuk pembagian bandwith nanti.
1
2
3
4
5
6
7
| /ip firewall mangle add action=mark-connection chain=forward comment="All Con/Packet-Mark" disabled=no dst-address=192.168.0.0/16 new-connection-mark=all.con.mark passthrough=yes add action=mark-packet chain=forward comment="" connection-mark=all.con.mark disabled=no dst-address=192.168.0.0/16 new-packet-mark=all.packet.mark passthrough=yes |
yang pertama kita membuat regex L7 dahulu.
3.a. membuat regex Youtube
1
2
| /ip firewall layer7-protocol add comment="" name=youtube regexp="^.+.c.youtube.com.*$" |
1
2
3
4
5
| /ip firewall layer7-protocol add comment="" name=kontens regexp="^.*(get|GET).+.(exe|rar|zip|7z|cab|asf|m ov|wmv|mpg|mpeg|mkv|avi|flv|pdf|wav|rm|mp3|mp4|ram|rmvb|dat|daa|iso|nrg|bi n|vcd|mp2|3gp|mpe|qt|raw|wma|ogg|doc|deb|tar|bzip|gzip|gzip2|0[0-1][0-1]). *$" |
4. Kembali ke menu mangle dan membuat packet streaming Youtube
1
2
3
4
| /ip firewall mangle add action=mark-packet chain=forward comment=Youtube disabled=no dst-address= 192.168.1.6 layer7-protocol=youtube new-packet-mark=streaming passthrough=no protocol=tcp src-port=80 |
chain memakai forward karena berada disusunan paling depan dalam system MikroTik, kita memfilter dari awal dan dst-address src-port=80 hanya memfilter menuju ke IP HC dan sumber dari port 80 saja. karena semua trafik sudah di redirect ke internal proxy otomatis internal-proxy mengirim ke parentnya yaitu IP HCnya dengan demikian nanti saat terjadi HIT tidak akan di proses lagi oleh mangle ini (poin 4) karena chainnya sudah berada di bawahnya forward otomatis trafik HIT youtube menjadi bypass.
5. Menandai packet file extensi atau yang biasa kerap menjadi jalur downloader
sama halnya pada poin 4 ini hanya menandai trafik yang menuju ke IP HC saja bedanya ini memakai L7 kontens.
1
2
3
4
| /ip firewall mangle add action=mark-packet chain=forward comment=Downloader disabled=no dst-address=192.168.1.6 layer7-protocol=kontens new-packet-mark=download passthrough=no protocol=tcp src-port=80 |
rule ini sama dengan rule poin 5 cuma bedanya ini memfilter packet kebalikannya, jadi selain extensi yg berada dalam regex kontens akan masuk ke mangle ini.
1
2
3
4
| /ip firewall mangle add action=mark-packet chain=forward comment=Browsing disabled=no dst-address=192.168.1.6 layer7-protocol=!kontens new-packet-mark=browsing passthrough=no protocol=tcp src-port=80 |
jika data yang lewat bukan berkontens youtube dan file extensi (lewat poin 4 dan 5) maka data yang lewat akan di proses dalam mangle ini apapun file extensinya walau tidak diketahui sekalipun. pembagian bandwitdhnya silahkan simak poin 12 .
dan ketiga rule mangle (poin 4,5 dan 6) packet ini memakai passthrough no artinya supaya data yg valid diproses oleh masing-masing mangle diatas tidak akan di proses lagi oleh rule mangle yang akan ada di bawahnya nanti.
Sekarang tinggal menandai packet yang menuju ke IP klien tujuannya jelas untuk memfilter trafik yang tidak masuk ke proxy atau selain port 80 termasuk protokol UDP dll..
7. Menandai IP klien 001 (192.168.100.1)
1
2
3
4
| /ip firewall mangle add action=mark-packet chain=forward comment=Klien001 connection-mark= all.con.mark disabled=no dst-address=192.168.100.1 new-packet-mark= klien001 passthrough=no |
semua penandaan IP klien memakai connection-mark=all.con.mark (con-mark) sesuai yang telah kita buat mangle pada poin 3 tadi, passthrough=no karena disini juga sudah tidak akan diproses lagi setelah masuk ke IP klien. Selanjutnya ulangi penandaan IP klien sebanyak jumlah Network anda dengan tetap memakai con-mark yg sama dan passthrough=no.
Untuk trafik upload saya hanya memakai simple saja karena untuk upload kadang berbeda-beda antara isp satu dengan lainnya,jadi silahkan setting sendiri-sendiri jika memakai modem adsl atau dedicated line. berhubung saya memakai dedicated maka network saya cukup memakai mangle berikut:
8. Menandai tarfik upload dan nanti pembagian bandwidthnya memakai pcq rate
1
2
3
4
5
6
7
| /ip firewall mangle add action=mark-connection chain=prerouting comment="All upload" disabled=no new-connection-mark=all.con.up passthrough=yes src-address= 192.168.100.0/24 add action=mark-packet chain=prerouting comment="" connection-mark=all.con.up disabled=no new-packet-mark=all.packet.up passthrough=yes src-address= 192.168.100.0/24 |
Penting!!!
contoh mangle ini jangan dijadikan patokan untuk network anda silahkan di modif dan atur sesuai kebutuhan masing-masing
Beralih ke menu QUEUE dan disini saya ambil contoh untuk bandwidth 3Mbps dan reserverd bandwidth untuk game online
berhubung senjata utama disini memakai PCQ kita buat dulu pcq_rate sebagai berikut:
9. Membuat pcq_dow pcq_up dan pcq_browsing
9.a.
9.b.
9.c.
Beralih ke tab queue-tree dan untuk tutorial disini saya memakai screenshot winbox saja biar cepet
10. Membuat queue output/hit tujuannya untuk melimit trafik yang keluar ke lan supaya tidak memakan resource RB dan dilimit sesuai kondisi networknya.
11. Membuat Parent untuk ALL Download dengan max-limit 2.5mbps sisa 512k buat spare games online jika untuk gamenet klo warnet murni bisa dipakai semua 3Mbps.
ether2 disini adalah interface LAN
12. Membuat queue Browsing dengan pengelompokan masing-masing segmen dibagi 256k oleh pcq_browsing (poin 9.c.) dengan max-limit 2Mbps.
13. Membuat queue Download dengan pengelompokan masing-masing segmen dibagi 384k oleh pcq_down (poin 9.a.) dengan max-limit 1Mbps.
14. Membuat queue Youtube/Streaming video dengan pengelompokan total max-limit 1Mbps.
(Max-limit silahkan sesuaikan dengan network masing-masing, krn berapapun bandwitdh dikasih ke user pasti kurang)
15. Membuat queue klien dengan max-limit 256k sampai denga jumlah network anda.
16. Membuat queue upload global dengan pcq_up sesuai poin 9.b. jadi masing-masing segmen dibagi 128kbps
atau sesuaikan dengan kondisi network anda.
Untuk topologi queue-tree ini sudah di test dalam dedicated line 1:1 jadi jangan di jadikan patokan seumpama anda memakai adsl modem maupun bandwidth share, silahkan pakai topologi yang sudah sesuai dengan network anda.
kalau anda yang sudah expert bisa memakai 2 MikroTik supaya enak dalam memanage bandwidth bisa per-port per-ip per-source ip dll layaknya tidak memakai proxy. topologinya bisa anda tengok di thread kaskus:
http://www.kaskus.us/showthread.php?t=11720206
ini sampel queue-treenya
makasih pai atas tutornya, blm punya kesempatan nyoba, he
klo mau setting HC sendiri harus matiin calculate statisticsnya sebab ada bugnya.
makasih dah mampir
Makasih banget atas tutornya
Salam sesepuh FMI. Juga Buat Metromini…
maaf ya hehe…
tp dicoba-coba saja rulenya ganti posisi dari atas kebawah atau dari bawah keatas hehehe :piss:
Sisi router :
IP LAN 192.168.100.246/24
IP HC 192.168.1.1/24
Sisi HC (Handycache) :
IP 192.168.1.6/24
GW 192.168.1.1
DNS 192.168.1.1
Sisi Klien :
IP Range 192.168.100.0/24
GW 192.168.100.246
DNS 192.168.100.246
Maaf Pak, Kalo IP HC 192.168.1.1/24 boleh sama gak dengan IP Modem speedy 192.168.1.1 atau IP modem speedy di ganti jadi brapa?
sebaiknya handycache berada dibawah router atau sejajar dengan klien jangan sejajar dengan modem
sebaiknya handycache berada dibawah router atau sejajar dengan klien jangan sejajar dengan modem
maaf pak saya kurang paham, boleh gak di kasih contoh topologi IP network yang lain jika modem speedy 192.168.1.1 atau kalo seperti ini bener gak?
Sisi router :
IP LAN : 10.1.20.111/24
IP HC 10.1.10.1/24
Sisi HC (Handycache) :
IP 10.1.10.6/24
GW 10.1.10.1
DNS 10.1.10.1
Sisi Klien :
IP Range 10.1.20.0/24
GW 10.1.20.111
DNS 10.1.20.111
silahkan tinggal di coba saja
justru hc ini sangat cocok buat patch game online karena tempat ane memang game online yg selama ini cuma mengandalkan caching mikrotik
kecuali klo header partial emang gk bisa dicaching oleh handycahe ini
dan ane salut sm juragan yg satu ini TOP BGT……….
Salam Dari Papua………………………………..
hadiah thn baru dari juragan regess……
Salut …..
(192.168.1.1) (eth1 :192.168.1.2) internet (ip:192.168.0.2—seterusnya)
(eth2:192.168.0.1) lan (gw: 192.168.0.1)
(eth3:192.168.2.1) proxy (dns:192.168.0.1)
|
Proxy hc
(ip:192.168.2.2)
(gw: 192.168.2.1)
(dns:192.168.2.1)
Menurut om reges, bener ga topologi diatas untuk HCrc3 internal proxy tanpa vmware atau topologi untuk HCrc1 tanpa internal proxy dan vmware?
Tolong ya om dijelasin…maklum baru coba pake mikrotik jadi ga mudeng2….makasih om
yang membedakan memakai internal proxy (HCrc3) dan tanpa internal-proxy (HCrc1) hanyalah nat redirectnya saja
klo HCrc3 harus memakai internal-proxy maka redirectnya seperti contoh tutorial disini
ip contoh seperti topologi ip anda
/ip firewall nat
add action=redirect chain=dstnat comment="" disabled=no dst-port=80 protocol=\
tcp src-address=192.168.0.0/24 to-ports=3128
sedangkan klo memakai HCrc1 bisa langsung memakai dst.nat tanpa perlu internal-proxy lagi karena HCrc1 masih support port forwarding (yg free)
maka natnya menjadi seperti ini (contoh sesuai dng ip topologi anda)
/ip firewall nat
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=80 protocol=\
tcp src-address=192.168.0.0/24 to-addresses=192.168.2.2 to-ports=8080