Die Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu ist eine effektive Lösung zum Erstellen einer skalierbaren Authentifizierungsinfrastruktur für Netzwerke jeder Größe. Die Kombination eines der beliebtesten Open-Source-basierten Radius-Server mit einer MySQL-Datenbank ermöglicht eine effiziente Verwaltung von Benutzerinformationen, Überwachung, und Aufzeichnungen in einer zuverlässigen Struktur zu führen. Eine solche Lösung ist für Internetdienstanbieter von Vorteil, große Konzerne, Hotspots, oder jede Organisation, in der eine zentralisierte Benutzerauthentifizierung und Protokolle erforderlich sind. In diesem Artikel wird der Installations- und Konfigurationsprozess eines solchen Stacks in der Ubuntu-Distribution Schritt für Schritt beschrieben.
Aktualisieren Sie die Serverpakete
Um mit der Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu zu beginnen, Es ist wichtig, sicherzustellen, dass Ihr System vollständig auf dem neuesten Stand ist. Aktualisieren Sie die Paketlisten und aktualisieren Sie vorhandene Software, um Kompatibilitätsprobleme während der Installation zu vermeiden.
sudo apt update
sudo apt upgrade
Installieren Sie den Apache2-Webserver
Als Teil des Workflows zur Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu, Sie benötigen einen zuverlässigen Webserver. Apache2 ist aufgrund seiner Stabilität und breiten Unterstützung eine beliebte Wahl, Also installieren wir es als nächstes.
sudo apt -y install apache2

WordPress-Webhosting
Ab 3,99 $/Monat
Installieren Sie PHP und erforderliche Erweiterungen
Für einwandfreie Funktionalität, insbesondere, wenn Sie webbasierte Verwaltungstools verwenden möchten, PHP und seine notwendigen Module müssen installiert sein. Dieser Schritt stellt sicher, dass Ihre Umgebung für die Datenbankinteraktion und Webintegration bereit ist, während Sie FreeRADIUS mit MySQL unter Ubuntu installieren und konfigurieren.
sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl}
Installieren Sie den MySQL-Datenbankserver
Eine Datenbank ist für die Speicherung von Benutzeranmeldeinformationen und Buchhaltungsdaten unerlässlich. Während in diesem Handbuch MySQL verwendet wird, Auch MariaDB kann eine Alternative sein. Die Installation des Datenbankservers ist ein wichtiger Schritt bei der Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu.
sudo apt -y install mysql-server
Sichern und konfigurieren Sie MySQL
Nach der Installation, Es ist notwendig, den Datenbankserver zu sichern. Führen Sie das integrierte Sicherheitsskript aus, um wichtige Einstellungen zu konfigurieren und Standardschwachstellen zu beseitigen.
sudo mysql_secure_installation
Günstiger VPS-Server
Ab 2,99 $/Monat
Während dieser Einrichtung, Sie werden aufgefordert, Einstellungen für die Passwortvalidierung auszuwählen. In diesem Fall, Wenn Sie „Nein“ wählen, ist die Ersteinrichtung einfacher, Das bedeutet, dass standardmäßig kein Root-Passwort erzwungen wird (Sie können es später konfigurieren). Das Skript führt Sie dann durch verschiedene Sicherheitsoptionen.
Passwortvalidierung und erste Sicherheitsabfragen
Im folgenden Abschnitt werden Kennwortrichtlinieneinstellungen und allgemeine Empfehlungen zur Datenbanksicherheit erläutert. Der Einfachheit halber, Überspringen Sie die Validierungskomponente:
Press y|Y for Yes, any other key for No: n
Entfernen Sie anonyme Benutzer
Standardmäßig, MySQL schließt zu Testzwecken anonyme Benutzer ein. Diese sollten entfernt werden, um die Sicherheit in Produktionsumgebungen zu verbessern.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Beschränken Sie den Root-Anmeldezugriff
Um die Sicherheit weiter zu erhöhen, Es wird empfohlen, Remote-Root-Anmeldungen zu verhindern. Dadurch wird sichergestellt, dass für Verwaltungsaufgaben nur lokaler Zugriff zulässig ist.
Windows VPS-Hosting
Remote Access & Full Admin
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Entfernen Sie die Standardtestdatenbank
Während Sie mit der Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu fortfahren, Es ist wichtig, unnötige Komponenten zu eliminieren. MySQL enthält eine Standarddatenbank namens test, die allen Benutzern zugänglich ist und nur zu Testzwecken gedacht ist. Die Aufbewahrung in einer Produktionsumgebung stellt ein Sicherheitsrisiko dar, also sollte es entfernt werden.
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.
Übernehmen Sie Änderungen, indem Sie Berechtigungen neu laden
Nach strukturellen Änderungen an MySQL, Sie müssen die Berechtigungstabellen neu laden, damit die Aktualisierungen sofort wirksam werden. Dies ist ein wichtiger Schritt bei der Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu, da die Berechtigungen von Anfang an korrekt sein müssen.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
An dieser Stelle, Das MySQL-Setup ist vollständig und bereit zur Integration.
Installieren Sie FreeRADIUS-Pakete
Jetzt fahren wir mit der Installation von FreeRADIUS zusammen mit seinem MySQL-Modul und den Hilfsprogrammen fort. Dieser Schritt ist der Kern des Workflows „FreeRADIUS mit MySQL unter Ubuntu installieren und konfigurieren“..
sudo apt -y install freeradius freeradius-mysql freeradius-utils -y
Testen Sie die FreeRADIUS-Installation
Bevor Sie Konfigurationen vornehmen, Es ist sinnvoll zu überprüfen, ob FreeRADIUS ordnungsgemäß funktioniert. Erste, Stoppen Sie den Dienst:
sudo systemctl stop freeradius
Starten Sie es dann im Debug-Modus. Dadurch können Sie Echtzeitprotokolle einsehen, Diese sind äußerst nützlich für die Fehlerbehebung während der Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu.
sudo freeradius -X
Wenn alles richtig funktioniert, Sie werden eine ähnliche Ausgabe sehen:
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

Konfigurieren Sie MySQL für FreeRADIUS
Nächste, Wir bereiten die Datenbank speziell für FreeRADIUS vor. Da zuvor kein Root-Passwort festgelegt wurde, Drücken Sie einfach die Eingabetaste, wenn Sie dazu aufgefordert werden.
sudo mysql -u root -p
In MySQL, Erstellen Sie die Datenbank und den Benutzer. Diese Anmeldeinformationen werden später von FreeRADIUS verwendet. Dieser Schritt ist ein wichtiger Teil des erfolgreichen Abschlusses der Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu.
CREATE DATABASE radius;
CREATE USER 'radius'@'localhost' IDENTIFIED by 'helloworld123';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
FLUSH PRIVILEGES;
quit;
Wechseln Sie zum Root-Benutzer
Für die nächsten Konfigurationsschritte, Sie benötigen Root-Zugriff. Wechseln Sie mit dem folgenden Befehl zum Root-Benutzer:
sudo su -
Installieren und konfigurieren Sie FreeRADIUS mit MySQL unter Ubuntu – Datenbankschema importieren
Um zu beginnen, Sie müssen die erforderliche Datenbankstruktur für FreeRADIUS in die zuvor erstellte Datenbank laden. Dadurch wird sichergestellt, dass alle notwendigen Tische einsatzbereit sind.
mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Installieren und konfigurieren Sie FreeRADIUS mit MySQL unter Ubuntu – Aktivieren Sie das SQL-Modul
Nächste, Erstellen Sie einen symbolischen Link, um das SQL-Modul zu aktivieren, indem Sie die verfügbare Konfiguration mit dem aktivierten Verzeichnis verknüpfen:
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Installieren und konfigurieren Sie FreeRADIUS mit MySQL unter Ubuntu – Bearbeiten Sie die SQL-Konfiguration
Jetzt ist es an der Zeit, die SQL-Konfigurationsdatei zu ändern. Öffnen Sie es mit dem Nano-Editor. Sie können mit in der Datei suchen Ctrl + W oder navigieren Sie mit den Pfeiltasten:
sudo nano /etc/freeradius/3.0/mods-enabled/sql
Suchen Sie die driver Einstellung und wechseln Sie vom Standard-Null-Treiber zum SQL-Dialekttreiber. Kommentieren Sie die erste Zeile aus und aktivieren Sie die zweite:
driver = "rlm_sql_null"# driver = "rlm_sql_${dialect}"
Nach der Bearbeitung, es sollte so aussehen:
# driver = "rlm_sql_null" driver = "rlm_sql_${dialect}"
Installieren und konfigurieren Sie FreeRADIUS mit MySQL unter Ubuntu – Stellen Sie MySQL als Dialekt ein
Suchen Sie die Dialektoption und ändern Sie sie von SQLite in MySQL:
dialect = "sqlite" dialect = "mysql"
Konfigurieren Sie den TLS-Abschnitt für die MySQL-Verbindung
Suchen Sie nach dem mysql { blockieren und dann die tls { Unterabschnitt. Deaktivieren Sie alle TLS-bezogenen Zeilen, indem Sie sie auskommentieren, außer dem warnings = auto Linie, die aktiv bleiben soll:
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
}
Nachdem Änderungen vorgenommen wurden, es sollte so aussehen:
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
}
Konfigurieren Sie die Datenbankverbindungsdetails
Endlich, Scrollen Sie nach unten zum Abschnitt „Verbindungseinstellungen“.. Entfernen Sie die Kommentarsymbole (#) und aktualisieren Sie die Anmeldeinformationen basierend auf dem, was Sie beim Erstellen einer Datenbank definiert haben:
# Connection info:
#
# server = "localhost"
# port = 3306
# login = "radius"
# password = "radpass"
Ändern Sie es so (Ersetzen Sie das Passwort durch Ihr tatsächliches):
# Connection info:
#
server = "localhost"
port = 3306
login = "radius"
password = "helloworld123"
Installieren und konfigurieren Sie FreeRADIUS mit MySQL unter Ubuntu – Datenbanknamenkonfiguration
In diesem Stadium, Sie müssen den von FreeRADIUS verwendeten Datenbanknamen überprüfen. Da beim Setup der Standarddatenbankname verwendet wurde, Es besteht hier keine Notwendigkeit, es zu ändern.
radius_db = "radius"
Aktivieren Sie Client-Lesen
Nächste, Suchen Sie die Option read_clients in der Konfigurationsdatei. Mit dieser Einstellung kann FreeRADIUS Clientgeräte direkt aus der Datenbank laden. Entfernen Sie einfach das Kommentarsymbol (#) um es zu aktivieren.
# read_clients = yes
read_clients = yes
Client-Tabellenkonfiguration
Standardmäßig, FreeRADIUS verwendet die NAS-Tabelle zum Speichern von Client-Geräteinformationen (wie Router oder Access Points wie MikroTik). Wenn Sie einen anderen Tabellennamen verwenden möchten, Sie können es hier anpassen.
client_table = "nas"
FreeRADIUS mit MySQL unter Ubuntu installieren und konfigurieren – Berechtigungen festlegen und Dienst neu starten
Bevor ich fertig bin, Stellen Sie sicher, dass die richtigen Berechtigungen auf die SQL-Konfigurationsdateien angewendet werden. Dadurch wird sichergestellt, dass FreeRADIUS ordnungsgemäß darauf zugreifen und sie verwenden kann.
sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Endlich, Starten Sie den FreeRADIUS-Dienst neu, um alle vorgenommenen Änderungen zu übernehmen:
sudo systemctl restart freeradius.service
Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu
In diesem Ratgeber, Wir haben die Installation und Konfiguration von FreeRADIUS mit MySQL unter Ubuntu durchlaufen, Schaffung eines leistungsstarken und skalierbaren Authentifizierungssystems. Durch die Integration von MySQL, Sie erhalten eine bessere Kontrolle über die Benutzerverwaltung, Buchhaltung, und Datenspeicherung im Vergleich zu Flatfile-Konfigurationen. Wir haben die Paketinstallation abgedeckt, Datenbank-Setup, Schema-Import, und ordnungsgemäße Konfiguration von FreeRADIUS für die Kommunikation mit MySQL. Test- und Fehlerbehebungsschritte stellen sicher, dass alles reibungslos läuft. Gesamt, Dieses Setup ist ideal für Umgebungen, die eine zentralisierte Authentifizierung erfordern, wie etwa ISPs, Unternehmensnetzwerke, oder Hotspot-Systeme, Flexibilität bieten, Zuverlässigkeit, und einfachere langfristige Wartung für wachsende Infrastrukturen.
