aqui
Goto Top

Freeradius Management mit WebGUI

article-picture

back-to-topRadius Grundlagen


Das Radius Protokoll findet vielfache Anwendung im Netzwerk bzw. IT Umfeld. Primär wird es zur Nutzer Authentisierung verwendet, kann aber auch Accounting Aufgaben übernehmen.
Es kommt häufig bei der zentralen Netzwerk Zugangskontrolle im LAN oder WLAN zum Einsatz in Verbindung mit Port Security nach 802.1x bzw. WPA2-Enterprise oder auch Mac Adress Authentisierung (Mac Authentication Bypass, MAB) bzw. einer Kombination beider Verfahren.
Dazu gehört auch die zentrale Authentisierung von VPN Zugängen, WLAN Hotspots oder Management Zugriffen auf Infrastruktur Komponenten u.a.
Hierbei kann es u.a. dynamische VLANs, Accesslisten und auch QoS Einstellungen nutzerbezogen zuweisen. Radius ist quasi die zentrale "Ausweiskontrolle" im Netzwerk bzw. IT Umfeld. In klassischen Microsoft Umgebungen ist dies sehr oft das Tandem AD mit NPS (Radius).
Eine Alternative zu NPS ist der hier vorgestellte Freeradius Server als meistgenutzte Open Source Radius Lösung.
Im Default wird Freeradius über Textdateien konfiguriert, was in kleinen Netzwerkumgebungen mit wenig Nutzern noch tolerabel ist aber in größeren Netzen schnell an seine Management Grenzen stößt, zudem ist es im Gegensatz zu einem GUI fehleranfälliger.

Das folgende Praxistutorial beschreibt eine Lösung mit der Bindung des Freeradius Servers an eine SQL Datenbank und ein zentrales, Webbrowser basiertes Benutzermanagement mit dem freien Daloradius WebGUI. Über diese Browser Schnittstelle können zusätzlich auch CSV basierte Nutzerlisten im- und exportiert werden.
Diese Kombination stellt nicht nur einen Radius gesichterten Zugang zum Netzwerk sicher sondern auch von Management und VPN Nutzern. Mit dem grafischen, Browser basierten Management ist eine einfache, schnelle und sehr flexible User- (802.1x) und Mac Adress Management (MAB) Verwaltung der Netzwerksicherheit inklusive der dynamischen Zuweisung von VLANs, Accesslisten und QoS Settings gegeben.
Die drei Basiskomponenten sind der Freeradius Server, ein schneller Nginx Webserver und eine MySQL / MariaDB SQL Datenbank.


back-to-topGrundinstallation aller Komponenten


Das Tutorial beschreibt die Installation aller erforderlichen Komponenten auf einem Debian basiertes Linux (Ubuntu, Raspberry Pi OS etc.) und nutzt dafür die normale Standard apt Package Installation mit apt install. Der Installationsprozess erfordert durchgängig Root User (sudo su) Rechte!
Die Installation gilt analog auch für alle anderen Linux Distributionen mit ggf. anderen Dateipfaden.
Alle Schritte sind sowohl für eine bare Metal Installation als auch für eine VM grundsätzlich gleich. Als Texteditor zum Anpassen der Konfigurationsdateien wird der bordeigene nano Texteditor verwendet.
Zum Troubleshooting der TCP/IP Kommunikation empfiehlt es sich mit apt install tcpdump ein Netzwerk Sniffer Tool als helfendes Werkzeug mit zu installieren. Ein klein wenig Linux Basiswissen sollte vorhanden sein.
Los gehts...


back-to-topInstallation MariaDB SQL Server


apt install mariadb-server

back-to-topRadius Datenbank erstellen


Im ersten Schritt loggt man sich mit dem Root User Passwort im Datenbank Management ein und erzeugt nacheinander mit den folgenden Kommandos eine SQL Datenbank und den dazugehörigen Nutzeraccount. Der hier verwendete Datenbankname ("radiusdb"), Nutzername ("raduser") und das Nutzerpasswort ("geheim123") sind ggf. auf eigene Namensgebung anzupassen und unbedingt zu merken!

mysql -u root -p

CREATE DATABASE radiusdb;
CREATE USER 'raduser'@'localhost' IDENTIFIED BY 'geheim123';  
GRANT ALL ON radiusdb.* TO raduser@localhost;
FLUSH PRIVILEGES;

Mit "exit" verlässt man die Datenbankverwaltung.

Weiter geht es mit dem Freeradius Server...


back-to-topInstallation Freeradius Server


apt install freeradius freeradius-mysql freeradius-utils 

⚠️ Mit der clients.conf und der eap Datei sind zwei wichtige Konfigurationsdateien im Freeradius vorab anzupassen damit der Server Radius Requests aus dem lokalen Netz(en) annimmt und PEAP Requests richtig handhabt.

Dazu editiert man mit dem nano Texteditor die Datei clients.conf im Konfig Verzeichnis des Freeradius.
nano /etc/freeradius/3.0/clients.conf

und definiert dort seine lokalen IP Netze aus denen Radius Anfragen kommen sowie das Radius Server Passwort mit dem sich diese Netzwerk Komponenten am Server ausweisen. Z.B. wenn das Management IP Netz 192.168.188.0 /24 und das Radius Server Passwort testing123 lautet:

client1

Die Netzmaske kann hier bequem als Wildcard verwendet werden. Weitere IP Netze fügt man analog hinzu.
Ein zusätzlicher Netz Eintrag z.B. 10.10.0.0 /16 würde z.B. Radius Requests aus allen 10.10.x.y. Subnetzen erlauben.
Die Bezeichnungen "network-1" usw. sind rein kosmetisch und kann immer individuell angepasst werden wie z.B. "Management" oder "Labornetz".
Anmerkung zur clients.conf Datei:
Diese o.a. Anpassung der clients.conf Datei ist nicht zwingend nötig und kann auch weggelassen werden.
Allerdings müssen diese Authenticator IP Adressen (AP, Switch, etc.) dann später in der Datenbank über das WebGUI im Menüpunkt "Management -> NAS" vorab erfasst werden!
Andernfalls nimmt der Radius Server aus Sicherheitsgründen keine Anfragen dieser Netzwerk Komponenten an.
Ob man diese Authenticator Netze bzw. Adressen statisch, wie hier in der clients.conf Datei, vordefiniert oder später zentral über WebGUI und Datenbank erfasst, ist eine reine Management Geschmacksfrage.


Die nächste anzupassende Datei ist die EAP Konfig Datei:
nano /etc/freeradius/3.0/mods-available/eap

Dort sucht man den Abschnitt "peap { " und setzt dort den Parameter use_tunneled_reply = yes auf yes
(Suchen im nano Editor mit <ctrl> w)

eap

Eine weitere kosmetische Anpassung, die nicht betriebsrelevant ist, betrifft die TLS Version um Warnmeldungen im Log vorzubeugen.
Man sollte die alten TLS Konfig Kommandos vollständig mit "#" einkommentieren wenn nicht schon geschehen.
tls1
Und im nächsten Zug ausschliesslich nur noch die tls_min_version, tls_max_version Parameter nutzen.
Da der TLS Standard 1.3 noch nicht abgeschlossen ist, macht man mit Ver. 1.2 nichts falsch und schont das Serverlog.
tls2

Mit <ctrl o> und <ctrl x> sichert man im nano Editor beide geänderten Dateien clients.conf und eap.

back-to-topFreeradius Server für SQL Datenbank anpassen


Damit Freeradius zusammen mit der statischen User Datei auch die SQL Datenbank zur Nutzerabfrage verwendet, ist vorab noch etwas Handarbeit erforderlich.
Dazu stoppt man zuerst den Radius Server mit
systemctl stop freeradius

Jetzt kopiert man die Schema Datei in die Datenbank:
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

Das importierte Schema überprüft man mit:
mysqlshow radiusdb

Anschliessend editiert man mit dem nano Editor die Freeradius SQL Konfigurations Datei sql :
nano /etc/freeradius/3.0/mods-available/sql

Hier passt man jetzt die Parameter zur Nutzung der MySQL/MariaDB Datenbank an.
Dazu setzt man im Abschnitt "sql {" den dialect auf mysql und kommentiert mit einem "#" davor den Parameter driver = "rlm_sql_null" ein und entfernt gleichzeitig vor driver = "rlm_sql_${dialect}" das Kommentarzeichen "#".

sql1

Danach sucht man den Abschnitt mysql {...} und versieht dort alle TLS Parameter mit einem Kommentarzeichen "#" am Anfang der Zeile. Da die Datenbank und der Freeradius Server auf dem gleichen Server arbeiten ist TLS nicht erforderlich.

sql2

Nun scrollt man herunter zum Parameter # Connection info: der die Zugangsdaten zur oben erstellten SQL Datenbank beinhaltet und ändert diese auf den oben gesetzten Datenbanknamen sowie User und Passwort:

sql3

Zum Abschluss ändert man noch etwas weiter unten den Parameter read_clients = yes auf yes.

sql4-2

Damit sind alle Änderungen in dieser Datei abgeschlossen.
Mit <ctrl o> und <ctrl x> sichert man im nano abschliessend diese SQL Konfig Datei.

Final sind dann noch das SQL Modul im Freeradius zu aktivieren und der Group Owner richtig zu setzen.
Dies erledigen die 2 folgenden Kommandos:

ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
chown -h freerad.freerad /etc/freeradius/3.0/mods-enabled/sql

back-to-topFreeradius Logging


Normalerweise loggt der Freeradius alle akzeptierten und zurückgewiesenen Authentisierungen in der Default Einstellung nicht mit!
Das ist verständlich, denn so ein Log kann in größeren Umgebungen sehr schnell sehr groß werden mit entsprechenden Nachteilen in Bezug auf den Speicherplatz.
In kleineren Umgebungen oder Heimnetzen ist dies aber ggf. tolerabel, entsprechenden Speicherplatz vorausgesetzt.
Das Logging des Freeradius ist optional und lässt sich granular einstellen indem es z.B. nur abgewiesene oder nur akzeptierte Authentisierungen oder auch beides anzeigt. Hier muss jeder nach seinen Vorlieben selber entscheiden. Im Zweifel belässt man es wie es ist. (Default = Logging deaktiviert)

Die Logging Einstellungen werden in der Server Konfigurations Datei radiusd.conf im Abschnitt "log { " vorgenommen.
nano /etc/freeradius/3.0/radiusd.conf
  • auth = no -> Kein Logging der Authentisierung (Default), "yes" = loggt sowohl abgewiesene als auch akzeptierte Authentisierungen
  • auth_accept = "yes" loggt nur akzeptierte Authentisierungen (Macht nur Sinn wenn "auth = no" gesetzt ist!)
  • auth_reject = "yes" loggt nur abgewiesene Authentisierungen (Macht nur Sinn wenn "auth = no" gesetzt ist!)
  • auth_badpass und auth_goodpass = loggen die falschen bzw. richtigen Passwörter abgewiesener oder akzeptierter Authentisierungen. (auth_badpass = yes macht hier ggf. Sinn)
freelog
Tip: Man sollte an Authentisierungen nur das loggen was man wirklich sehen will!
Eine grafische Überwachung des Radius Logs per Webbrowser beschreibt ein separates Kapitel am Ende dieses Tutorials.

back-to-topFreeradius Funktion checken


Sind die o.a. Schritte alle erledigt, kann man mit dem Kommando freeradius -X den Radius Server testweise manuell im Debug Mode starten.
Dieser sollte, wenn alles richtig konfiguriert wurde, mit der Meldung: "Ready to process requests" am Ende antworten! <ctrl c> stoppt den Debug Mode wieder.

sql5

War dieser Test fehlerfrei, wird der Freeradius danach wieder als Daemon (Dienst) gestartet mit:
systemctl restart freeradius 

Weiter geht es mit dem Webserver...


back-to-topInstallation Nginx Webserver mit erforderlichen PHP Komponenten


❗️Vorab: Natürlich rennt das WebGUI auch mit dem Apachen. Die Installation des Apache2 Webservers mit PHP beschreiben diverse Internet Tutorials und YouTube Filme sowie das Daloradius Installations ReadMe.
Der Nginx Webserver wurde hier bewusst gewählt, weil er insgesamt und damit besonders auf kleineren Plattformen (z.B. Raspberry Pi u.a.) deutlich flotter läuft.
(Bei der Wahl des Apachen kann das folgende Nginx Installationskapitel übersprungen werden!)

Los gehts mit der Webserver und PHP Installation...
apt install nginx php-fpm php-mysql php-zip php-mbstring php-cli php-common php-curl

Bzw. weitere erforderliche PHP Komponenten:
apt install php-gd php-db php-mail php-mail-mime

back-to-topPHP aktivieren


Um PHP im Nginx Webserver zu aktivieren, wird mit dem nano Editor dessen Konfig Datei angepasst.
nano /etc/nginx/sites-available/default

Die folgenden Zeilen werden im Abschnitt server {... entkommentiert ("#" am Zeilenanfang entfernen) bzw. angepasst:
# Add index.php to the list if you are using PHP
index index.html index.htm index.php; 

In der gleichen Datei den Abschnitt der PHP Konfig ebenfalls per nano anpassen und die Kommentarzeichen "#" in den folgenden Zeilen entfernen:
# pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        } 
⚠️ Bitte hier unbedingt die installierte PHP Version beachten! Siehe dazu auch HIER.
(Beispiel bei PHP Version 8.2: "fastcgi_pass unix:/run/php/php8.2-fpm.sock"!)

Alle Änderungen sichert man im nano Editor wieder mit der Tastenkombination <ctrl-o> und <ctrl-x>.

back-to-topNginx Webserver mit PHP testen


Im Webserver HTML Root Verzeichnis /var/www/html/ (Wechsel dahin mit cd /var/www/html) erzeugt man mit dem nano Editor abschliessend eine PHP Datei phpinfo.php mit folgendem Inhalt:
<?php
phpinfo();
?> 

Sie dient lediglich zum Testen der PHP Funktion.

Per Kommandozeile startet man den Webserver neu, um die geänderten Konfigs einzulesen.
systemctl restart nginx

Im Webbrowser öffnet man jetzt diese PHP Testdatei mit Eingabe von http://<server_ip_adresse>/phpinfo.php im Browserfenster, was dann die folgende PHP Statusseite anzeigen sollte:

php.

Ist das der Fall, ist der Nginx Webserver einsatzklar und es geht weiter mit der Installation des Daloradius WebGUIs...


back-to-topDaloradius WebGUI installieren


Für die Installation der Daloradius PHP Web Anwendung im Webserver Root Verzeichnis kann das Git Tool verwendet werden um das Programmverzeichnis lokal zu klonen (empfohlen).
apt install git
Installiert, wenn nicht schon geschehen, das Git Tool.

Danach wechselt man in das Webserver Root Verzeichnis und führt dort das folgende Kommando aus:
cd /var/www/html
git clone https://github.com/lirantal/daloradius.git 

Wer das Git Tool git nicht installieren möchte, kann es alternativ auch mit wget herunterladen, das ZIP Archiv dann entpacken und das entzippte Verzeichnis ins Webserver Verzeichnis kopieren.
wget https://github.com/lirantal/daloradius/archive/refs/heads/master.zip
unzip master.zip
mv daloradius-master /var/www/html/daloradius 


back-to-topLog und Var Verzeichnisse erstellen


Das erledigen die 2 Kommandos:
mkdir -p /var/log/nginx/daloradius/{operators,users}
sowie
cd /var/www/html/daloradius/
mkdir -p var/{log,backup}

back-to-topSQL Schemadateien importieren


Mit diesen zwei Kommandos importiert man die Daloradius Schema Dateien in die Datenbank:
mysql -u root radiusdb < /var/www/html/daloradius/contrib/db/fr3-mysql-freeradius.sql
mysql -u root radiusdb < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql 

back-to-topDaloradius Konfig Datei erstellen


Ins Konfig Verzeichnis wechseln mit
cd /var/www/html/daloradius/app/common/includes/ 

und dort die Konfig Datei aus der Beispieldatei erstellen:
cp daloradius.conf.php.sample daloradius.conf.php

Jetzt mit dem nano Texteditor diese Datei auf den o.a. SQL Datenbanknamen und den oben definierten SQL User / Passwort anpassen sowie die Pfade der für den Betrieb relevanten Log und Var Verzeichnisse anpassen:
$configValues['FREERADIUS_VERSION'] = '3';  
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';  
$configValues['CONFIG_DB_HOST'] = 'localhost';  
$configValues['CONFIG_DB_PORT'] = '3306';  
$configValues['CONFIG_DB_USER'] = 'raduser';  
$configValues['CONFIG_DB_PASS'] = 'geheim123';  
$configValues['CONFIG_DB_NAME'] = 'radiusdb';  
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';  
$configValues['CONFIG_LOG_FILE'] = '/var/www/html/daloradius/var/log/daloradius.log';  
$configValues['CONFIG_PATH_RADIUS_DICT'] = '/usr/share/freeradius';  
$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';  

Damit Daloradius das Freeradius Log auslesen kann muss noch die entsprechende Dateiberechtigung gesetzt werden.
chmod 644 /var/log/freeradius/radius.log 

Abschliessend wird das Webserver Root Verzeichnis auf den Webserver User und Group gesetzt:
chown -R www-data:www-data /var/www/html/

back-to-topDaloradius Funktionscheck


Sind alle obigen Anpassungen gemacht steht einem ersten Test des Radius WebGUIs nichts mehr im Wege.
Das Administrator Login ruft man im Browser unter http://<server_ip>/daloradius/app/operators/ auf.
Hat alles geklappt wird man mit dem Login Schirm begrüsst.

dalo1

Der Default Username ist administrator und das Passwort radius

Der erste Klick sollte auf den "Home" Button gehen und dort auf den Punkt "Services Status".
Hier sollten alle 3 Services Radius, Datenbank und SSHd auf "Running" stehen:

dalo2

Ist das der Fall, ist der Radius Server und das WebGUI einsatzklar und weiter geht es mit der Einrichtung der Benutzer.

Benutzern kann man als Radius Administrator erlauben ihre eigenen Accounts zu überprüfen. Dafür hat das WebGUI einen spezieller Benutzer URL mit eingeschränktem Menü unter:
http://<server_ip>/daloradius/app/users/
vorgesehen.
Dies muss im User Setup unter "User Info" vom Administrator explizit zusätzlich und pro User erlaubt werden für den Fall wenn man Nutzern diesen Service bieten möchte.
uinfo

back-to-topURL Tuning


Wem die URLs zum Aufruf des WebGUIs etwas zu lang sind, kann diese optional im Webserver Setup mit einem Redirect Kommando /etc/nginx/sites-available/default am Ende des Abschnittes "server { " entsprechend kürzen. Z.B. /radius für das Management und /raduser für den Benutzerzugang.
#
        location /radius {
        return 301 /daloradius/app/operators;
        }
#
        location /raduser {
        return 301 /daloradius/app/users;
        } 
Danach ist der Nginx Webserver mit systemctl restart nginx neu zu starten.


back-to-topBenutzer Management


Das Benutzermanagement ist sehr einfach und mehr oder weniger selbsterklärend im Menü "Management - Users" zu finden. Man hat hier die Wahl zw. der Eingabe des Nutzernamens und Passwortes (WPA-Enterprise, 802.1x) oder der Mac Adresse für die Mac Authentisierung (Mac Authentication Bypass, MAB).
Alle Nutzernamen bzw. Mac Adressen lassen sich sortieren und auch als CSV Datei (Excel etc.) sowohl exportieren als auch aus einer CSV Datei importieren.
802.1x Nutzer kann man alternativ anstatt Cleartext mit der Option NT Password anlegen, damit werden die Passwörter im GUI verschlüsselt dargestellt.
Alternativ zur verschlüsselten Anzeige ist es im Menü unter Config - Interface Settings - Enable Password Hiding auch möglich die Anzeige der Passwörter in der GUI Listenansicht komplett unterdrücken.

dalous

back-to-topNutzer Account Check


Im Menü Config - Maintenance lässt sich der eingerichtete Benutzer oder die Mac Adresse vorab überprüfen ob sie vom Radius Server korrekt authentisiert wird.

daloustest

back-to-topBeispielsetup WLAN Accesspoint


Ein sehr einfaches Beispielt für ein Accesspoint Setup zeigt das folgende Bild. Das statische VLAN 11 ist hier als Radius gesichertes WLAN konfiguriert.
Mit der optionalen "Supplicant" Funktion ist der Accesspoint zusätzlich in der Lage sich selber als 802.1x Client an einem gesicherten Switch Kupferport zu authentisieren.

wapmssiddot1x


back-to-topDynamische VLAN Zuweisung für 802.1x Nutzer oder Mac Adressen


Die Zuweisung von dynamischen VLANs sowohl auf LAN Switches als auch auf WLAN Accesspoints (MSSID), also die feste Zuweisung eines dedizierten VLANs für einen bestimmten 802.1x Netzwerk Benutzer, Benutzergruppen oder Mac Adresse ist ein klassisches Anwendungsgebiet eines Radius Servers im Netzwerk Umfeld.
Dies erledigt ein VLAN Profil im Menüpunkt Profiles welches man für alle verwendeten VLANs, die dynamisch Nutzern zugewiesen werden sollen, anlegt:

vlan

⚠️ Wichtig ist das "REPLY" bei der Target Definition der VLAN Attribute, da diese an den Authenticator (Switch, AP etc.) zurückgehen!
Das VLAN Profil wird dann über die Groups Zuordnung im User Setup dem jeweiligen Benutzer hinzugefügt.
  • Der Wert unter Tunnel-Private-Group-Id ist die jeweilige VLAN ID die dynamisch dem User zugewiesen werden soll.
  • Die Werte für den Tunnel-Type (13) und Tunnel-Medium-Type (6) sind fest durch den Radius RFC vorgegeben und dürfen nicht verändert werden!
Alternativ kann statt der Values 13 und 6 auch "VLAN" (für Tunnel-Type) und "IEEE-802" (Alternativ 802, für Tunnel-Medium-Type) als feste Werte verwendet werden.
Ein Klick auf User-Groups zeigt dann die Zuordnung der Benutzer zu den dynamischen VLAN Profilen:

grou

back-to-topLogin Zeiten für Nutzer festlegen


Auch Nutzungszeiten für User lassen sich mit dem Radius festlegen. Dazu wird ebenfalls, wie bei den dynamischen VLANs, ein Profil genutzt indem man das "Login-Time" Attribut dort setzt.
Dies lässt sich natürlich auch mit anderen Attributen wie z.B. den obigen VLAN Attributen in einem Profil kombinieren das dann z.B. Gästen ein zeitlich limitiertes VLAN oder WLAN ausschliesslich innerhalb der normalen Arbeitszeiten zuweist. (Tagesnamen = Mo, Tu, We, Th, Fr, Sa oder Su)
Die Zeiteinstellungen folgen einem einfachen Muster:
  • "Su1000-1200" z.B. für Sonntag 10-12 Uhr (Sunday)
  • "Wk0800-1700" z.B. Wochentags für Mo-Fr 8-17 Uhr (Workday)
  • "Al1200-1500" z.B. Täglich 12-15 Uhr (All oder Any)
  • Mehrere Zeitabschnitte sind Komma getrennt möglich. ("Wk0900-1000,Wk1700-2000")

uhr


back-to-topWindows 802.1x Client Besonderheiten


⚠️ Wer ohne Radius Server Zertifikate arbeitet, sollte im Windows 802.1x Client Setup den Haken bei der Zertifikatsprüfung ("Identität des Servers überprüfen") entfernen!

back-to-topLAN


Der 802.1x Client für den LAN Port ist im Gegensatz zum WLAN Client im Default deaktiviert, deshalb ist auch der Reiter "Authentisierung" dort ausgegraut. Unter Dienste startet sucht man das sperrige "Automatische Konfiguration (verkabelt)" und startet diesen Dienst.
autkonfverk2

back-to-topWiFi


Wird beim Windows 802.1x Client für die Authentisierung an LAN Switches oder WLAN APs im Setup die Option "Automatisch eigenen Anmeldenamen und Kennwort verwenden" gewählt, fügt dieser immer den Domänen Namen dem Usernamen mit einem Doppelbackslash hinzu z.B. "Domäne\\Username". Bei Windows Rechnern ohne Domänenmitgliedschaft ersetzt die Automatik den Domänennamen durch den Hostnamen des Rechners.
windot1x
Der doppelte Backslash führt ohne eine Anpassung der Datenbankabfrage daher zu unterschiedlichen Nutzernamen in GUI und Datenbank und resultiert dann in der Abweisung dieses Nutzers.
Deaktiviert man im Windows Client diese o.a. Login Automatik wird natürlich kein per Doppelbackslash angefügter Domänen- oder Hostname mitgesendet!
Bei der Nutzung dieses automatischen Windows 802.1x Logins im Client mit den Gerätecredentials und der damit einhergehenden o.a. "Erweiterung" des Usernamens, ist es daher unbedingt erforderlich die SQL Abfrage anzupassen!
Tip:
Auch wenn man dieses Dot1x Autologin im Windows Client nicht nutzt, sollte man diese Anpassung immer machen, denn damit deckt man sicher und wasserdicht alle Eventualitäten beim Windows Dot1x Client ab!


Die Einstellung ist im Handumdrehen erledigt.
nano /etc/freeradius/3.0/mods-config/sql/main/mysql/queries.conf
Damit editiert man die Konfiguration der SQL Abfrage und kommentiert dort am Anfang die Zeile "safe_characters = "@abc..." mit einem "#" ein und entfernt das Kommentarzeichen "#" vor auto_escape = yes.
Freeradius selber empfiehlt generell diese Einstellung so das man sie immer auch machen sollte!
Das Ganze sollte dann so aussehen:
quer
Mit systemctl restart freeradius startet man den Freeradius neu und danach werden dann auch alle 802.1x Autologin und Domänen Benutzer bei Windows fehlerfrei authentisiert.
dalusneu.


back-to-topFreeradius Log Ansicht per Webbrowser


Eine alternative grafische Auswertung des Freeradius Logs per Webbrowser erreicht man außer über das Daloradius GUI auch mit dem kostenlosen Loganalyzer Tool.
Dessen config.php Datei erweitert man am Ende einfach um einen entsprechenden Eintrag mit weiterer laufender Nummer ("SourceX") der auf die Radius Log Datei verweist:
$CFG['Sources']['Source3']['ID'] = 'Source3';  
$CFG['Sources']['Source3']['Name'] = 'FreeRadius Log';  
$CFG['Sources']['Source3']['ViewID'] = 'SYSLOG';  
$CFG['Sources']['Source3']['SourceType'] = SOURCE_DISK;  
$CFG['Sources']['Source3']['LogLineType'] = 'syslog';  
$CFG['Sources']['Source3']['DiskFile'] = '/var/log/freeradius/radius.log';   
Auf diese Weise lassen sich bequem abgewiesene und auch erfolgreiche Netzwerkverbindungen je nach o.a. Logging Setup darstellen.
logan



back-to-topWeiterführende Links


Windows Radius Testtool NTRadPing:
Download NTRadPing Tool
Radius Server testen

Netzwerk Authentisierung am LAN Switch mit 802.1x und MAB:
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch

WiFi Benutzer Authentisierung mit 802.1x (WPA2 Enterprise) und MAB:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius

802.1x Benutzer Authentisierung mit Client Zertifikaten:
Mobile Clients mit Client Certificate authentifizieren

802.1x und Mac Address Authentisierung Ruckus ICX und Cisco Catalyst Switches:
Cisco Catalyst u. Ruckus ICX Switch
Ruckus ICX Switch mit 802.1x
Aufpassen bei Cisco SoHo Modellen SG und CBS !:
802.1x an Cisco CBS350 und Windows Server

802.1x und Mac Address Authentisierung mit HP Switches:
https://wiki.freeradius.org/vendor/HP
https://techhub.hpe.com/eginfolib/networking/docs/switches/WB/15-18/5998 ...
HP V1910 802.1X Konfiguration

Freeradius mit Microsoft AD Anbindung:
Ubuntu 14.04 - 16.04 - 18.04 - 20.04 LTS Server - Freeradius mit AD-Anbindung

Windows 802.1x Client Besonderheiten beachten!:
Windows 802.1x Infos
Windows 22H2 - Authentifizierung - eine kollegiale Bitte

Mikrotik Radius Server:
Mikrotik: 802.1X Port basierte Authentifizierung mit Zertifikaten unter RouterOS 7 mit User-Manager als Radius-Server
Mikrotik Radius Server (User-Manager)

Praxislösung: Mikrotik Radius Server und Cisco WLAN APs:
Mikrotik Radius Server und 802.1x Cisco AP WLAN
Dito mit Mac Address Authentisierung
Dito mit SwitchOS basierten Mikrotiks

Mikrotik mit FreeRadius, WLAN APs und dynamischer VLAN Zuweisung:
Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik
WLAN: VLAN-Zuordnung anhand Radius-Eigenschaften? MikroTik CAPsMAN
Mikrotik: Wifi clients in anderes VLAN schieben?

Freeradius Plugin auf pfSense und OPNsense:
pfSense Freeradius
WLAN mit 802.1x Client Zertifikaten
OPNSense FreeRadius Server-MAC Authentication-dynamische VLAN Zuweisung
Konfig Fehler vermeiden

Cisco WLAN Accesspoint Konfigs mit Radius Authentication:
Radius Authentication Beispielkonfig mit Cisco Accesspoints

Mobile VPN Nutzer per Radius authentisieren:
IKEv2 VPN Server (Strongswan)

Flexible Authentication mit LAN Switches:
Cisco:
https://www.cisco.com/c/dam/en/us/support/docs/ios-nx-os-software/identi ...
Ruckus ICX / Brocade:
https://support.alcadis.nl/Support_files/Ruckus/ICX//Ruckus%20Best%20Pra ...

Gastnutzer per Radius in ein Captive Portal Segment bringen:
Freeradius mit Captive Portal - ohne MSSID

Cisco Switch Konsolenzugang Authentisierung:
https://www.cisco.com/c/en/us/support/docs/security-vpn/remote-authentic ...

Cisco Mac Authentication Bypass:
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960xr/softwa ...

Content-Key: 6972997853

Url: https://administrator.de/contentid/6972997853

Ausgedruckt am: 29.03.2024 um 09:03 Uhr

Mitglied: BlueSkillz
BlueSkillz 02.05.2023 um 12:59:34 Uhr
Goto Top
Vielen Dank für die Anleitung, das ist wirklich ein interessantes Thema.
Ich habe versucht die Anleitung umzusetzen, aber bei dem Punkt "mysqlshow freeradiusdb" bekomme ich als Rückmeldung "Unknown database 'freeradiusdb' " .
Woran kann das liegen?
Ich habe die Schritte bis zu dem Punkt komplett eingestellt.
Vielen Dank.
Mitglied: em-pie
em-pie 02.05.2023 um 13:46:46 Uhr
Goto Top
Moin,
Zitat von @BlueSkillz:
Ich habe versucht die Anleitung umzusetzen, aber bei dem Punkt "mysqlshow freeradiusdb" bekomme ich als Rückmeldung "Unknown database 'freeradiusdb' " .
Woran kann das liegen?
Hab's nicht nachgebaut aber mach mal ein mysqlshow radiusdb
Die Datenbank heisst in der Anleitung überall radiusdb

Gruß
em-pie
Mitglied: BlueSkillz
BlueSkillz 02.05.2023 um 14:20:30 Uhr
Goto Top
Moin,

ja, danke dann wird etwas angezeigt, dachte dass muss mit der anderen Datenbank auch funktionieren, aber die existiert ja gar nicht.
Vielen Dank.
Mitglied: aqui
aqui 02.05.2023 aktualisiert um 19:10:49 Uhr
Goto Top
Hi @BlueSkillz!
Danke für den Hinweis! Kollege @em-pie hat es schon gesagt. Das war leider ein Cut and Paste Error der sich da eingeschlichen hatte und ist nun korrigiert! Sorry nochmal für den Fauxpas. 😉
Mitglied: BlueSkillz
BlueSkillz 02.05.2023 um 20:41:57 Uhr
Goto Top
Zitat von @aqui:

Hi @BlueSkillz!
Danke für den Hinweis! Kollege @em-pie hat es schon gesagt. Das war leider ein Cut and Paste Error der sich da eingeschlichen hatte und ist nun korrigiert! Sorry nochmal für den Fauxpas. 😉

Macht ja nichts, funktioniert alles sonst soweit super und ist schon im Einsatz face-smile
Mitglied: aqui
aqui 03.05.2023 um 10:36:52 Uhr
Goto Top
👍
Zeigt das dann wohl keine weiteren Fehler im Tutorial sind. 😉
Mitglied: bitnarrator
bitnarrator 31.05.2023 um 10:36:56 Uhr
Goto Top
Danke für das zeigen der Installation mit freeradius und daloradius. Ich kannte die Software nicht, werde sie jetzt aber in meinem Lab einrichten als Auth-Server für meinen PPPoE-Server auf einem Ubiquiti ER-X.

Jetzt fehlt nur noch ein kleiner 19"-DSLAM und ich kann Provider spielen ;)

Wobei, dank Glasfaser ist ja heutzutage alles Ethernet-Basiert.

VG
bitnarrator
Mitglied: GerdKuehner
GerdKuehner 08.07.2023 um 09:49:01 Uhr
Goto Top
Hallo,
die Anleitung ist echt top und ich hab innerhalb kürzester Zeit meinen Radius-Server auf einem Raspberry Pi einrichten können. Endlich eine Anleitung, die auf Anhieb funktioniert.

Habe aber noch eine Frage:
In der User-Übersicht sehe ich bei jedem User im Dropdown-Menü einen maximalen Download von 2GB. Weiter gehts in der Anzeige nicht. Klicke ich im Dropdown-Menü auf "Edit User", dann auf Session Information, dann sehe ich mehr Traffic.
In der Subscription Analysis sehe ich ebenfalls nur max. 2GB.

Ich werd nicht schlau draus, warum das so ist.

Hat jemand Infos, wieso hier fehlerhafte Daten, bzw. immer nur maximal 2GB angezeigt werden?
bildschirmfoto 2023-07-08 um 09.47.51
Mitglied: aqui
aqui 08.07.2023 aktualisiert um 10:34:29 Uhr
Goto Top
Endlich eine Anleitung, die auf Anhieb funktioniert.
Danke für die 💐 😊
wieso hier fehlerhafte Daten, bzw. immer nur maximal 2GB angezeigt werden?
Du musst da irgendetwas bei der Eingabe von neuen Usern im GUI falsch gemacht haben oder ein falsches Profil hinzugefügt haben?! 🤔
Dein Fehler lässt sich bei der Eingabe nur der Mac Userdaten nicht nachvollziehen. Gleiches gilt bei der Eingabe von 802.1x Usernamen.
Normalerweise klickt man Management --> New User gibt dann lediglich Username und Passwort ein und fertig. Da werden keinerlei Traffic Limits konfiguriert oder abgefragt!

Hier ein kurzer Check bei beiden Eingabe Optionen für Mac Adressen:
  • 1. Über die direkte Mac Adress Erfassung. Erkennbar am RJ-45 Symbol im Usernamen
  • 2. Mit der Angabe über Username und Passwort. Erkennbar am RJ-45 "Strichmännchen" Symbol im Usernamen
1.)
us1
2.)
us2

Fazit: Works as designed! 👍😉
Mitglied: GerdKuehner
GerdKuehner 09.07.2023 um 00:16:45 Uhr
Goto Top
Zitat von @aqui:
Dein Fehler lässt sich bei der Eingabe nur der Mac Userdaten nicht nachvollziehen. Gleiches gilt bei der Eingabe von 802.1x Usernamen.

Ich nutze den Radius-Server in Verbindung mit dynamischen VLANs mit einem Unifi UDR.
Die Authentifizierung läuft rein über die MAC-Adressen. Die im Radius-Server eingetragenen Adressen werden ins VLAN1 weiter geleitet, unbekannte rutschen ins VLAN2, also mein Gastnetz mit anderen IP-Adressen und Einschränkungen fürs Gastnetz.
So spare ich die SSID fürs Gastnetz.

Normalerweise klickt man Management --> New User gibt dann lediglich Username und Passwort ein und fertig. Da werden keinerlei Traffic Limits konfiguriert oder abgefragt!

Username und Passwort sind jeweils die MAC-Adresse. Die Namen der Geräte habe ich im Feld "Vorname". So finde ich die Clients schneller.


Hier ein kurzer Check bei beiden Eingabe Optionen für Mac Adressen:
  • 1. Über die direkte Mac Adress Erfassung. Erkennbar am RJ-45 Symbol im Usernamen
  • 2. Mit der Angabe über Username und Passwort. Erkennbar am RJ-45 "Strichmännchen" Symbol im Usernamen
1.)
us1
2.)
us2

Fazit: Works as designed! 👍😉

Ich hatte bereits einen Radius-Server am laufen, mit Daloradius 1.3
Diese Version hab ich auf verschiedenen Maschinen installiert, ... zum testen.
Im Moment habe ich im Test einen Raspberry Pi 3b+ mit USB-Ram-Drive als Speicher, eine virtuelle Maschine in meiner Synology, und eine Proxmox-VM.


Nachtrag: Ich habe den Fehler gefunden, wie der damit zusammenhängt, hab ich noch nicht ganz rausgefunden, aber jetzt "zählts" weiter wie 2GB.

Es fehlte in der dynamischen Zuweisung im Radius die Fallback-Zuweisung für VLAN2, die unbekannte Geräte nicht abweist, sondern ins Gastnetz schiebt. Was das mit den Anzeigen für Traffic zu tun haben soll, ist mir noch nicht klar, aber jetzt gehts.

Ich glaube, diese dynamische Zuweisung in verschiedene VLAN´s wäre noch eine gute Erweiterung für eure ohnehin verständliche und perfekt umsetzbare Anleitung. Ich habe eure Anleitung mit ein paar Einträgen einer anderen Seite kombiniert face-smile
Mitglied: aqui
aqui 09.07.2023 aktualisiert um 11:54:11 Uhr
Goto Top
aber jetzt gehts.
👏 👍

Nur noch mal als Ergänzung zu der Thematik:
Die dynamische Zuweisung der VLAN IDs hat nur sehr bedingt mit dem Radius Server selber zu tun sondern macht immer nur das entsprechende Endgerät sprich also Switch oder Accesspoint. Der Radius liefert lediglich immer nur die userbezogenen VLAN Parameter (und nur die!) dazu. Nicht mehr und nicht weniger!

Dabei gibt es immer nur 3 mögliche Optionen und nur eine (1) hat lediglich am Rande mit dem Radius Server zu tun und wenn, dann nur mit den VLAN Parametern:
  • 1. Du konfigurierst unter "DEFAULT" in der statischen users Datei des Freeradius eine dynamische VLAN Default Zuweisung in ein "Gummizellen VLAN" oder ein Gast oder Auth Fail VLAN wo alle User hineinfallen deren Nutzer Authentisierung fehlschlägt.
Das macht man immer dann, wenn der Authenticator (Switch oder AP) kein Auth Fail oder Gast VLAN supportet. Der Eintrag (VLAN ID Beispiel "99") sähe dann z.B. so aus:
DEFAULT         Cleartext-Password := "%{User-Name}"
                         Tunnel-Type = VLAN,
                         Tunnel-Medium-Type = IEEE-802,
                         Tunnel-Private-Group-Id := 99 
  • 2. Der Authenticator (Switch, AP) macht die Zuweisung eigenständig indem in seiner Konfig (sofern supportet) ein sog. Auth Fail VLAN definiert wird. Erhält der Authenticator ein "Access deny" vom Radius, platziert der Authenticator diese Nutzer selber direkt in dieses Auth Fail VLAN. Ist es nicht definiert wird der User abgewiesen.
  • 3. Der Authenticator hat ein sog. Gast VLAN in der Konfig definiert sofern supportet. Das betrifft dann alle Clients die ohne Dot1x Authentisierung dem Netzwerk beitreten wollen. Die fehlende .1x Negotiation bewirkt am Authenticator das diese Nutzer ins Gast VLAN gelegt werden. Diese Funktion betrifft nur 802.1x gesicherte Netze, keine Mac Authentication, weil nur die .1x Authentication auf Clients aktivierbar ist oder deaktivierbar. Bei Mac Authentisierung klappt das bekanntlich prinzipbedingt nicht.

Die Optionen 2. und 3. heissen bei den Herstellern in der Regel Flexible Authentication.
Du kannst also sehen das die VLAN Zuweisung nur sehr am Rande oder gar nicht den Radius Server als solchen betrifft. Und wenn dann auch nur bei den o.g. ersten beiden Optionen.

Ganz und gar nichts hat es mit der Bandbreiten Begrenzung von Usern zu tun die ja immer nur willentlich über ein speziell dafür konfiguriertes Profil erfolgen kann. Ohne eine solche Profil Zuweisung oder Profile an sich kann es niemals eine Bandbreitenbegrenzung in der User Konfig geben.
Du musst also willentlich irgendwo so eine Zuordnung gemacht haben?! Wie bereits gesagt: Bei der reinen, einfachen User Einrichtung nur mit User/Passwort gibt es keine Bandbreiten Begrenzung!
Mitglied: GerdKuehner
GerdKuehner 09.07.2023 um 18:37:45 Uhr
Goto Top
Hallo,
die Antwort jetzt ohne Zitat, denn das würde den Beitrag sprengen face-smile.

Ich gebe dir in jedem Punkt recht. DIe Zuweisung ins VLAN2 bei unbekannten Usern per "DEFAULT" hatte ich vergessen einzutragen. Das funktioniert aber jetzt.

Den Fehler mit der Anzeige hab ich jetzt wirklich eingrenzen können. Es liegt an der installierten Linux Version.
Mit der 32bit-Variante habe ich den Fehler, mit der 64bit-Variante läuft alles, wirklich alles genau so, wie es soll.
Wobei die grundsätzliche Funktion des Rasius-Servers eigentlich auch mit der 32bit-Version gegeben ist, dann aber in der Weboberfläche den maximalen Traffic mit nur 2GB anzeigt, obwohl es mehr ist.

Getestet habe ich das jetzt an 2 identen Raspberry´s, sämtliche Einstellungen sind exakt gleich (In der Oberfläche Config/Backup die Einstellungen des ersten Raspis exportiert und am zweiten importiert).
Auch an der VM in meiner Synology ist die 64bit-Version von bullseye installiert.

Kurz zum Hintergrund meiner Gründe für diesen Aufwand, der sich mit der Anleitung von dir aber wesentlich vereinfacht hat, echt topp die Anleitung, das kann ich nur immer wieder betonen, ich hatte da bisher andere extrem aufwändige Anleitungen genutzt!!!

Unser Netzwerk zuhause wird mehr oder weniger zugebombt mit Geräten, die regelmässig die MAC-Adresse wechseln - Private Wlan-Adresse bei i-Geräten, wie das bei Androiden heisst, weiß ich grade nicht.

Wir nutzen eine einzige SSID, die unsere Gäste, Freunde und Bekannte gleichermassen nutzen.
Unsere eigenen Geräte sind im Radius-Server eingetragen und kommen so ins norme Wlan, alle anderen werden in das Gastnetz geschoben, und kommen somit nicht auf unsere Geräte wie Server, Drucker usw. (Hintergrund, ich hatte bis letztes Jahr eine Security-Firma).
Mitglied: aqui
aqui 10.07.2023, aktualisiert am 30.09.2023 um 00:12:29 Uhr
Goto Top
Das Verhalten mit der 32bit Version ist interessant. Allerdings auch sehr merkwürdig, denn woher sollte eine ansonsten völlig identische PHP Installation sich automatisch verändern nur weil das darunterliegende OS 32 oder 64 bittig ist? Das klingt schon etwas "weired".
Ich habe eine Testinstallation auf einem Orange Pi Zero unter Armbian Bullseye gemacht. Leider ist dort nicht vermerkt ob das 32 oder 64 Bit Images sind. face-sad
Damit funktioniert das o.a. Setup aber (erwartbar) völlig unaufällig wie unter allen anderen Installationen auch. Eine Download Begrenzung "per Default" tritt dort erwartungsgemäß nicht auf. RasPi müsste ich einmal separat testen.
mit Geräten, die regelmässig die MAC-Adresse wechseln - Private Wlan-Adresse bei i-Geräten, wie das bei Androiden heisst, weiß ich grade nicht.
Dort heisst es random Mac address oder WLAN Mac Randomization...
Die Mac ist aber sowohl bei iOS als auch bei Android immer spezifisch zur SSID und bleibt innerhalb der SSID immer gleich.
Wenn du dir also, eingebucht in der SSID, die da vergebene Mac Adresse ansiehst, bleibt diese konstant. Sie ändert sich immer nur mit der Änderung der SSID. face-wink
Wir nutzen eine einzige SSID, die unsere Gäste, Freunde und Bekannte gleichermassen nutzen.
Was auch immer sehr vernünftig ist, denn MSSIDs Setups ziehen immer die Performance eines WLANs durch den damit vervielfachten Steuerungstraffic runter. 👍
alle anderen werden in das Gastnetz geschoben
Das macht man dann, wie oben schon beschrieben, mit dem DEFAULT Statement in der users Konfig Datei auf dem Radius Server oder eben, sofern auf der AP Hardware supportet, Über die Auth Fail oder Guests VLANs. face-wink
Mitglied: GerdKuehner
GerdKuehner 12.07.2023 um 09:48:09 Uhr
Goto Top
Zitat von @aqui:

Das Verhalten mit der 32bit Version ist interessant. Allerdings auch sehr merkwürdig, denn woher sollte eine ansonsten völlig identische PHP Installation sich automatisch verändern nur weil das darunterliegende OS 32 oder 64 bittig ist? Das klingt schon etwas "weired".

Gestern habe ich nochmal auf einem Raspi 4 Tests gemacht. Bullseye 32bit 2GB in der Anzeige, Bulleye 64bit unbegrenzte Anzeige. Das ist wirklich seltsam.

Ich habe eine Testinstallation auf einem Orange Pi Zero unter Armbian Bullseye https://www.armbian.com/orange-pi-zero/ gemacht. Leider ist dort nicht vermerkt ob das 32 oder 64 Bit Images sind. face-sad
Damit funktioniert das o.a. Setup aber (erwartbar) völlig unaufällig wie unter allen anderen Installationen auch. Eine Download Begrenzung "per Default" tritt dort erwartungsgemäß nicht auf. RasPi müsste ich einmal separat testen.

Es ist ja auch keine Begrenzung, nur die Anzeige im Kontextmenü sowie in den User Details bleibt bei 2GB stecken. Es funktioniert alles ganz normal, die Anzeige bleibt halt bei 2GB stecken. Sehr seltsam
Mitglied: aqui
aqui 12.07.2023 aktualisiert um 13:43:03 Uhr
Goto Top
Ich checke das auch nochmal mit der 32Bit Version vom Raspberry OS.
Da es ja so oder so nur noch 64bittige OS gibt wird sich das "Problem" sicher mit der Zeit von selber lösen. 😉
Mitglied: DarkZoneSD
DarkZoneSD 18.07.2023 um 08:31:59 Uhr
Goto Top
Moin moin,

erstmal danke für die Anleitung.

Ich hätte vorab aber mal noch eine Frage, wie viel Speicherplatz wäre angemessen für eine VM? Ich habe mal großzügig 50GB bereitgestellt, da es keine Heimnetz-Umgebung ist und ich das logging einschalten will. Wie viel Speicher verbraucht das logging wenn es für alle denys/accepts logt?

Dankeschön und Grüße

Flo
Mitglied: aqui
aqui 18.07.2023, aktualisiert am 11.10.2023 um 09:09:42 Uhr
Goto Top
Hi Flo!
Du kannst dich immer grob an einem Raspberry Pi orientieren mit dem es ja sauber rennt. Auch ein Orange Pi mit 1G RAM und 16G SD Karte wuppt das für kleinere bis mittlere Netze. face-wink
Ansonsten ist eine pauschale Aussage natürlich nicht einfach wenn man nicht ungefähr weiss wieviel Endgeräte der Server bedienen soll.
Von dieser Anzahl hängen ja erwartungsgemäß auch die Log Einträge ab wenn du alles loggen willst. Dazu machst du aber leider keinerlei hilfreiche Aussagen so das eine zielführende Antwort schwer wird um nicht ins Kristalkugeln abzudriften. ☹️
Die meisten Distros machen zudem eine Log Rotation so das das Log hier nicht überquillt. Es ist auch fraglich ob man sich auch alle erfolgreichen Authentisierungen ansehen will und muss.
Normal reichen ja die abgewiesenen, damit man sehen kann wo sich Eindringlinge zu schaffen machen. Ggf. loggt man noch deren für den Versuch verwendete Passwörter mit.

Letztlich ist das aber natürlich immer eine persönliche Geschmackssache was man gut findet und loggen möchte und was nicht, keine Frage!
Mit deinen 50G bist du aber schon sehr gut aufgestellt. Ein df -h zeigt dir ja auch immer wie voll oder leer die Disk ist. Mit einem Browser basierten Tool wie Loganalyzer kann man das Radius Log sogar noch bequem GUI basierend mit einem Browser bedienen.

Wenn der Server sonst nichts anderes zu tun hat und ein normales KMU Netz bedient reichen 2G RAM und 1 CPU mit 32G Disk. Wer etwas mehr Resourcen hat nimmt die klassichen 4G RAM, 2 CPUs und 64 oder 128G Disk. Die Grenzen sind da fliessend. Außerdem kann man ja auch immer noch nachträglich "nachlegen" bei einer VM. 😉
Mitglied: DarkZoneSD
DarkZoneSD 18.07.2023 um 09:49:23 Uhr
Goto Top
Danke für die ausführliche Antwort, ja das mit der Kristallkugel ist schwierig, ich verlege meine immer wieder face-sad

Es sind rund 350 Endgeräte also ein recht überschaubares Netzwerk, ich werde erstmal komplett loggen und mir dann im nachhinein anschauen wie ich die Einstellungen anpasse, je nach Datenmenge.

Ich habe die VM mit 2 vCpus und 4GB RAM aufgesetzt, ich habe auch vor einen redundanten Raspi zu bauen, das die anforderungen an die VM dann gleich sind hätte ich mir denken können :P

Vielen Dank und Grüße

Flo
Mitglied: aqui
aqui 18.07.2023 um 10:16:26 Uhr
Goto Top
Ich habe die VM mit 2 vCpus und 4GB RAM aufgesetzt
Damit bist du absolut auf der sicheren Seite, das könnte auch das 10fache der Endgeräte bedienen!
Mitglied: DarkZoneSD
DarkZoneSD 18.07.2023 um 11:27:20 Uhr
Goto Top
Moin nochmal,

ich bin soweit mit den SQL und Radius Schritten durch und sitze jetzt am Webserver. Leider tut er nicht was er soll,
ich habe wie in der Anleitung beschrieben alle Pakete installiert und die Konfigdatei angepasst.
config
Der Server möchte aber nicht starten.
restartnginx
servicestatus

Die phpinfo.php wurde auch angelegt. Die PHP Version sollte eigentlich stimmen..
php-v

Grüße

Flo
Mitglied: aqui
aqui 18.07.2023, aktualisiert am 11.10.2023 um 09:12:05 Uhr
Goto Top
Der Server möchte aber nicht starten.
Hi Flo,
Kleiner Flüchtigkeitsfehler von dir aber mit großer Wirkung!!
Der Server ist erwartungsgemäß unschuldig, denn DU hast vergessen das Kommentarzeichen "#" vor der einsamen, geschweiften } Klammer unterhalb von fastcgi_pass 127.0.0.1... zu entfernen!!! 😉
Die "}" gehört noch zur Location Definition beim PHP Setting in den {..} Klammern.

Fazit:
Nächstes Mal besser die Brille aufsetzen und auch wirklich einmal die Fehlermeldung lesen! Dort steht ja eigentlich ganz deutlich "expecting...}"! Sprich "...ich erwarte noch eine geschweifte Klammer zu" damit ich funktionieren kann! 😎
Mitglied: DarkZoneSD
DarkZoneSD 18.07.2023 um 12:18:58 Uhr
Goto Top
Oh das is jetzt unangenehm ich hatte die Fehlermeldung extra gründlich durchgelesen da es ja nur mein Fehler seien konnte, habe ich wohl übersehen. Funktioniert jetzt einwandfrei 🙄

Dankeschön face-smile

Zusätzlich noch eine Frage/Anmerkung, bei dem übernehmen des radius schemas in die Datenbank habe ich Permission denied errors bekommen. Wenn ich die Connection daten für root setze funktioniert es. Die Berechtigung für radiusdb.* sollte aber doch eig reichen um die tabellen auch mit dem raduser anzulegen oder nicht?

Grüße
Mitglied: aqui
aqui 18.07.2023, aktualisiert am 11.10.2023 um 09:14:27 Uhr
Goto Top
Wenn ich die Connection daten für root setze funktioniert es.
Du kannst das auch nur als Root User bzw. Datenbank Admin mit entsprechenden Rechten machen!
Also works as designed und steht auch gleich als Anmerkung am Anfang so im Tutorial! face-wink
Die Berechtigung für radiusdb.* sollte aber doch eig reichen
Nope, an der Datenbank an sich und ihrer Struktur darf bekanntlich nur der Oberadmin (root) oder ein User der sudoers Gruppe mit Rootrechten rumfummeln!
Zitat vom o.a. Tutorial: "...wird durchgängig mit Root User (sudo su) Rechten installiert!" 😉
Mitglied: anlagenbau
anlagenbau 25.09.2023 um 10:31:27 Uhr
Goto Top
Ich bekomme beim Php-Test die Fehlermeldung "502 Bad Gateway" im Browser angezeigt, woran kann das liegen?
Mitglied: DarkZoneSD
DarkZoneSD 25.09.2023 um 12:04:16 Uhr
Goto Top
Kann viele Gründe haben, kann sein das er Upstream von Server keine Verbindung aufbauen kann. Schau mal auf deinen Network traffic ob der geblockt wird.
Mitglied: aqui
aqui 25.09.2023, aktualisiert am 11.10.2023 um 09:15:51 Uhr
Goto Top
Ich bekomme beim Php-Test die Fehlermeldung "502 Bad Gateway"
Achte darauf das die Zeile in der Nginx Server PHP Konfig:
...
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
...

Mit deiner PHP Version zusammenpasst!!
Dazu gibst du einmal php -v auf der Konsole ein.
root@server:/home/admin# php -v
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group Zend Engine v4.2.7, Copyright (c) 

root@server:/home/admin# less /etc/nginx/sites-available/default | grep php
	# Add index.php to the list if you are using PHP
	index index.html index.htm index.php;
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
	#	# With php-fpm (or other unix sockets):
		fastcgi_pass unix:/run/php/php8.2-fpm.sock; 
Hier PHP Ver. 8.2 die mit der Defintion im Nginx übereinstimmen muss.
Mitglied: anlagenbau
anlagenbau 25.09.2023 um 13:10:01 Uhr
Goto Top
Also ich habe extra für dieses Tutorial ein Ubuntu System aufgesetzt und dieses genau nach dieser Anleitung eingerichtet, bis auf das ich eine IP vergeben habe, habe ich am System nichts verändert. Bezüglich deines Posts habe ich die Firewall(ufw disable) deaktiviert(falls diese überhaupt aktiv war).
Die Seite versuche ich direkt vom Server zu öffnen --> 127.0.0.1/phpinfo.php
Leider habe ich keine Ahnung von Linux face-smile
Mitglied: anlagenbau
anlagenbau 25.09.2023 um 13:14:52 Uhr
Goto Top
Zitat von @aqui:

Ich bekomme beim Php-Test die Fehlermeldung "502 Bad Gateway"
Achte darauf das die Zeile in der Nginx Server PHP Konfig:
...
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
...

Mit deiner PHP Version zusammenpasst!!
Dazu gibst du einmal php -v auf der Konsole ein.

Danke aqui, das war der Fehler 8.1 wurde bei mir Installiert...
Mitglied: aqui
aqui 25.09.2023, aktualisiert am 11.10.2023 um 09:19:10 Uhr
Goto Top
👍 👏
Danke für das Feedback. Ich passe das Tutorial oben noch einmal mit einem direkten Hinweis auf diesen Punkt an!
habe ich die Firewall(ufw disable) deaktiviert
Das ist nicht erforderlich, denn die Firewall ist zwar aktiv hat aber im Default kein Regelwerk und lässt somit eh alles durch!
bis auf das ich eine IP vergeben habe
Welche denn?? Normalerweise arbeitet Ubuntu im Default mit DHCP so das dein Server sich immer eine aktuelle IP aus dem Netz zieht sollte dort ein DHCP Server wie z.B. ein Heimrouter etc. aktiv sein!
Ein ip a sollte dir die aktuelle IP Adresse des Ubuntu Servers zeigen!

Dann kannst du gleich deinen Browser aufmachen auf deinem PC im Netz und versuchen mit http://<ip_adresse_server> auf den Server zuzugreifen, was dann auch problemlos aus dem Netzwerk klappen sollte.
Ist das der Fall, kannst du auch mit einem PuTTY SSH Client (Windows) direkt aus dem Netzwerk auf den Ubuntu Server zugreifen und konfigurieren. 😉
Mitglied: Matze005
Matze005 23.12.2023 um 21:59:17 Uhr
Goto Top
Hallo,

Danke für die Anleitung, ich hatte Monate verbracht daloradius auf einen Raspi 4 zum laufen zu bekommen ohne Erfolg.
Ich nutze Mac-Authentisierung mit einem Mikrotik CCR2004, nach einer Änderung von "Tunnel-Private-Group-Id" in "Mikrotik-Wireless-VLANID" gefolgt von ":=" funktioniert bei mir die dynamische VLAN Zuweisung.
Es funktioniert aber immer noch nicht unter Users Listing die Last Login Time und unter Users Accounting werden keine Date angezeigt.

Für Eure Hilfe danke ich vorab
Mitglied: aqui
aqui 23.12.2023 aktualisiert um 22:19:57 Uhr
Goto Top
Es funktioniert aber immer noch nicht unter Users Listing die Last Login Time
Da hast du Recht, das ist leider (noch) ein Fehler im Tutorial. face-sad
Dieser Radius Parameter greift nur für Logins, PPP basierte Protokolle und User Authentisierungen bei VPNs usw. Er greift explizit nicht für .1x oder MAB.
unter Users Accounting werden keine Daten angezeigt.
Im Server ist das Accounting immer aktiv. Hast du den Client so konfiguriert das er einen Accounting Request mitschickt? Z.B. bei einem Cisco Switch aaa accounting dot1x default start-stop group radius.
Mitglied: Matze005
Matze005 25.12.2023 um 08:33:08 Uhr
Goto Top
Danke für Deine Antwort,

Im Server ist das Accounting immer aktiv. Hast du den Client so konfiguriert das er einen Accounting Request mitschickt? Z.B. bei einem Cisco Switch aaa accounting dot1x default start-stop group radius.

Da komme ich nicht weiter, meine Netzwerkgeräte sind alle von Mikrotik. Wenn ich im Router und/oder Cap-Manager etwas ändere was mit "dot1x" zu tun hat bekomme ich kein Zugang zum WLAN.

Aber Daloradius funktioniert soweit, meine WLAN-Geräte kommen ins jeweilige VLAN. Das zufügen, ändern oder entfernen von Geräten ist bei Daloradius wesentlich komfortabler als bei freeradius.

Danke
Mitglied: GerdKuehner
GerdKuehner 17.02.2024 um 09:09:38 Uhr
Goto Top
Guten Morgen zusammen,

stehe gerade vor einem ganz kniffligen Problem, bei dem ich jetzt wirklich komplett anstehe, nicht mehr weiter weiß face-smile.

Gestern habe ich den UDR gegen einen UX getauscht, er reicht für meine Zwecke vollständig.
Die Konfiguration des UDR konnte ich ohne Probleme übernehmen, der UX läuft auch einwandfrei, per Mesh angebunden sind zwei AP´s, ein nanoHD und ein U6-Extender.

Radius funktioniert auch weiterhin (fast) einwandfrei, jetzt kommt das lustige Verhalten:
Alle Wlan-Geräte, die sich mit dem UX verbinden, liefern keine Upload/Download-Daten, sie werden im Radius zwar als online angezeigt, UL/DL bleibt aber auf n/a bzw der Zähler geht nicht weiter.
Verbinden (meshen) sich die Wlan-Geräte mit einem der beiden AP´s, werden Upload/Download-Daten ausgegeben, bzw. im Radius-Server gespeichert.

Ich bin zuviel Laie, als dass ich den Fehler finde. Der UDR, und jetzt der UX haben die gleiche IP, für die Geräte im Netz hat sich ja nichts geändert. Port 1813 für das Accounting ist richtig. Warum zählt der Traffic an den AP´s (die ja per Mesh am UX angebunden sind), und am UX selbst nicht? Ich komm nicht drauf.

Was mir noch aufgefallen ist.
Alle Wlan-Geräte zeigen im Radius unter (NAS) die Station-ID des AP´s an, mit dem die Geräte verbunden sind. Lustigerweise ist die NAS-Mac-Adresse, also Station-ID im letzten Octet eine Stelle höher, als die tatsächliche Hardware-Mac-Adresse es ist. Beispiel:
Hardware lt. UniFi: XX-XX-XX-XX-XX-B8
Hardware lt. Radius XX-XX-XX-XX-XX-B9
Mitglied: aqui
aqui 17.02.2024 aktualisiert um 12:59:49 Uhr
Goto Top
Das ist eigentlich eine UDR/UX spezifische Geräte Thematik die hier nicht als Troubleshooting Thread in das Tutorial gehört sondern besser in einen separaten Thread, den du mit einem hiesigen Verweis dafür aufmachen solltest.
Nur so viel: Wenn die Hersteller Firmware die NAS ID ändert ist das deren Beritt ob man das macht oder nicht. Üblich ist es ganz sicher nicht und vermutlich ein Bug aber ist wohl auch diesem Hersteller und seiner berüchtigten FW Qualität geschuldet.
Wenn der Radius das im -X Debug Mode so anzeigt, kannst du davon ausgehen das es auch stimmt. Ein zusätzlicher Wireshark Trace würde es noch bestätigen.
Port 1813 ist zweifelsohne korrekt aber Accounting muss auch im Endgerät explizit aktiviert sein. Es reicht nicht nur Authentication zu konfigurieren!
Fazit: Bitte einen spezifischen Thread dazu aufmachen!