FreeRADIUS en daloRADIUS te installeren op Ubuntu 18.04 LTS
FreeRADIUS is een vrij en open-source client/server protocol dat gecentraliseerde netwerk authenticatie op systemen mogelijk maakt. Het is een krachtige en functierijke RADIUS server die geleverd wordt met zowel server als client, ontwikkelingsbibliotheken en RADIUS gerelateerde hulpprogramma’s. Met RADIUS kun je gebruikers-profielen bijhouden en het gebruik bijhouden voor facturering vanaf de centrale server. Hij biedt ondersteuning voor verschillende databases, waaronder, OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, enz.
daloRADIUS is een web-gebaseerde toepassing voor het beheer van RADIUS server. Het is een geavanceerde web-gebaseerde toepassing voor het beheer van hotspots en ISP implementaties. Het is geschreven in PHP en JavaScript en ondersteunt MySQL, PostgreSQL, SQLite, MsSQL als database backend. Het wordt geleverd met een rijke reeks functies zoals, Access Control Lists, grafische rapportage, factureringsmotor, grafische rapportage, en boekhouding, gebruikers aanmaken, verwijderen en bewerken, HotSpot aanmaken, verwijderen en bewerken, NAS aanmaken, verwijderen en bewerken, en nog veel meer.
FreeRADIUS werkt als het back-end, terwijl daloRADIUS als het front-end werkt.
In deze handleiding leg ik stap voor stap uit hoe je FreeRADIUS server en Daloradius web client installeert op Ubuntu 18.04 LTS.
Vereisten
- Een server met Ubuntu 18.04.
- Een root wachtwoord is ingesteld op je server.
Aan de slag
Werk eerst de pakketten van je systeem bij naar de nieuwste versie met het volgende commando:
apt-get update -y
apt-get upgrade -y
Als alle pakketten zijn bijgewerkt, herstart je je systeem om alle configuratieveranderingen toe te passen.
LAMP server installeren
Eerst moet je Apache, MariaDB, PHP en andere vereiste pakketten op je systeem installeren. Je kunt ze allemaal installeren met het volgende commando:
apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y
Als alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.
Database configureren voor FreeRADIUS
MariaDB is standaard niet beveiligd. Je zult het dus eerst moeten beveiligen. Je kunt hem beveiligen met het volgende commando:
mysql_secure_installation
Beantwoord alle vragen zoals hieronder aangegeven:
Enter current password for root (enter for none): Just press the Enter Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Vervolgens moet je een database en gebruiker voor FreeRADIUS aanmaken. Log daarvoor in op MariaDB shell met het volgende commando:
mysql -u root -p
Voer je root wachtwoord in op de prompt en maak dan een database en gebruiker met het volgende commando:
MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO [email protected] IDENTIFIED BY "password";
Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Als je klaar bent, kun je verder gaan met de volgende stap.
Installeer FreeRADIUS
Standaard is FreeRADIUS beschikbaar in de Ubuntu 18.04 standaard repository. Je kunt het installeren met het volgende commando:
apt-get install freeradius freeradius-mysql freeradius-utils
Eenmaal geïnstalleerd importeer je het freeradius MySQL databaseschema met het volgende commando:
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Geef je radius database gebruikerswachtwoord wanneer daarom gevraagd wordt en druk op Enter om het databaseschema te importeren.
Vervolgens moet je een symbolische link maken voor de sql module. Je kunt dat doen met het volgende commando:
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Log vervolgens in op MariaDB shell en controleer de gemaakte tabellen met het volgende commando:
mysql -u root -p
Voer je root wachtwoord in als daarom gevraagd wordt. Eenmaal ingelogd verander je de database in radiusdb met het volgende commando:
MariaDB [(none)]> use radiusdb;
Maak vervolgens een lijst van de gemaakte tabellen met het volgende commando:
MariaDB [radiusdb]> show tables;
Je zou de volgende uitvoer moeten zien:
+--------------------+ | Tables_in_radiusdb | +--------------------+ | nas | | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | radusergroup | +--------------------+
Verlaat vervolgens de MariaDB shell met het volgende commando:
MariaDB [radiusdb]> EXIT;
Vervolgens moet je in de freeradius SQL module je gegevens voor de databaseverbinding definiëren. Je kunt dat doen door het bestand /etc/freeradius/3.0/mods-enabled/sql te bewerken:
nano /etc/freeradius/3.0/mods-enabled/sql
Breng de volgende veranderingen aan volgens je database:
sql { driver = "rlm_sql_mysql" dialect = "mysql" # Connection info: server = "localhost" port = 3306 login = "radius" password = "password" # Database table configuration for everything except Oracle radius_db = "radiusdb" } read_clients = yes client_table = "nas"
Bewaar en sluit het bestand, als je klaar bent. Verander dan het eigendom van /etc/freeradius/3.0/mods-enabled/sql met het volgende commando:
chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Herstart tenslotte freeradius service om alle configuratiewijzigingen toe te passen:
systemctl restart freeradius
Je kunt ook de status van freeradius controleren met het volgende commando:
systemctl status freeradius
Je zou de volgende uitvoer moeten zien:
? freeradius.service - FreeRADIUS multi-protocol policy server Loaded: loaded (/lib/systemd/system/freeradius.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-07 09:20:34 UTC; 14s ago Docs: man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/ Process: 45159 ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS (code=exited, status=0/SUCCESS) Process: 45143 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS) Main PID: 45161 (freeradius) Tasks: 6 (limit: 4650) CGroup: /system.slice/freeradius.service ??45161 /usr/sbin/freeradius
Als je klaar bent, kun je verder gaan met de volgende stap.
Installeer daloRADIUS
Vervolgens moet je daloRADIUS installeren om FreeRADIUS vanuit de webbrowser te beheren.
Download eerst de nieuwste versie van daloRADIUS uit de Git repository met het volgende commando:
wget https://github.com/lirantal/daloradius/archive/master.zip
Eenmaal gedownload pak je het gedownloade bestand uit met het volgende commando:
unzip master.zip
Verplaats vervolgens de uitgepakte map naar de Apache web root map met het volgende commando:
mv daloradius-master /var/www/html/daloradius
Importeer vervolgens daloRADIUS mysql tabellen naar radiusdb met het volgende commando:
cd /var/www/html/daloradius
mysql -u root -p radiusdb < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql
Geef vervolgens de juiste toestemming aan de map daloradius met het volgende commando:
chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
Open vervolgens het bestand daloradius.conf.php en bepaal de details van de databasekoppeling:
nano /var/www/html/daloradius/library/daloradius.conf.php
Breng de volgende veranderingen aan die bij je database passen:
$configValues['DALORADIUS_VERSION'] = '1.1-1'; $configValues['DALORADIUS_DATE'] = '28 Jul 2019'; $configValues['FREERADIUS_VERSION'] = '2'; $configValues['CONFIG_DB_ENGINE'] = 'mysqli'; $configValues['CONFIG_DB_HOST'] = 'localhost'; $configValues['CONFIG_DB_PORT'] = '3306'; $configValues['CONFIG_DB_USER'] = 'radius'; $configValues['CONFIG_DB_PASS'] = 'password'; $configValues['CONFIG_DB_NAME'] = 'radiusdb';
Sla het bestand op en sluit het. Herstart dan freeradius en de apache dienst met het volgende commando:
systemctl restart freeradius
systemctl restart apache2
Je kunt ook de status van Apache web service controleren met het volgende commando:
systemctl status apache2
Je zou het volgende commando moeten zien:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d ??apache2-systemd.conf Active: active (running) since Wed 2019-08-07 09:25:56 UTC; 4min 25s ago Process: 45483 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 45489 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 45505 (apache2) Tasks: 11 (limit: 4650) CGroup: /system.slice/apache2.service ??45505 /usr/sbin/apache2 -k start ??45510 /usr/sbin/apache2 -k start ??45511 /usr/sbin/apache2 -k start ??45512 /usr/sbin/apache2 -k start ??45513 /usr/sbin/apache2 -k start ??45517 /usr/sbin/apache2 -k start ??45519 /usr/sbin/apache2 -k start ??45520 /usr/sbin/apache2 -k start ??45521 /usr/sbin/apache2 -k start ??45527 /usr/sbin/apache2 -k start ??45528 /usr/sbin/apache2 -k start Aug 07 09:25:55 openshift systemd[1]: Starting The Apache HTTP Server... Aug 07 09:25:56 openshift systemd[1]: Started The Apache HTTP Server.
Als je dat gedaan hebt, kun je verder gaan met de volgende stap.
Toegang tot de daloRADIUS Web Interface
FreeRADIUS en daloRADIUS zijn nu geïnstalleerd en geconfigureerd. Het is tijd om de daloRADIUS webinterface te openen. Om de webinterface te openen, open je je web browser en typ je de URL http://your-server-ip/daloradius/login.php. Je wordt doorgestuurd naar de daloRADIUS login pagina:
Geef nu standaard gebruikersnaam en wachtwoord op als administrator / radius, en klik op de knop Login. Je zou het daloRADIUS standaard dashboard op de volgende pagina moeten zien:
Gefeliciteerd! Je hebt FreeRADIUS en daloRADIUS met succes geïnstalleerd en ingesteld op je Ubuntu 18.04 server. Voor meer informatie kun je de officiële documentatie bezoeken op https://github.com/lirantal/daloradius. Voel je vrij me te vragen als je vragen hebt.