Cara Membuat Simple Queue Otomatis Berdasarkan IP di tabel ARP
Pada artikel sebelumnya telah kita bahas cara manajemen bandwidth di mikrotik berdasarkan waktu dengan client ip statik. Dan ini adalah lanjutan dari artikel sebelumnya karena ada permintaan dari kantornya teman saya yang ingin disettingkan Mikrotik dengan jaringan yang pengaturan IP addressnya menggunakan DHCP sehingga setiap hari IP address komputer disitu tidak pernah tetap (IP Dynamic).
Script ini saya buat karena client sangat banyak dibagi beberapa segmen network serta interface lokal lebih dari satu ethernet. Dikarenakan client terhubung dengan dhcp service sehingga tidak mungkin saya membuat queue list satu persatu. Dan apabila Mikrotik terlalu banyak baris rule akan memakan banyak resource cpu dan memori pada RouterBoard. Jadi diperlukan setting limitter yang dinamis pula agar hasil konfigurasi lebih efektif dan tepat sasaran maka sebaiknya cukup client yang terhubung ke jaringan saja yang ditambahkan secara otomatis ke dalam queue list karena tidak semua ip online terus menerus melewati router gateway.
Dari kasus ini maka saya buatlah manajemen bandwidth yang otomatis di Mikrotik, So jika client terhubung ke jaringan maka routerOS otomatis menciptakan limitter di menu simple queue secara dinamis.
Dan kenapa saya memanfaatkan baris-baris ip yang ada di dalam tabel ARP, karena semua perangkat user / client yang terhubung ke router pastinya akan terbaca semua secara dinamik di tabel ARP, baik client dhcp / ip dinasmis maupun client yang pakai ip static, termasuk juga client hotspot.
Berikut ini adalah cara Manajemen Bandwidth Otomatis Simple Queue di Mikrotik :
- Buka Winbox, klik System > Script, dan beri nama: limitter_otomatis
- Copy kode script di bawah ini :
xxxxxxxxxxxxxxx
:if ([:len ([/queue simple find name=total])] <1) do={
/queue simple add target-addresses=“192.168.88.0/24” max-limit=10M/10M interface=all priority=8 name=“total”
}
#import ip yang ada di ARP list
:local ipusers [/ip arp find]
:foreach h in $ipusers do={
:local ipuser [/ip arp get $h address]
:if ([:len $ipuser] >0) do {
#ambil ipnya selain ip public
:local ippublic [/ip arp get $h interface]
:if ($ippublic !=”eth-public”) do {
#add diqueue
:if ( [:len ( [/queue simple find name=$ipuser] ) ] <1) do {
:if ([:len ([/queue simple find name=others])]>0) do { /queue simple remove [find name=others] }
/queue simple add target-addresses=$ipuser limit-at=256k/256k max-limit=3M/3M interface=all parent=total priority=8 name=$ipuser
}
}
}
}
:if ([:len ([/queue simple find name=others])] <1) do {
/queue simple add target-addresses=“192.168.88.0/24” limit-at=256k/256k max-limit=3M/3M interface=all parent=total priority=8 name=“others”
}
#delete yang tidak aktif
:local ipold [/queue simple find]
:foreach o in $ipold do={
:local iplama [/queue simple get $o name]
:if ([:len $iplama] >0) do {
:if ( $iplama !=”total”) do={
:if ($iplama !=”others”) do={
:if ([:len ([/ip arp find address=$iplama])] <1) do={
/queue simple remove [find name=$iplama]
}
}
}
}
}
xxxxxxxxxxxxxxx
Lalu anda salin / paste ke dalam kotak Script yang tersedia, dan klik OK.
script simple queue otomatis |
scheduler buatnya di winbox, menu system > scheduler
name = refresh_limitter
start date = Apr/05/2017 (tanggal sekarang)
start time = 07:34:15 (waktu sekarang)
interval = 00:15:00 (script akan di run setiap 15 menit)
on event = limitter_otomatis (nama scriptnya yg tadi kita buat)
centangin semua policynya dan tekan [Ok]
Sekian dari saya, semoga bermanfaat dan thank you.
UPDATE:
Bagaimana kalau pakai RouterOS versi 6.xx
Jawab: anda cari kode interface=all di dalam script, jika sudah ketemu hapuslah kode interface=all
Bagaimana kalau ditambah variable waktu, misalnya limit berlaku pada jam 18.00 sampai 23.00
Jawab: tambahkan kode ini pada script bagian queue
time=18h-22h59m59s,sun,mon,tue,wed,thu,fri,sat
Baca juga:
sumber https://www.forummikrotik.com
biar bs start jam 18.00 dan berakhir limitnya jam 23.00 gmn gan?
sudah saya update gan, lihat tambahan kode script pada halaman bawah artikel ini
mohon maaf pak, saya bingung dibagian script yang ini pak queue simple add target-addresses="10.10.114.0/24,10.10.115.0/24,10.10.116.0/24,10.10.117.0/24", mohon penjelasan
sesuaikan dengan subnet network anda
ini contoh kasusnya 4 network mas, disingkat juga boleh tinggal ganti prefix nya jadi 8