Setiap perusahaan terkadang mempunyai suatu kebijakan dimana situs tertentu seperti Youtube maupun Facebook harus DIBLOKIR
pada jaringan kantor tersebut. Apabila kita memblokir Youtube dengan
metode Layer 7 maupun dengan metode Content situs lain seperti
google.com juga akan ikut terblokir, ini karena Certificate youtube.com
yang menyatu dengan situs lain seperti google.com. Maka Cara Blokir Youtube dengan metode diatas tidak relevan lagi untuk saat ini, maka dari itu ada metode terbaru dari Mikrotik yaitu TLS Host.
Certificate www.youtube.com
TLS Host Mikrotik Untuk Blokir Youtube
Untuk memblokir youtube.com dengan metode TLS Host anda harus
menggunakan versi Mikrotik OS terbaru. Pada kali ini saya menggunakan
Mikrotik OS Versi 6.43.12. Untuk memblokir youtube.com dengan TLS Host
anda bisa menggunakan Filter Rules atau RAW.
Langkah
Caranya kita masuk ke menu IP –> Firewall –> Raw dan tambahkan Rule baru seperti pada gambar dibawah ini
Lalu pindah ke tab Advanced lalu tambahkan di kolom TLS Host situs yang akan di blokir.
Lalu pindah lagi ke tab Action, pilihlah kolom Action dengan drop.
Hasilnya
Dengan cara ini situs lain seperti google.com tidak akan terblokir.
Ada kalanya Game Online PUBG Mobile diharuskan di blokir di jaringan
internet yang fungsinya hanya untuk pendidikan seperti di internet
kampus atau sekolahan. Yang harus pertama dilakukan untuk memblokir
game tersebut anda harus mencari port yang digunakan oleh Game Online
PUBG Mobile, bisa dengan mencari port yang digunakan dengan menggunakan
Torch Mikrotik. Untuk melihat daftar port game online terbaru: Daftar Port Game Online Terbaru hasil Torch di Mikrotik.
Firewall Raw memungkinkan untuk bypass atau drop
paket secara selektif sebelum pelacakan koneksi yang secara signifikan
mengurangi beban pada CPU dibandingkan dengan Firewall Filter Rules oleh
karena itu saya lebih memilih untuk memblokir dengan menggunakan
Firewall Raw dibandingan dengan Firewall Filter Rules. Selain itu
Firewall Raw sangat berguna untuk mitigasi serangan DOS.
Yubs, tentu sangat membosankan bukan? kenapa terjadi seperti itu ?
jawabannya adalah karena si mbah google mendeteksi adanya malware atau
sejenis spam yang melakukan query tertentu pada mesin pencarian google
sehingga perlu adanya pembatasan atau pencegahan query. Bisa dibayangkan
jika aktivitas spamming ini tidak diatasi pihak google. Tentu hal ini
sudah dipikirkan mbah google agar kejadian ini teratasi dengan cara
memberikan captcha. Perlu diketahui, ada beberapa kasus dimana tidak
semua komputer terkena spam, mengenai hal ini saya kurang paham methode
apa yg dipakai google untuk menerapkan pencegahan, karena fakta di
lapangan ketika 1 ip public indih*me dishare ke banyak user, tidak semua
kena spam. Namun jika terus menerus kena spam, dalam kurun waktu
sekitar 30 menit maka semua komputer muncul captcha. Solusi
satu-satunyanya saat ini harus generate ip baru. Nah lalu bagaimana cara
mendeteksi kena spam ? tentu kita memanfaatkan domain
ipv4.google.com/sorry/ bla bla bla yang akan kita tangkap dan kita
eksekusi perintah untuk redial pppoe indih*me.
Baiklah langsung saja, kali ini saya akan bagi tips versi kedua yang
mana pada script ini ada pembaharuan sehingga lebih valid. Karena
terkadang akses ke google kena spam hanya ke beberapa pc saja dan pc
lainnya tidak kena. solusinya gunakan layer7.
Pertama tama, buat regex layer7 pada mikrotik kasih nama spamgoogle :
^.*(ipv4.google.com)
kemudian buat rule firewall filter agar address yg kena spam masuk ke
address-list. (sesuaikan cidr_nat adalah pool ip client anda)
/ip fi fi add action=add-src-to-address-list address-list=kena_spam address-list-timeout=\
none-dynamic chain=forward comment=kena_spam layer7-protocol=spamgoogle protocol=tcp src-address-list=cidr_nat
kemudian buat script seperti berikut dan jangan lupa buat schedulernya.
:global iface 0pppoe0
:global currentIP
#:if ([:len [/ip firewall address-list find list=kena_spam dynamic=yes ]] != 0 ) do={
:if ([/ip firewall address-list print count-only where list=kena_spam] >=5) do={
:log error "akses google kena spam"
/in pppoe-client disable $iface
:delay 2
/in pppoe-client enable $iface
:delay 2
:set $currentIP ([/ip address get [find interface="$iface"] address])
:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
:if ( [:pick $currentIP $i] = "/") do={
:set currentIP [:pick $currentIP 0 $i]
}
}
:foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
:log warning "telah digenerate dengan ip baru : $currentIP"
:local router [/system identity get name]
:local time [/system clock get time]
:local date [/system clock get date]
:local voltage [/system health get voltage]
:local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
:local pesan ("[ $router ]%0A" ."GENERATE
IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada :
%0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
/tool fetch
url="https://api.telegram.org/bot38xx21546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20xx3762&text=$pesan"
keep-result=no
}
:if ($currentIP in 10.0.0.0/8) do={
:log error "dapet ip private! redial kembali untuk mendapatkan ip kepala 36";
/in pppoe-client disable $iface
:delay 2
/in pppoe-client enable $iface
:delay 2
:set $currentIP ([/ip address get [find interface="$iface"] address])
:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
:if ( [:pick $currentIP $i] = "/") do={
:set currentIP [:pick $currentIP 0 $i]
}
}
:foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
:log warning "telah digenerate dengan ip baru : $currentIP"
:local router [/system identity get name]
:local time [/system clock get time]
:local date [/system clock get date]
:local voltage [/system health get voltage]
:local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
:local pesan ("[ $router ]%0A" ."GENERATE
IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada :
%0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
/tool fetch
url="https://api.telegram.org/bot38xx921546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20353xx762&text=$pesan"
keep-result=no
}
hasilnya :
dan telah dilaporkan ke telegram Anda. semoga bermanfaat
Berikut ini adalah contoh penggunaan Load Balancing 2 ISP dengan
menggunakan metode PCC. Port 1 dan port 2 mikrotik terhubung ke modem
yang berbeda dan port 3 terhubung ke Hub yang terhubung ke komputer
client. Pada contoh kali ini masing-masing kecepatan internet sama yaitu
10Mbps
Topologi jaringan
Berikut gambaran topologi jaringan yang digunakan
IP Modem WAN1 = 192.168.1.1 IP Modem WAN 2 = 192.168.2.1 IP Local = 192.168.0.1
Apabila kecepatan masing-masing ISP berbeda misal ISP 1 = 5Mbps dan
ISP 2 = 10Mbps maka harus menambahkan PCC rules lebih banyak daripada
ISP 1 seperti contoh
Anda mempunyai warnet games online, di warnet anda mempunyai
aktifitas pelanggannya adalah browsing dan games online. Jika pelanggan
anda ada yang browsing atau download, pelanggan yang bermain games
online terganggu (LAG). Mungkin anda punya rencana memakai 2 ISP dengan
tujuan 2 aktifitas itu dibagi koneksinya, 1 untuk browsing 1 lagi untuk
games online.
Kondisi Jaringan
ISP pertama mempunyai IP 10.10.10.2/30 gateway 10.10.10.1 pada ether1 (untuk koneksi IIX)
ISP kedua mempunyai IP 20.20.20.2/30 gateway 20.20.20.1 pada ether2 (untuk koneksi internasional)
Jaringan lokal mempunyai IP 192.168.0.0/24 pada ether3
Saya anggap anda sudah membuat paket mark internasional dan IIX dalam ip firewall mangle.
/ip address
add address=10.10.10.2/30 interface=ether1 comment=ISP 1 for IIX disabled=no
add address=20.20.20.2/30 interface=ether2 comment=ISP 2 for Internasional disabled=no
add address=192.168.0.1/24 interface=ether3 disabled=no
/ip firewall mangle
add chain=prerouting src-address=192.168.0.0/24 dst-address=nice action=mark-routing new-routing-mark=iix disabled=no comment=Routing Mark for IIX
/ip route
add gateway=20.20.20.1
add gateway=10.10.10.1 routing-mark=iix
/ip firewall nat
add chain=srcnat action=masquerade disabled=no
Penjelasan
/ip firewall mangle add chain=prerouting src-address=192.168.0.0/24 dst-address-list=nice action=mark-routing new-routing-mark=iix disabled=no comment=Routing Mark for IIX
Rules diatas adalah membuat mark routing dengan nama “iix” untuk
koneksi iix, bagaimana tau itu buat iix? saya menggunakan
dst-address-list=nice (paket dari client yang menuju ip yang terdaftar
pada address-list “nice”), bagaimana nice itu bisa ada? pelajari
tutorial Memisahkan Bandwidth Internasional dan IIX disitu ada caranya.
Kita menggunakan primary gateway 20.20.20.1 yang difungsikan untuk
koneksi internasional. Untuk koneksi IIX menggunakan 10.10.10.1 dengan
routing-mark=iix yang sudah kita buat di ip firewall mangle. Loh kok
internasional ga dibuat routing mark juga? karena kita hanya perlu mark
routing untuk iix saja, jika ada paket yang tidak diproses oleh
routing-mark “iix” maka otomatis melewati primary gateway dan itu bisa
dibilang koneksi internasional Karena untuk paket IIX diproses oleh
mangle dan rules routing kedua (routing-mark “iix”)
Tulisan ini sebagai bahan referensi saja bagi kalian yang akan
membuat GPS Tracer yang terpasang di Mikrotik, dimana titik koordinat
akan di post ke database apabila titik koordinat ditemukan atau
berpindah lalu hasil koordinat tersebut ditampilkan dalam sebuah marker
peta.
Data titik koordinat diambil dari Mikrotik yang dipasang script untuk perintah post ke mikrotikgps.php, kemudian dari mikrotikgps.php berfungsi untuk menyimpan koordinat ke database. Data koordinat di database akan ditampilkan dalam format xml yang di generate oleh mikrotik_genxml.php.
Kemudian akan ditampilkan marker pada peta lokasi Mikrotik oleh mikrotiklocation.html yang data koordinatnya diambil dari hasil generate mikrotik_genxml.php.
Daftar Isi
Langkah
Langkahnya kita install dulu webserver localhost misalnya xampp lalu buat database untuk menyimpan data koordinat.
Database
Buat sebuah database dengan nama gps
CREATE TABLE `tbl_gps` (
`identity` varchar(20) NOT NULL,
`mac` varchar(20) NOT NULL,
`latitude` varchar(30) NOT NULL,
`longitude` varchar(30) NOT NULL,
`lat` varchar(30) NOT NULL,
`lng` varchar(30) NOT NULL,
`date` date NOT NULL,
`dbm` varchar(30) NOT NULL,
`technology` varchar(11) NOT NULL,
`speed` varchar(11) NOT NULL,
`altitude` varchar50) NOT NULL,
`satellites` varchar(11) NOT NULL
)
Script untuk Post ke mikrotikgps.php
Buat sebuah scheduler untuk menjalankan script secara berkala/interval
Mikrotik_genxml.php berfungsi untuk memparse/membuat data dengan format xml dari tabel tbl_gpshttps://pastebin.com/3F0pquJ7 . Seperti pada gambar dibawah ini: