Installeer en configureer FreeRADIUS met MySQL op Ubuntu is een effectieve oplossing om een schaalbare authenticatie-infrastructuur te creëren voor netwerken van elke omvang. De combinatie van een van de populairste open source-gebaseerde Radius-servers met een MySQL-database zorgt voor efficiënt beheer van gebruikersinformatie, toezicht houden, en het bijhouden van gegevens in een betrouwbare structuur. Een dergelijke oplossing is gunstig voor internetproviders, grote bedrijven, hotspots, of elke organisatie waar gecentraliseerde gebruikersauthenticatie en logbestanden vereist zijn. Dit artikel beschrijft het stapsgewijze installatie- en configuratieproces van een dergelijke stapel in Ubuntu-distributie.
Update de serverpakketten
Om het proces van het installeren en configureren van FreeRADIUS met MySQL op Ubuntu te starten, het is belangrijk om ervoor te zorgen dat uw systeem volledig up-to-date is. Vernieuw de pakketlijsten en upgrade bestaande software om compatibiliteitsproblemen tijdens de installatie te voorkomen.
sudo apt update
sudo apt upgrade
Installeer Apache2-webserver
Als onderdeel van de workflow voor het installeren en configureren van FreeRADIUS met MySQL op Ubuntu, je hebt een betrouwbare webserver nodig. Apache2 is een populaire keuze dankzij de stabiliteit en brede ondersteuning, dus we installeren het vervolgens.
sudo apt -y install apache2

WordPress-webhosting
Vanaf $ 3,99/maandelijks
Installeer PHP en de vereiste extensies
Voor een goede functionaliteit, vooral als u van plan bent webgebaseerde beheertools te gebruiken, PHP en de benodigde modules moeten geïnstalleerd zijn. Deze stap zorgt ervoor dat uw omgeving klaar is voor database-interactie en webintegratie terwijl u FreeRADIUS installeert en configureert met MySQL op Ubuntu.
sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}
Installeer MySQL-databaseserver
Een database is essentieel voor het opslaan van gebruikersgegevens en boekhoudgegevens. Hoewel MySQL in deze handleiding wordt gebruikt, MariaDB kan ook een alternatief zijn. Het installeren van de databaseserver is een belangrijke stap bij het installeren en configureren van FreeRADIUS met MySQL op Ubuntu.
sudo apt -y install mysql-server
Beveilig en configureer MySQL
Na installatie, het is noodzakelijk om de databaseserver te beveiligen. Voer het ingebouwde beveiligingsscript uit om belangrijke instellingen te configureren en standaardkwetsbaarheden te verwijderen.
sudo mysql_secure_installation
Goedkope VPS-server
Vanaf $ 2,99/maandelijks
Tijdens deze opstelling, u wordt gevraagd om instellingen voor wachtwoordvalidatie te kiezen. In dit geval, Door “Nee” te selecteren, blijft het eenvoudig bij de eerste installatie, wat betekent dat er standaard geen root-wachtwoord wordt afgedwongen (u kunt het later configureren). Het script leidt u vervolgens door verschillende beveiligingsopties.
Wachtwoordvalidatie en initiële beveiligingsvragen
In het volgende gedeelte worden de wachtwoordbeleidsinstellingen en algemene aanbevelingen voor databasebeveiliging uitgelegd. Voor eenvoud, sla de validatiecomponent over:
Press y|Y for Yes, any other key for No: n
Anonieme gebruikers verwijderen
Standaard, MySQL omvat anonieme gebruikers voor testdoeleinden. Deze moeten worden verwijderd om de veiligheid in productieomgevingen te verbeteren.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Beperk root-inlogtoegang
Om de veiligheid verder te vergroten, het wordt aanbevolen om root-aanmeldingen op afstand te voorkomen. Dit zorgt ervoor dat alleen lokale toegang is toegestaan voor administratieve taken.
Windows VPS-hosting
Remote Access & Full Admin
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Verwijder de standaardtestdatabase
Terwijl u doorgaat met het installeren en configureren van FreeRADIUS met MySQL op Ubuntu, het is belangrijk om onnodige componenten te elimineren. MySQL bevat een standaarddatabase genaamd test die toegankelijk is voor alle gebruikers en alleen bedoeld is om te testen. Het in een productieomgeving bewaren is een veiligheidsrisico, dus het moet verwijderd worden.
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.
Pas wijzigingen toe door rechten opnieuw te laden
Na het aanbrengen van structurele wijzigingen in MySQL, u moet de privilegetabellen opnieuw laden, zodat de updates onmiddellijk van kracht worden. Dit is een cruciale stap wanneer u FreeRADIUS met MySQL op Ubuntu installeert en configureert, omdat de machtigingen vanaf het begin nauwkeurig moeten zijn.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
Op dit punt, de MySQL-installatie is voltooid en klaar voor integratie.
Installeer FreeRADIUS-pakketten
Nu gaan we verder met het installeren van FreeRADIUS samen met de MySQL-module en hulpprogramma's. Deze stap vormt de kern van de workflow voor het installeren en configureren van FreeRADIUS met MySQL op Ubuntu.
sudo apt -y install freeradius freeradius-mysql freeradius-utils -y
Test de FreeRADIUS-installatie
Voordat u configuraties maakt, het is slim om te controleren of FreeRADIUS correct werkt. Eerst, de dienst stopzetten:
sudo systemctl stop freeradius
Start het vervolgens in de foutopsporingsmodus. Hierdoor kunt u realtime logboeken bekijken, die uiterst handig zijn voor het oplossen van problemen tijdens het installeren en configureren van FreeRADIUS met MySQL op Ubuntu-proces.
sudo freeradius -X
Als alles naar behoren werkt, je zult een soortgelijke uitvoer zien als deze:
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

Configureer MySQL voor FreeRADIUS
Volgende, we bereiden de database specifiek voor FreeRADIUS voor. Omdat er eerder geen root-wachtwoord was ingesteld, druk gewoon op Enter wanneer daarom wordt gevraagd.
sudo mysql -u root -p
Binnen MySQL, maak de database en de gebruiker aan. Deze inloggegevens zullen later door FreeRADIUS worden gebruikt. Deze stap is een belangrijk onderdeel van het succesvol voltooien van de installatie en configuratie van FreeRADIUS met MySQL op Ubuntu.
CREATE DATABASE radius;
CREATE USER 'radius'@'localhost' IDENTIFIED by 'helloworld123';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
FLUSH PRIVILEGES;
quit;
Schakel over naar rootgebruiker
Voor de volgende configuratiestappen, je hebt toegang op rootniveau nodig. Schakel over naar de rootgebruiker met de volgende opdracht:
sudo su -
Installeer en configureer FreeRADIUS met MySQL op Ubuntu – Databaseschema importeren
Om te beginnen, u moet de vereiste databasestructuur voor FreeRADIUS laden in de database die u eerder hebt gemaakt. Hierdoor zijn alle benodigde tafels klaar voor gebruik.
mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Installeer en configureer FreeRADIUS met MySQL op Ubuntu – Schakel SQL-module in
Volgende, maak een symbolische link om de SQL-module te activeren door de beschikbare configuratie aan de ingeschakelde map te koppelen:
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Installeer en configureer FreeRADIUS met MySQL op Ubuntu – Bewerk SQL-configuratie
Nu is het tijd om het SQL-configuratiebestand te wijzigen. Open het met de nano-editor. U kunt in het bestand zoeken met behulp van Ctrl + W of navigeer met de pijltjestoetsen:
sudo nano /etc/freeradius/3.0/mods-enabled/sql
Zoek de driver instelling en schakel deze over van het standaard nulstuurprogramma naar het SQL-dialectstuurprogramma. Geef commentaar op de eerste regel en activeer de tweede:
driver = "rlm_sql_null"# driver = "rlm_sql_${dialect}"
Na bewerking, het zou er zo uit moeten zien:
# driver = "rlm_sql_null" driver = "rlm_sql_${dialect}"
Installeer en configureer FreeRADIUS met MySQL op Ubuntu – Stel MySQL in als dialect
Zoek de dialectoptie en verander deze van SQLite in MySQL:
dialect = "sqlite" dialect = "mysql"
Configureer de TLS-sectie voor MySQL-verbinding
Zoek naar de mysql { blok en dan de tls { onderafdeling. Schakel alle TLS-gerelateerde regels uit door er commentaar op te geven, behalve de warnings = auto lijn die actief moet blijven:
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
}
Na het aanbrengen van wijzigingen, het zou er zo uit moeten zien:
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
}
Configureer databaseverbindingsdetails
Eindelijk, scroll omlaag naar het gedeelte met verbindingsinstellingen. Verwijder de commentaarsymbolen (#) en update de inloggegevens op basis van wat u hebt gedefinieerd bij het maken van een database:
# Connection info:
#
# server = "localhost"
# port = 3306
# login = "radius"
# password = "radpass"
Pas het zo aan (vervang het wachtwoord door uw werkelijke wachtwoord):
# Connection info:
#
server = "localhost"
port = 3306
login = "radius"
password = "helloworld123"
Installeer en configureer FreeRADIUS met MySQL op Ubuntu – Databasenaamconfiguratie
In dit stadium, u moet de databasenaam verifiëren die door FreeRADIUS wordt gebruikt. Omdat tijdens de installatie de standaarddatabasenaam werd gebruikt, het is niet nodig om het hier te wijzigen.
radius_db = "radius"
Schakel Klantlezen in
Volgende, zoek de read_clients optie in het configuratiebestand. Met deze instelling kan FreeRADIUS clientapparaten rechtstreeks vanuit de database laden. Verwijder eenvoudigweg het commentaarsymbool (#) om het te activeren.
# read_clients = yes
read_clients = yes
Configuratie van de clienttabel
Standaard, FreeRADIUS gebruikt de nas-tabel om clientapparaatinformatie op te slaan (zoals routers of toegangspunten zoals MikroTik). Als u van plan bent een andere tabelnaam te gebruiken, je kunt het hier aanpassen.
client_table = "nas"
Installeer en configureer FreeRADIUS met MySQL op Ubuntu – Stel machtigingen in en start de service opnieuw
Voordat u klaar bent, zorg ervoor dat de juiste machtigingen worden toegepast op de SQL-configuratiebestanden. Dit zorgt ervoor dat FreeRADIUS deze op de juiste manier kan openen en gebruiken.
sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Eindelijk, start de FreeRADIUS-service opnieuw om alle aangebrachte wijzigingen toe te passen:
sudo systemctl restart freeradius.service
FreeRADIUS installeren en configureren met MySQL op Ubuntu
In deze gids, we hebben de installatie en configuratie van FreeRADIUS met MySQL op Ubuntu doorlopen, het creëren van een krachtig en schaalbaar authenticatiesysteem. Door MySQL te integreren, u krijgt betere controle over het gebruikersbeheer, boekhouding, en gegevensopslag vergeleken met configuraties met platte bestanden. We hebben de pakketinstallatie behandeld, database-instelling, schema importeren, en juiste configuratie van FreeRADIUS om met MySQL te communiceren. Test- en probleemoplossingsstappen zorgen ervoor dat alles soepel verloopt. Algemeen, deze opstelling is ideaal voor omgevingen die gecentraliseerde authenticatie vereisen, zoals ISP’s, bedrijfsnetwerken, of hotspot-systemen, flexibiliteit bieden, betrouwbaarheid, en eenvoudiger onderhoud op lange termijn voor groeiende infrastructuren.