RADIUSdesk

This is an old revision of the document!


Advanced configuration of the Mikrotik RB751

Introduction

Although the instructions on this page makes use of the RB751, the same principles should also apply to other Mikrotik Routerboards.
The following advanced configurations will be covered in this document:

  • Heartbeat configuration
  • Central Dynamic login pages

Heartbeat configuration

  • The heartbeat configuration is done to provide a means for the Mikrotik router to report its status to RADIUSdesk
  • The heartbeat system also provides a means for the RADIUSdesk server to reply with instructions to be executed by the Mikrotik router.

Configure the Mikrotik router

  • Connect to the Mikrotik's web interface and select SystemScheduler.
  • Select Add new to create a new entry.
  • Use the following table as a reference to populate the entry. The important replacement is to replace the 116.73.109.36 with the IP Address or DNS name of your RADIUSdesk server.
Item Value Comment
Enabled Checked
Name RD-heartbeat
Start Date <today>
Start Time startup
Interval 00:01:00 Increase this value is you have a large deployment of devices to lighten the load on the server
On Event
/tool fetch keep-result=yes mode=http address=116.73.109.36 src-path=("/cake2/rd_cake/webroot/files/heartbeat.php?nasid=".[/system identity get name]) dst-path=("rd.rsc") 
/import file-name=rd.rsc 
/file remove rd.rsc 
Policy Select Reboot, Read, Write, Policy, Test, Password, Sniff, Sensitive Do't exactly know why we have to select these … but then the script runs :-)

Configure RADIUSdesk

This functionality will only work with the Beta-4 VM image and upwards or SVN revision 540 or higher

  • We assume to already followed the basic setup and have the Mikrotik already defined as a Dynamic Client in the NAS devices applet.
  • Since we have not defined any monitoring for the device, although is is listed; the status will be specified as Unknown.
  • In RADIUSdesk go MenuNAS DevicesNAS Devices. Select the device and edit it.
  • Select NASOptional info sub-tab. Then specify the Type as Mikrotik-Heartbeat.
  • Under the NASMonitor settings sub-tab, specify Monitor method as Heartbeat and the Heartbeat is dead after as 600 seconds (You may want to increase this value is you are not sending heartbeats that often through to the RADIUSdesk server).
  • Under the NASEnhancements sub-tab specify Auto close stale sessions and Auto close activation time as 600.
  • Save these changes.

Your heartbeat system is now configured and the status of the device should indicate that it is up as soon as the first heartbeats comes in from the Mikrotik router.

Command the router

  • You can command the router to execute given instructions as a reply to a heartbeat pulse from the Mikrotik.
  • Log into the RADIUSdesk webtop.
  • Go MenuNAS DevicesNAS Devices. Select the device and edit it.
  • Since the device is defined as a heartbeat device; there will be a tab called Heartbeat actions.
  • Here you can see a list of instructions previously send, and those that are still awaiting execution.
  • As soon as an awaiting instruction was returned as an answer to a heartbeat pulse the status will change to Fetched.
  • RADIUSdesk uses this system to insert a command to disconnect any of the users which you decided to Kick from the Activity viewer applet (provided the device the user connected through is a Mikrotik-Heartbeat type device).

Central Dynamic Login pages

  • RADIUSdesk allow you to have one centrally managed location to serve a dynamic login page to many Mikrotik devices.
  • This allows you to
    • Group Mikrotik devices together and serve one common login page to them all.
    • Include company info and slideshows with the login page which are determined by the device from which a user connects.
    • Auto detect the type of device and serve a login page according to the device connecting.
      • Laptops and Desktops will get a Desktop style login page
      • Mobile devices like phones and tablets will get a mobile login page.
    • Have a modern login page that makes use of AJAX techniques to connect and display session details.
  • To enjoy this enhancement you will need:
    • Beta-4 or higher of the RADIUSdesk VM
    • Ensure the Hotspot configuration on the Mikrotik includes PAP support.
    • Replace some static hotspot login pages located and served from the Mikrotik router.

Include PAP support on Hotspot

  • Connect to the Mikrotik router through the web interface.
  • Select IPHotspot
  • Select the Server Profiles sub-tab.
  • A list of server profiles will be shown.
  • Select the one used by the current Hotspot. (Usually called hsprof1).
  • Ensure Login by includes HTTP PAP.
  • Apply the changes if there was any.

Fetch and replacement login pages

  • We assume you have a Linux machine with the svn client installed where you will issue the following commands from.
#From a terminal on Ubuntu try the following to install svn client:
sudo apt-get install subversion
  • Check out the rd_clients/mikrotik folder from the RADIUSdesk project's source tree.
svn checkout svn://svn.code.sf.net/p/radiusdesk/code/trunk/rd_clients/mikrotik/
  • This will create a mikrotik folder.

Add a dynamic key to a Dynamic login page entry

  • On your local machine, change directory to the mikrotik folder and edit the login.html file to redirect to your RADIUSdesk server.
  • Also ensure there is an item which you can use as a dynamic key to specify the dynamic login page's info which should be displayed.
  • In the sample page we include the nasid item and give it a value of $(identity).
  • This will be automatically substituted with za-gp-pta-001.
  • We will subsequently have to add a Dynamic key to one of the items in the Dynamic login pages applet that will tie this a item in the query string to an item in the Dynamic login pages applet.
  • If we have deployed 15 of these Mikrotik devices in Striusbaai; we can simply include an item like ssid=Struisbaai with the login.html's redirect instruction and use ssid as a Dynamic key. In this way we group these 15 devices to all show the Struisbaai dynamic login page.

When you are done editing the login.html page and also added the Dynamic key to the Dynamic login page which you want to serve on the Mikrotik; you can copy the replacement pages to the Mikrotik router.

Add an entry to the Mikrotik Walled Garden

  • You need to open the Mikrotik to serve the central login page from a server that is usually outside your network.
  • Connect to the web interface of the Mikrotik router.
  • Select IPHotspot
  • Select the Walled garden IP List sub-tab to add an entry.
  • The destination IP Address will be the IP Address of the RADIUSdesk server.

Replace the existing pages on the Mikrotik

  • Copy these files over to the Mikrotik router's hotspot folder. (You may want to back-up the old files first).
  • Everything should now be in place.
  • Try to connect to the Mikrotik hotspot.
  • You should be redirected to the server serving the Central login pages.