Thursday, December 7, 2023

Radiator first setup walkthrough

Radiator is a command line software which is controlled with a simple text file. The Radiator AAA reference manual and goodies directory contain a plethora of examples, but it might be daunting to find a good starting place.

Installing Radiator

Radiator runs on a wide range of platforms and there are platform specific installation packages as well as the full source code package available. Check out the installation instructions from Radiator AAA reference manual.

The manual lists various system requirements, but the absolute minimum that is needed for a simple initial setup are Radiator installation package, Radiator Radius::UtilXS add-on and Perl. Perl is usually included in the most common Unix distributions, and for Windows the Radiator MSI package contains all of these!

Running Radiator for the first time

Once Radiator is installed, it is time to see that Radiator can be run. The deb, RPM and MSI installation packages all install Radiator so that it is controlled by the system. On the Unix side by systemd and on Windows as service. By default the installation also brings a Radiator configuration that can be used to verify the installation, that is the configuration is capable of receiving RADIUS authentication and accounting requests from within the system and always responds with accept.

See how to start Radiator service and run the test from the installation instructions:

Developing own Radiator configuration

The default configuration available right after Radiator installation is not particularly useful, seeing as it always responds with accept. To develop a proper Radiator configuration, suitable to your needs, check out the goodies directory available in /opt/radiator/radiator/goodies/ on Linux and in \Radiator\Radiator\goodies\ on Windows. Note that on Windows Radiator is automatically installed on the drive that has most space, so the directory can be C:\Radiator\Radiator\goodies\ but it could also be E:\Radiator\Radiator\goodies\

Goodies contains full configuration examples, so when picking suitable starting point to your own configuration you can just copy the whole configuration from goodies as the default Radiator configuration /etc/radiator/radiator.conf on Linux or C:\Program Files\Radiator\radiator.conf on Windows. For example goodies/simple.cfg shows how to authenticate users from a file:

  1. Copy the goodies/simple.cfg as /etc/radiator/radiator.conf or as C:\Program Files\Radiator\radiator.conf
  2. The simple.cfg refers to users file, which is located to %D (check out more about special characters from this section of the reference manual)
  3. There is a default users file available in /opt/radiator/radiator/ on Linux and in \Radiator\Radiator\, which can be copied to /etc/radiator/ directory on Linux or C:\Program Files\Radiator\ on Windows.
  4. Have a look at the contents of the users to see the example users defined therein
  5. Now that the new configuration file and the file listing the users are on their place, it is time to restart Radiator so the new configuration is read: sudo systemctl start radiator on Linux and restart Radiator AAA Server service on Windows
  6. Whenever Radiator is restarted, it is a good practice to check out the Radiator log file in case there were any errors on the configuration. By default the log files are under /var/log/radiator/ on Linux or C:\Program Files\Radiator\ on Windows. Especially the Radiator process log file radiator.log should be checked as the possible errors could cause unexpected behavior or even leave Radiator unable to start.
  7. Test the configuration by running
    perl /opt/radiator/radiator/radpwtst -user mikem -password fred
    on Linux or on Windows:
    1. Click "Radiator Software" -> "Radiator configuration" on the Windows Start menu. This opens a Windows Explorer window that shows the contents of Radiator configuration and log directory under the "Program Files" folder.
    2. Double click "Perl command line" to open a Command Prompt window
    3. Run
      perl radpwtst -user mikem -password fred
  8. End result should be 3 OKs, as the radpwtst automatically sends one authentication request, one accounting start request and one accounting stop request.

Working with source code package

Although the recommended approach is to use the distribution specific Radiator packages, sometimes the source code package is the only option. The source code package can be unpackaged to any directory and it doesn’t automatically create any services. The simplest way to test the source code package is to run both Radiator server and radpwtst test from the command line.

  1. Take goodies/simple.cfg as starting point and copy it to one level up. Check the DbDir and DictionaryFile defined on the simple.cfg and edit both to point to the location where the source code package was extracted.
  2. Run radiusd from the command line:
    perl radiusd -foreground -log_stdout -trace 4 -config_file simple.cfg
  3. Leave the command line running so you can watch the logging, then open a second command line and run the test utility radpwtst:
    perl radpwtst -user mikem -password fred
    1. Have a look at the contents of the file called users to see the example users defined therein
  4. End result should be 3 OKs, as the radpwtst automatically sends one authentication request, one accounting start request and one accounting stop request.

All done!

You now have a basic Radiator installation and you are ready to start configuring Radiator your own use case. Check out these resources:

  • Radiator AAA reference manual
  • Configuration samples in Goodies directory included your distribution
  • Radiator Software FAQ

For any questions, please reach out to us at info(a)radiatorsoftware.com. We’re always ready to discuss your use case and how to implement it with Radiator!