This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
user_guide:mikrotik:rb751_advanced [2016/06/02 23:15] – created admin | user_guide:mikrotik:rb751_advanced [2022/06/13 09:48] (current) – [Add an entry to the Mikrotik Walled Garden] admin | ||
---|---|---|---|
Line 3: | Line 3: | ||
Although the instructions on this page makes use of the RB751, the same principles should also apply to other Mikrotik Routerboards.\\ | 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: | The following advanced configurations will be covered in this document: | ||
- | * Heartbeat configuration | ||
* Central Dynamic login pages | * 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' | ||
- | * 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 | ||
- | | Name | RD-heartbeat | | | ||
- | | Start Date | < | ||
- | | 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 | < | ||
- | /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 ==== | ||
- | <WRAP center round important 60%> | ||
- | 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 **Menu** -> **NAS Devices** -> **NAS Devices**. Select the device and edit it. | ||
- | * Select **NAS** -> **Optional info** sub-tab. Then specify the **Type** as **Mikrotik-Heartbeat**. | ||
- | * Under the **NAS** -> **Monitor 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 **NAS** -> **Enhancements** 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 **Menu** -> **NAS Devices** -> **NAS 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 ===== | ===== Central Dynamic Login pages ===== | ||
- | * RADIUSdesk | + | * RADIUSdesk |
* This allows you to | * This allows you to | ||
* Group Mikrotik devices together and serve one common login page to them all. | * 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. | * 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. | * Have a modern login page that makes use of AJAX techniques to connect and display session details. | ||
* To enjoy this enhancement you will need: | * 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. | * Ensure the Hotspot configuration on the Mikrotik includes PAP support. | ||
* Replace some static hotspot login pages located and served from the Mikrotik router. | * Replace some static hotspot login pages located and served from the Mikrotik router. | ||
Line 74: | Line 23: | ||
* Select the one used by the current Hotspot. (Usually called **hsprof1**). | * Select the one used by the current Hotspot. (Usually called **hsprof1**). | ||
* Ensure **Login by** includes **HTTP PAP**. | * Ensure **Login by** includes **HTTP PAP**. | ||
- | * Apply the changes if there was any. | + | * Apply the changes if there were any. |
- | ==== Fetch and replacement login pages ==== | + | ==== Fetch Replacement Login Pages ==== |
- | * We assume you have a Linux machine | + | * The latest RADIUSdesk GIT code on Source Forge contains |
- | <WRAP center round tip 60%> | + | * If you need a reminder to check out the code, or you want to check it out on another machine here is the command: |
+ | <WRAP center round tip 100%> | ||
<code bash> | <code bash> | ||
- | #From a terminal on Ubuntu try the following to install svn client: | + | #From a Linux machine with git client |
- | sudo apt-get install subversion | + | sudo git clone https:// |
</ | </ | ||
</ | </ | ||
- | * Check out the **rd_clients/mikrotik** folder from the RADIUSdesk project' | + | * The replacement files will be under the **rd_code/cake3/rd_cake/setup/mikrotik** folder |
- | <code bash> | + | |
- | svn checkout svn://svn.code.sf.net/p/ | + | |
- | </ | + | |
- | * This will create a **mikrotik** folder. | + | |
| | ||
==== Add a dynamic key to a Dynamic login page entry ==== | ==== Add a dynamic key to a Dynamic login page entry ==== | ||
- | | + | <WRAP center round alert> |
+ | * As of 2022 we recommend changing to serving the login pages over HTTPS. | ||
+ | * This will require valid SSL certificates on the server as well as the Mikrotik | ||
+ | </ | ||
+ | |||
+ | |||
+ | | ||
* 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. | * 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). | * 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**. | * 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. | * 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' | + | * If we have deployed 15 of these Mikrotik devices in Gauteng; we can simply include an item like **ssid=Gauteng** with the login.html' |
+ | |||
+ | <code html> | ||
+ | $(if error == '' | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | $(if chap-id) | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | $(endif) | ||
+ | < | ||
+ | <form name=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | </ | ||
+ | <script language=" | ||
+ | <!-- | ||
+ | | ||
+ | //--> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | $(else) | ||
+ | $(var)({ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | }) | ||
+ | $(endif) | ||
+ | </ | ||
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. | 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. | ||
+ | |||
+ | ==== Enable HTTPs support on Mikrotik | ||
+ | * To Enable HTTPS support on the Mikrotik you need to configure the following: | ||
+ | * Install a valid SSL certificate onto the Mikrotik. | ||
+ | * Specify a DNS name in the Hotspot setup that matches the certificate | ||
+ | * Enable **Login By** option **HTTPS**. | ||
+ | |||
+ | === Install a valid SSL Certificate === | ||
+ | |||
==== Add an entry to the Mikrotik Walled Garden | ==== Add an entry to the Mikrotik Walled Garden | ||
Line 108: | Line 109: | ||
* Select the **Walled garden IP List** sub-tab to add an entry. | * 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. | * The destination IP Address will be the IP Address of the RADIUSdesk server. | ||
+ | * The screenshot below assume the RADIUSdesk server has an IP Address of 178.32.59.137 | ||
+ | |||
+ | {{ : | ||
==== Replace the existing pages on the Mikrotik ==== | ==== Replace the existing pages on the Mikrotik ==== | ||
* Copy these files over to the Mikrotik router' | * Copy these files over to the Mikrotik router' |