Rabu, 05 Juni 2013

HANDY CACHE DENGAN MIKROTIK

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.
Interface Handycache
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



/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ether1 src-address=192.168.100.0/24
Lalu untuk IP HC harus masquerade tanpa out-interface




/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no src-address=
    192.168.1.0/24
Pastikan Aplikasi HC sudah di extrak dan dijalankan exenya dan setting acces untuk IP MikroTiknya
pilih menu Access

Acces IP MikroTik

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)



/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

Gambar final NAT



Silahkan test di komputer klien ke http://www.whatismyip.com/
seharusnya akan muncul seperti ini
httpproxy mikrotik

Dan di Monitor HC seperti ini
HC monitoring

Done!
 Selamat anda sudah bisa bikin proxy server sederhana di network anda :D
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.




/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
2. bypass trafik winbox (optional)







/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
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.







/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
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


/ip firewall layer7-protocol
add comment="" name=youtube regexp="^.+.c.youtube.com.*$"

3.b. membuat regex file extensi (jika anda mempunyai koleksi extensi tinggal sisipkan saja disini)





/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]).
    *$"
Sekarang anda sudah mempunyai 2 regex L7
regex Layer7

4. Kembali ke menu mangle dan membuat packet streaming Youtube




/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
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.




/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

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.




/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

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)




/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
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







/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
Contoh mangle yang sudah jadi
Sampel Mangle
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.
PCQ Down
9.b.
pcq up
9.c.
PCQ browsing
Beralih ke tab queue-tree dan untuk tutorial disini saya memakai screenshot winbox saja biar cepet :D

10. Membuat queue output/hit tujuannya untuk melimit trafik yang keluar ke lan supaya tidak memakan resource RB dan dilimit sesuai kondisi networknya.

output
memakai packet-marks=output sesuai mangle poin 1 .

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

all down
memakai packet-marks=all.packet.mark sesuai mangle poin 3 .

12. Membuat queue Browsing dengan pengelompokan masing-masing segmen dibagi 256k oleh pcq_browsing (poin 9.c.) dengan max-limit 2Mbps.

Browsing
memakai packet-marks=browsing sesuai mangle poin 6 .

13. Membuat queue Download dengan pengelompokan masing-masing segmen dibagi 384k oleh pcq_down (poin 9.a.) dengan max-limit 1Mbps.

down
memakai packet-marks=download sesuai mangle poin 5 .

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)

youtube
memakai packet-marks=streaming sesuai mangle poin 4 .

15. Membuat queue klien dengan max-limit 256k sampai denga jumlah network anda.

Klien
Packet-Marks sesuaikan dengan mangle kliennya yg sudah di bikin.

16. Membuat queue upload global dengan pcq_up sesuai poin 9.b. jadi masing-masing segmen dibagi 128kbps
atau sesuaikan dengan kondisi network anda.

upload
upload global dengan max-limit=2mbps masing-masing segmen mendapat 128kbps
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


q3

sumber : http://reges007.wordpress.com/2011/12/13/handycache-dengan-mikrotik/

Tidak ada komentar:

Posting Komentar