"sebuah catatan kecil dari sazuke
by Adhy"
HandyCache
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.
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.
topologi IP network seperti berikut
Sisi router :
IP LAN 192.168.100.246/24
IP HC 192.168.1.1/24
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
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
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
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
|
Lalu untuk IP HC harus masquerade
tanpa out-interface
1
2
3
|
/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
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:
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
|
Gambar final NAT
Silahkan test di komputer klien ke http://www.whatismyip.com/
seharusnya akan muncul seperti ini
seharusnya akan muncul seperti ini
Done!
Selamat anda sudah bisa bikin proxy server sederhana di network anda
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.
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
|
2. bypass trafik winbox (optional)
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
|
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.
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
|
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
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.*$"
|
3.b. membuat regex file extensi
(jika anda mempunyai koleksi extensi tinggal sisipkan saja disini)
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]).
*$"
|
Sekarang anda sudah mempunyai 2
regex L7
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
|
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.
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.
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
|
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.
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
|
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.
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
|
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.
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
|
Contoh mangle yang sudah jadi
Penting!!!
contoh mangle ini jangan dijadikan patokan untuk network anda silahkan di modif dan atur sesuai kebutuhan masing-masing
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:
berhubung senjata utama disini memakai PCQ kita buat dulu pcq_rate sebagai berikut:
9. Membuat pcq_dow pcq_up dan
pcq_browsing
9.a.
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.
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
ether2 disini adalah interface LAN
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.
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.
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)
(Max-limit silahkan sesuaikan dengan network masing-masing, krn berapapun bandwitdh dikasih ke user pasti kurang)
memakai packet-marks=streaming
sesuai mangle poin 4 .
15. Membuat queue klien dengan
max-limit 256k sampai denga jumlah network anda.
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.
atau sesuaikan dengan kondisi network anda.
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:
ini sampel queue-treenya
q3
0 komentar:
Posting Komentar