Lompat ke konten Lompat ke sidebar Lompat ke footer

Widget HTML #1ads

Simple Queue Otomatis Dari Tabel ARP

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 :
  1. Buka Winbox, klik System > Script, dan beri nama: limitter_otomatis
  2. Copy kode script di bawah ini :
xxxxxxxxxxxxxxx
#add parent :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.
manajemen bandwit di mikrotik
script simple queue otomatis



  • Setelah itu kilik tombol RUN untuk menjalankan scriptnya.



  • Buat scheduler untuk update ip address client2nya setiap 15 menit supaya jika ada client baru konek ikut terlimit juga.

  • 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]
    cara manajemen bandwit di mikrotik

    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 http://www.forummikrotik.com