====== Accel-ppp Support in RADIUSdesk ====== ===== Introduction ===== * As of November 2023, RADIUSdesk can centrally manage Accel-ppp on Ubuntu and Raspberry Pi based devices. * This is done by a lightweight agent that interacts with RADIUSdesk. * Each device now has the ability to be configured though a web applet on RADIUSdesk. * The agent also reports back to RADIUSdesk on the status of the service and any active sessions. * The following graphic shows how everything fits together. {{:technical:pppoe:acell-radiusdesk.jpg|}} ===== Accel-ppp Servers Applet ===== * The Accel-ppp Server applet can be found under the **Other** grouping. * It has three sub tabs * The **Servers** tab displays all of the Accel-ppp servers which are managed centrally. * The **Profiles** tab is used to define various profiles which are associated with one of more servers. * The **New Arrivals** lists Accel-ppp servers which reported to RADIUSdesk but which require on-boarding. ==== Profiles ==== * We will cover Profiles first although it is the second sub-tab since it is required to have a profile ready in order to define a server. * Profiles are used to manage the major part of the settings which will be applied to a server. * Settings are dynamically formulated in the reply when the RADISUdesk Accel-ppp agent contacts RADIUSdesk. * The settings for each Accel-ppp server can be divided into three categories. * **Common** settings which hardly differ between servers. (This is the bulk of them) * **Unique** settings which you might want to tweak should the need arise. * **Specific** settings which are required to differentiate one Accel-ppp server from another. === Common Settings (Base Configs) === * Common settings are stored inside a CakePHP config file. (///var/www/rdcore/cake4/rd_cake/config/AccelPresets.php//) * One can define various sets of these common settings, giving each a **unique name**. [ 'log_file', 'pppoe', 'auth_pap', 'radius', 'ippool', 'shaper', ], 'core' => [ 'log-error' => '/var/log/accel-ppp/core.log', 'thread-count' => 4, ], * We refer to them as **Base Configs**. * There is one already called **Default**. * The keys of these configs maps to sections of the **/etc/accel-ppp.conf** file. * Should you wish to add or modify these configs; it can be done by editing /var/www/rdcore/cake4/rd_cake/config/AccelPresets.php. * The various configs will then appear as a select-able Base Config list when managing profiles. * When one select a Base Config from the list; the values in the GUI are populated from the selected Base Config. * You can then edit those populated values so they are **unique** to the profile you are managing. * See screenshot below. {{:technical:pppoe:acell-profiles.png|}} === Unique Settings (Profiles) === * Profiles allow you to override certain values which were specified in the Base Config so that they become unique to that profile. * These include items which might need tweaking for certain environments. * Each of the sections inside the GUI maps to a section in the **/etc/accel-ppp.conf** file. === Specific Settings (Server) === * This is the final category and one that is specific to an Accel-ppp server in the applet. * An Accel-ppp server needs a mandatory Profile (Unique settings) and then two items which are specific. * **Interface** This is the interface name on the server where we want to run the PPPoE servie on. * **NAS Identifier** This is the specific identifier used to identify the Accel-ppp server on RADIUS. {{:technical:acell-specific.png|}} ==== Servers ==== * Although the Servers tab is first we started with the Profiles tab since we need to have a Profile available which we can associate with a server. * Each server has the following mandatory fields. * **Name** A unique name to identify the server with. * **MAC Address** This has to match the MAC Address of the interface on the device running Accel-ppp and is used as a identity field. * **Server Profile** This was covered earlier in this document. * **Interface** The name of the interface on which you plan to run the PPPoE service on (using Accel-ppp) * **NAS Identifier** Used to identify the server when interacting with the RADIUS server. === Servers GUI === {{:technical:pppoe:acell-server.png|}} * The screenshot above is from the Accel-ppp server applet. * Let's look at some key points * The Refresh button has an option to automatically refresh at fixed intervals. This is handy if you want to see when an Accel-ppp server comes online without having to hit the refresh button the whole time. * Next to it is a toggle button which allows you to see either all defined server or only those servers which are currently online. * The Add, Delete and Edit buttons should be self explanatory. * The **Restart Service** button is used to set the restart service flag on a selected server. * If it is set (indicated visually with a gears icon prepended to the name) and the next heartbeat arrives from the RADIUSdesk Accel-ppp agent. the agent will detect the flag and restart the Accel-ppp service. * The visual indication will also be cleared. * The final button is used to launch a new tab which will list all the active sessions. {{:technical:pppoe:acell-sessions.png|}} * The final button on the active sessions tab in turn will allow you to terminate selected sessions. * It works is a similar way to the **Restart Service** button for the server itself where a flag is set and there is a visual indication that a session is marked for disconnect until the next heartbeat where it will be cleared and the RADIUSdesk Accel-ppp agent will terminate the user's session. ==== New Arrivals ==== {{:technical:pppoe:acell-arrival.png|}} * Any of the Accel-ppp servers that still needs on-boarding will be listed under **New Arrivals**. * Simply select the one you want to on-board and provide the required information to allow it to become part of the managed servers. * Reboot the device after on-boarding and the configuration will be applied through the RADIUSdesk Accel-ppp agent. ==== Next Steps ==== * Be sure to check out the steps to follow on the Ubuntu or Raspberry Pi to install the RADIUSdesk Accel-ppp agent so it can be managed by RADIUSdesk.