We are committed to provide service 24 X 7

Deals, Shopping, Training, Tools

Learn how to – Install FreeRADIUS and Daloradius on Ubuntu 22.04/20.04/18.04

Learn how to – Install FreeRADIUS and Daloradius on Ubuntu 22.04/20.04/18.04.

This guide is to help you install FreeRADIUS and Daloradius on Ubuntu 22.04/20.04/18.04 LTS servers. Our recent guide on FreeRADIUS was for how to Install FreeRADIUS and Daloradius on CentOS 7 and RHEL 7. FreeRADIUS is an open source, high-performance, modular, scalable and feature-rich RADIUS server. It ships with both server and radius client, development libraries and numerous additional RADIUS related utilities.

FreeRADIUS supports request proxying, with fail-over and load balancing, as well as the ability to access many types of back-end databases.

RADIUS, which stands for “Remote Authentication Dial-In User Service“, is a network protocol used for remote user authentication and accounting. It provides AAA services; namely Authorization, Authentication, and Accounting.

Features of FreeRADIUS

  • Flexible Configuration through a wide range of methods to select user configurations.
  • Complete support for RFC 2865 and RFC 2866 attributes.
  • EAP with EAP-MD5, EAP-SIM, EAP-TLS, EAP-TTLS, EAP-PEAP, and Cisco LEAP EAP sub-types
  • Vendor Specific Attributes for almost one hundred vendors, including BinTec, Foundry, Cisco, Juniper, Lucent/Ascend, HP ProCurve, Microsoft, USR/3Com, Acc/Newbridge and many more.

What is daloRADIUS?

On the other side, daloRADIUS is an advanced RADIUS web management platform written in PHP and JavaScript. It is mainly aimed at managing Hotspots and general-purpose ISP deployments powered by FreeRADIUS server. Some good features of daloRADIUS include:

  • Has a database abstraction layer with support for many database systems – MySQL, SQLite, PostgreSQL, MsSQL and Oracle
  • Advanced user management
  • Powerful graphical reporting and accounting
  • Integrates with GoogleMaps for geo-location
  • Has a  billing engine

Install FreeRADIUS and Daloradius on Ubuntu 22.04/20.04/18.04

Start by updating your system packages to the latest version:

sudo apt update
sudo apt -y upgrade

Reboot system after doing an upgrade

sudo reboot

Once the system is up, begin the installation FreeRADIUS and Daloradius on your Ubuntu22.04/20.04/18.04 system.

Step 1: Install Apache Web Server and PHP

Daloradius will require php and Apache web server to be installed on the host system.

Install Apache web server by running:

sudo apt -y install apache2

For installation of PHP on Ubuntu22.04/20.04/18.04, run:

sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}

Check the version of php installed:

# Ubuntu 22.04
$ php -v
PHP 8.0.8 (cli) (built: Sep 11 2021 04:17:39) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.8, Copyright (c), by Zend Technologies

# Ubuntu 20.04
$ php -v
PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Step 2: Install MariaDB and Create a database

Next is to install the MariaDB server and create a database for daloRADIUS:

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

Once installed and running, create a database for FreeRADIUS, this will be used at a later stage.

database name: radius
database user: radius
database user password: Str0ngR@diusPass

If you have a dedicated database server, replace localhost with the IP of source FreeRADIUS Server.

$ sudo mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "Str0ngR@diusPass";
FLUSH PRIVILEGES;
QUIT

Step 3: Install and Configure FreeRADIUS

You can view versions of freeradius available in your Ubuntu:

$ sudo apt policy freeradius
freeradius:
  Installed: 3.0.21+dfsg-3
  Candidate: 3.0.21+dfsg-3
  Version table:
 *** 3.0.21+dfsg-3 500
        500 http://ke.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status

Install FreeRadius packages from official Ubuntu APT repository with the commands below:

sudo apt -y install freeradius freeradius-mysql freeradius-utils

Among the packages installed are mysql module and utils package.

Import the freeradius MySQL database scheme:

sudo su -
mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

Check tables created:

$ sudo  mysql -u root -p -e "use radius;show tables;"
Enter password: 
+------------------+
| Tables_in_radius |
+------------------+
| nas              |
| radacct          |
| radcheck         |
| radgroupcheck    |
| radgroupreply    |
| radpostauth      |
| radreply         |
| radusergroup     |
+------------------+

Create a soft link for sql module under /etc/freeradius/3.0/mods-enabled/

sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

Configure SQL module and change the database connection parameters to suit your environment.

sudo vim /etc/freeradius/3.0/mods-enabled/sql

Your sql section should look similar to below.

sql {
driver = "rlm_sql_mysql"
dialect = "mysql"

# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "Str0ngR@diusPass"

# Database table configuration for everything except Oracle
radius_db = "radius"
}

# Set to ‘yes’ to read radius clients from the database (‘nas’ table)
# Clients will ONLY be read on server startup.
read_clients = yes

# Table to keep radius client info
client_table = "nas"

Comment SSL sections in mysql

        mysql {
                # If any of the files below are set, TLS encryption is enabled
#               tls {
#                       ca_file = "/etc/ssl/certs/my_ca.crt"
#                       ca_path = "/etc/ssl/certs/"
#                       certificate_file = "/etc/ssl/certs/private/client.crt"
#                       private_key_file = "/etc/ssl/certs/private/client.key"
#                       cipher = "DHE-RSA-AES256-SHA:AES128-SHA"
#
#                       tls_required = yes
#                       tls_check_cert = no
#                       tls_check_cert_cn = no
#               }

                # If yes, (or auto and libmysqlclient reports warnings are
                # available), will retrieve and log additional warnings from
                # the server if an error has occured. Defaults to 'auto'
                warnings = auto
        }

Then change group right of /etc/freeradius/3.0/mods-enabled/sql

sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

Restart freeradius service:

sudo systemctl restart freeradius.service

Step 5: Install and Configure Daloradius

We need to install Daloradius to get FreeRADIUS web administration interface.

sudo apt -y install wget unzip
wget https://github.com/lirantal/daloradius/archive/master.zip
unzip master.zip
mv daloradius-master daloradius

Change directory for configuration:

cd daloradius

Configuring daloradius

  • Now import Daloradius mysql tables
sudo mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql 
sudo mysql -u root -p radius < contrib/db/mysql-daloradius.sql
  • Configure daloRADIUS database connection details:
cd ..
sudo mv daloradius /var/www/html/

Then change permissions for http folder and set the right permissions for the daloradius configuration file.

sudo mv /var/www/html/daloradius/library/daloradius.conf.php.sample /var/www/html/daloradius/library/daloradius.conf.php
sudo chown -R www-data:www-data /var/www/html/daloradius/
sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

You should now modify the filedaloradius.conf.php to adjust the MySQL database information. Open the daloradius.conf.php and add the database username, password and db name.

sudo vim /var/www/html/daloradius/library/daloradius.conf.php

Especially relevant variables to configure are:

$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'Str0ngR@diusPass';
$configValues['CONFIG_DB_NAME'] = 'radius';

To be sure everything works, restart freeradius and apache2

sudo systemctl restart freeradius.service apache2

Open Admin link using your system IP address or domain name:

http://ip-address/daloradius/login.php

A page like this will appear:

Default login details are:

Username: administrator
Password: radius

Change the password after first login.

Read more on daloRADIUS Configurations

Tags:

  • install FreeRADIUS on Ubuntu 22.04/20.04/18.04
  • install FreeRADIUS and Daloradius on Ubuntu 22.04/20.04/18.04
  • Ubuntu 20.04/18.04 FreeRADIUS and Daloradius  installation

Installation on other operating systems.

17
507.799,70