Installer et configurer FreeRADIUS avec MySQL sur Ubuntu est une solution efficace pour créer une infrastructure d'authentification évolutive pour les réseaux de toutes tailles. La combinaison de l'un des serveurs Radius open source les plus populaires avec une base de données MySQL permet une gestion efficace des informations utilisateur, surveillance, et tenir des registres dans une structure fiable. Une telle solution est bénéfique pour les fournisseurs de services Internet, grandes entreprises, points chauds, ou toute organisation où une authentification centralisée des utilisateurs et des journaux sont requis. Cet article décrira le processus d'installation et de configuration étape par étape d'une telle pile dans la distribution Ubuntu..
Mettre à jour les packages serveur
Pour commencer le processus d'installation et de configuration de FreeRADIUS avec MySQL sur Ubuntu, il est important de vous assurer que votre système est entièrement à jour. Actualisez les listes de packages et mettez à niveau les logiciels existants pour éviter les problèmes de compatibilité lors de l'installation..
sudo apt update
sudo apt upgrade
Installer le serveur Web Apache2
Dans le cadre du flux de travail pour installer et configurer FreeRADIUS avec MySQL sur Ubuntu, vous aurez besoin d'un serveur Web fiable. Apache2 est un choix populaire grâce à sa stabilité et son large support, donc nous l'installons ensuite.
sudo apt -y install apache2

Hébergement Web WordPress
À partir de 3,99 $/mois
Installer PHP et les extensions requises
Pour une fonctionnalité correcte, surtout si vous envisagez d'utiliser des outils de gestion basés sur le Web, PHP et ses modules nécessaires doivent être installés. Cette étape garantit que votre environnement est prêt pour l'interaction avec la base de données et l'intégration Web pendant que vous installez et configurez FreeRADIUS avec MySQL sur Ubuntu..
sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}
Installer le serveur de base de données MySQL
Une base de données est essentielle pour stocker les informations d'identification des utilisateurs et les données comptables. Bien que MySQL soit utilisé dans ce guide, MariaDB peut aussi être une alternative. L'installation du serveur de base de données est une étape clé dans Installer et configurer FreeRADIUS avec MySQL sur Ubuntu.
sudo apt -y install mysql-server
Sécurisez et configurez MySQL
Après l'installation, il est nécessaire de sécuriser le serveur de base de données. Exécutez le script de sécurité intégré pour configurer les paramètres importants et supprimer les vulnérabilités par défaut.
sudo mysql_secure_installation
Serveur VPS pas cher
À partir de 2,99 $/mois
Lors de cette configuration, vous serez invité à choisir les paramètres de validation du mot de passe. Dans ce cas, sélectionner « Non » simplifie les choses pour la configuration initiale, ce qui signifie qu'aucun mot de passe root n'est appliqué par défaut (vous pourrez le configurer plus tard). Le script vous guidera ensuite à travers plusieurs options de sécurité.
Validation du mot de passe et invites de sécurité initiales
La section suivante explique les paramètres de stratégie de mot de passe et les recommandations générales en matière de sécurité des bases de données.. Pour la simplicité, ignorer le composant de validation:
Press y|Y for Yes, any other key for No: n
Supprimer les utilisateurs anonymes
Par défaut, MySQL inclut des utilisateurs anonymes à des fins de test. Ceux-ci doivent être supprimés pour améliorer la sécurité dans les environnements de production.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Restreindre l'accès à la connexion root
Pour renforcer encore la sécurité, il est recommandé d'empêcher les connexions root à distance. Cela garantit que seul l'accès local est autorisé pour les tâches administratives.
Hébergement VPS Windows
Remote Access & Full Admin
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Supprimer la base de données de test par défaut
Pendant que vous poursuivez le processus d'installation et de configuration de FreeRADIUS avec MySQL sur Ubuntu, il est important d’éliminer les composants inutiles. MySQL inclut une base de données par défaut appelée test qui est accessible à tous les utilisateurs et destinée uniquement aux tests.. Le conserver dans un environnement de production est un risque pour la sécurité, donc il faudrait le supprimer.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Appliquer les modifications en rechargeant les privilèges
Après avoir apporté des modifications structurelles à MySQL, vous devez recharger les tables de privilèges pour que les mises à jour prennent effet immédiatement. Il s'agit d'une étape critique lorsque vous installez et configurez FreeRADIUS avec MySQL sur Ubuntu, car les autorisations doivent être exactes dès le départ..
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
À ce point, la configuration MySQL est terminée et prête pour l'intégration.
Installer les packages FreeRADIUS
Nous passons maintenant à l'installation de FreeRADIUS avec son module MySQL et ses outils utilitaires.. Cette étape est au cœur du workflow Installer et configurer FreeRADIUS avec MySQL sur Ubuntu..
sudo apt -y install freeradius freeradius-mysql freeradius-utils -y
Tester l'installation de FreeRADIUS
Avant d'effectuer des configurations, il est judicieux de vérifier que FreeRADIUS fonctionne correctement. D'abord, arrêter le service:
sudo systemctl stop freeradius
Puis démarrez-le en mode débogage. Cela vous permet de voir les journaux en temps réel, qui sont extrêmement utiles pour le dépannage lors du processus d'installation et de configuration de FreeRADIUS avec MySQL sur Ubuntu.
sudo freeradius -X
Si tout fonctionne correctement, vous verrez une sortie similaire à celle-ci:
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on proxy address * port 33201
Listening on proxy address :: port 59970
Ready to process requests

Configurer MySQL pour FreeRADIUS
Suivant, nous préparons la base de données spécifiquement pour FreeRADIUS. Puisqu'aucun mot de passe root n'a été défini précédemment, appuyez simplement sur Entrée lorsque vous y êtes invité.
sudo mysql -u root -p
Dans MySQL, créer la base de données et l'utilisateur. Ces informations d'identification seront ensuite utilisées par FreeRADIUS. Cette étape est un élément clé pour réussir l'installation et la configuration de FreeRADIUS avec MySQL sur Ubuntu..
CREATE DATABASE radius;
CREATE USER 'radius'@'localhost' IDENTIFIED by 'helloworld123';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
FLUSH PRIVILEGES;
quit;
Passer à l'utilisateur racine
Pour les prochaines étapes de configuration, vous aurez besoin d'un accès au niveau root. Basculez vers l'utilisateur root avec la commande suivante:
sudo su -
Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Importer le schéma de base de données
Pour commencer, vous devez charger la structure de base de données requise pour FreeRADIUS dans la base de données que vous avez créée précédemment. Cela garantit que toutes les tables nécessaires sont prêtes à l'emploi.
mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Activer le module SQL
Suivant, créer un lien symbolique pour activer le module SQL en liant la configuration disponible au répertoire activé:
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Modifier la configuration SQL
Maintenant, c'est’Il est temps de modifier le fichier de configuration SQL. Ouvrez-le à l'aide de l'éditeur nano. Vous pouvez effectuer une recherche à l'intérieur du fichier en utilisant Ctrl + W ou naviguez à l'aide des touches fléchées:
sudo nano /etc/freeradius/3.0/mods-enabled/sql
Localisez le driver paramètre et faites-le passer du pilote nul par défaut au pilote de dialecte SQL. Commentez la première ligne et activez la seconde:
driver = "rlm_sql_null"# driver = "rlm_sql_${dialect}"
Après édition, ça devrait apparaître comme ça:
# driver = "rlm_sql_null" driver = "rlm_sql_${dialect}"
Installez et configurez FreeRADIUS avec MySQL sur Ubuntu - Définir MySQL comme dialecte
Recherchez l'option de dialecte et changez-la de SQLite à MySQL:
dialect = "sqlite" dialect = "mysql"
Configurer la section TLS pour la connexion MySQL
Rechercher le mysql { bloquer puis le tls { sous-section. Désactivez toutes les lignes liées à TLS en les commentant, à l'exception du warnings = auto ligne qui doit rester active:
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
}
Après avoir apporté des modifications, ça devrait ressembler à ça:
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
}
Configurer les détails de connexion à la base de données
Enfin, faites défiler jusqu'à la section des paramètres de connexion. Supprimez les symboles de commentaire (#) et mettez à jour les informations d'identification en fonction de ce que vous avez défini lors de la création d'une base de données:
# Connection info:
#
# server = "localhost"
# port = 3306
# login = "radius"
# password = "radpass"
Modifiez-le comme ceci (remplacez le mot de passe par votre mot de passe actuel):
# Connection info:
#
server = "localhost"
port = 3306
login = "radius"
password = "helloworld123"
Installer et configurer FreeRADIUS avec MySQL sur Ubuntu – Configuration du nom de base de données
A ce stade, vous devez vérifier le nom de la base de données utilisé par FreeRADIUS. Étant donné que le nom de la base de données par défaut a été utilisé lors de l'installation, il n'est pas nécessaire de le modifier ici.
radius_db = "radius"
Activer la lecture client
Suivant, localisez l'option read_clients dans le fichier de configuration. Ce paramètre permet à FreeRADIUS de charger les appareils clients directement depuis la base de données. Supprimez simplement le symbole de commentaire (#) pour l'activer.
# read_clients = yes
read_clients = yes
Configuration des tables clients
Par défaut, FreeRADIUS utilise la table nas pour stocker les informations sur le périphérique client (tels que des routeurs ou des points d'accès comme MikroTik). Si vous envisagez d'utiliser un nom de table différent, vous pouvez l'ajuster ici.
client_table = "nas"
Installez et configurez FreeRADIUS avec MySQL sur Ubuntu - Définir les autorisations et redémarrer le service
Avant de finir, assurez-vous que les autorisations correctes sont appliquées aux fichiers de configuration SQL. Cela garantit que FreeRADIUS peut y accéder et les utiliser correctement..
sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Enfin, redémarrez le service FreeRADIUS pour appliquer toutes les modifications que vous avez apportées:
sudo systemctl restart freeradius.service
installer et configurer FreeRADIUS avec MySQL sur Ubuntu
Dans ce guide, nous avons expliqué l'installation et la configuration de FreeRADIUS avec MySQL sur Ubuntu, créer un système d'authentification puissant et évolutif. En intégrant MySQL, vous obtenez un meilleur contrôle sur la gestion des utilisateurs, comptabilité, et le stockage des données par rapport aux configurations de fichiers plats. Nous avons couvert l'installation des packages, configuration de la base de données, importation de schéma, et configuration appropriée de FreeRADIUS pour communiquer avec MySQL. Les étapes de test et de dépannage garantissent que tout se passe bien. Dans l'ensemble, cette configuration est idéale pour les environnements qui nécessitent une authentification centralisée, comme les FAI, réseaux d'entreprise, ou systèmes de points d'accès, offrant de la flexibilité, fiabilité, et une maintenance à long terme plus facile pour les infrastructures en croissance.
