RADIUSdesk

logo

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.