MikroTik UserManager Automatic Rate Limits

MikroTik UserManager Automatic Rate Limits

 

Usermanager is MikroTik?s version of radius and is a great way to centralize AAA on your network. In addition, it also has facility to allow users to buy credits on your network through hotspot, however, the only limitation it can automatically create is a time limitation. You can create packages that allow access for a day, week, month, etc., but in order to set a rate limit for that customer and their package, you have to manually make that change to the user in Usermanager.

I needed a way to automatically accomplish this so I enlisted the help of my script guru, Andrew Cox. Although I have never met Andrew in person, I can tell you he is a bright guy who is one of the few people I know that truly speaks MikroTik?s scripting language. As usual, Andrew rose to the challenge and wrote a few lines of code that function perfectly.

A few notes, first the script uses the user property ?credit-price? to determine which package the customer purchased, therefore, you need to have unique prices for each rate limit. For example, if the Gold package is 128k/64k and costs $25, then users that buy the 64k/64k package that costs $25 will get the same rate limit. In this example, just change the price slightly on one of the packages and it will work correctly. For example, make the 128k/64k package $19.95 or something similar.

So, here is the code, past it into a new script item through Winbox, set the scheduler to run it once every minute or so and you will enjoy the benefits of automatic rate limits with self created user accounts.

      
#Script to add rate limit?s to newly created user-manager accounts.
#Written by Andrew Cox | http://www.mikrotik-routeros.com

:local counter
:local check

#Loop through all users in user-manager
:foreach counter in=[/tool user-manager user find] do={

#Check to see if comment contains ?RLA? (short for ?rate limit added?). If it doesn?t, this account hasn?t \
had a rate limit set yet.
#We only check the first 3 characters, this means you can continue to use the comment field for \
whatever you like so long as you leave the ?RLA? untouched (if present)
:set check [:pick [/tool user-manager user get $counter value=comment] 0 3]
:if ($check=?RLA?) do={

#Has RLA, rate limit is already set so ignore

} else={

#Doesn't have RLA Set rate-limit based on initial purchase pricing
:if ([/tool user-manager user get $counter credit-price] =?1000?) do={/tool user-manager \
user set $counter rate-limit=?256k/128k? comment=?RLA?}
:if ([/tool user-manager user get $counter credit-price] =?2500?) do={/tool user-manager \
user set $counter rate-limit=?256k/128k? comment=?RLA?}
:if ([/tool user-manager user get $counter credit-price] =?4500?) do={/tool user-manager \
user set $counter rate-limit=?96k/48k? comment=?RLA?}
:if ([/tool user-manager user get $counter credit-price] =?6000?) do={/tool user-manager \
user set $counter rate-limit=?128k/64k? comment=?RLA?}
:if ([/tool user-manager user get $counter credit-price] =?7500?) do={/tool user-manager \
user set $counter rate-limit=?256k/128k? comment=?RLA?}

}

}

 
    • Related Articles

    • Using MikroTik LHG as a UE With a Baicells eNodeB

      If you want to use a MikroTik LHG CPE as a UE with your Baicells eNodeB, this blog post explains how.  Also shown is the tricky nature of inserting the SIM Card in the LHG. LEARN MORE
    • How to Upgrade MikroTik Software

        It is suggested to always keep your RouterOS installation up to date, MikroTik always keeps adding new functionality and improving performance and stability by releasing updates. RouterOS versions are numbered sequentially, when a period is used to ...
    • Mikrotik Mass Updater

        I converted an old perl backup utility written by Phillip Hutchison that was on the Mikrotik forums to make it a mass update utility for Mikrotik. There are 2 versions (Link is at bottom) version1 - "massupdater.pl" that uses only 1 username and ...
    • Mikrotik Background Scan for Wireless

      Beginning with Mikrotik version 6.35, the availability of Background Scan on the wireless interface.  From the wiki: "The scan command allows you to see available AP's in the frequency range defined in the scan-list. Using the scan command the ...
    • MikroTik RouterOS Default Wireless WPA2 Key

        Here is one that caught me by surprise and several of our customers as well. MikroTik's default configuration for devices with wireless has changed. There is now WPA/WPA2 security on the wireless connection. You will need to enter the serial number ...