This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
radiusdesk:radius_clients:disconnect [2023/01/03 07:31] admin |
radiusdesk:radius_clients:disconnect [2023/01/03 08:25] (current) admin |
||
---|---|---|---|
Line 27: | Line 27: | ||
==== Mikrotik ==== | ==== Mikrotik ==== | ||
* With the Mikrotik RADIUS Clients we make use of the **RouterOS API Client** to communicate with the Mikrotik. (https:// | * With the Mikrotik RADIUS Clients we make use of the **RouterOS API Client** to communicate with the Mikrotik. (https:// | ||
- | * This is already included with RADIUSdesk. | + | * This library |
* Many times there will be a NAT connection between the Mikrotik and the RADIUSdesk server preventing the server to reach the Mikrotik directly. | * Many times there will be a NAT connection between the Mikrotik and the RADIUSdesk server preventing the server to reach the Mikrotik directly. | ||
* Mikrotik fortunately supports a large amount of VPN technologies which you can choose from. | * Mikrotik fortunately supports a large amount of VPN technologies which you can choose from. | ||
Line 33: | Line 33: | ||
* If needed, please select one of your choosing. Setting them up is well documented in the Mikrotik documentation in the link above. | * If needed, please select one of your choosing. Setting them up is well documented in the Mikrotik documentation in the link above. | ||
* When adding a RADIUS Client and selecting the **Mikrotik-API** type you will be presented with a dialog to supply the detail for the API connection to the Mikrotik.{{: | * When adding a RADIUS Client and selecting the **Mikrotik-API** type you will be presented with a dialog to supply the detail for the API connection to the Mikrotik.{{: | ||
+ | |||
* There is also a **Test API Connection** button which allows you to confirm that the API communication to the Mikrotik is indeed working. | * There is also a **Test API Connection** button which allows you to confirm that the API communication to the Mikrotik is indeed working. | ||
- | * In the screenshot above you can se part of the reply from the Mikrotik indicating that the communication via the API is established and good. | + | * In the screenshot above you can see part of the reply from the Mikrotik indicating that the communication via the API is established and good. |
+ | * We also added a Mikrotik API button to the toolbar for RADIUS Clients. | ||
+ | {{: | ||
+ | |||
+ | * The button is disabled by default and becomes enabled when you select a RADIUS Client of type **Mikrotik-API**. | ||
+ | * Selecting it will open a new tab with two sub-tabs. One listing active **Hotspot** users and the other listing active **PPPoE** users. | ||
+ | * You can select and disconnect listed users in those sub-tabs. | ||
+ | {{: | ||
+ | |||
+ | ===== Add Support for additional types ===== | ||
+ | * This section is a technical section for those who wants to introduce new RADIUS Client types. | ||
+ | * The list in the drop-down is specified in the following file: /// | ||
+ | <code php> | ||
+ | //Define nas types | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | </ | ||
+ | * Then when selecting an active user in **Activity Monitor** to disconnect behind the scenes the code will determine the type of RADIUS | ||
+ | * This all happens inside the /// | ||
+ | * Thus adding support for additional types will involve adding additional sections to the PHP code. | ||
+ | * See the snippet below. | ||
+ | <code php> | ||
+ | //First we try to locate the client under dynamic_clients | ||
+ | $dc = $this-> | ||
+ | -> | ||
+ | -> | ||
+ | -> | ||
+ | |||
+ | if($dc){ | ||
+ | // | ||
+ | if($dc-> | ||
+ | |||
+ | //We have a convention of nasidentifier for meshdesk => mcp_< | ||
+ | if(preg_match('/ | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | if(preg_match('/ | ||
+ | $this-> | ||
+ | } | ||
+ | sleep(1); //Give MQTT time to do its thing.... | ||
+ | } | ||
+ | |||
+ | // | ||
+ | |||
+ | </ | ||
+ | * That's the only things involved in disconnecting an active RADIUS user. | ||
+ | * The FUP implementation also utilizes this mechanism so this also serve as a core component for the FUP implementation to be successful. | ||