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.
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.
<?php //Default settings for accel-ppp $config['AccelPresets']['Default'] = [ 'modules' => [ '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.
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.
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
- 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.
- 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
- 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.