Anleitung - FreeRADIUS auf OpenWRT
Dieser Artikel beschreibt die Installation und Konfiguration von FreeRADIUS (Version 3) auf OpenWRT (18.06.1).
#!/bin/sh
# Pakete installieren
opkg update
opkg remove wpad-mini
opkg install wpad openvpn-easy-rsa
opkg install freeradius3 freeradius3-common freeradius3-mod-eap-leap freeradius3-mod-eap-gtc freeradius3-mod-digest freeradius3-mod-chap freeradius3-mod-detail freeradius3-mod-eap freeradius3-mod-eap-md5 freeradius3-mod-eap-mschapv2 freeradius3-mod-eap-peap freeradius3-mod-eap-tls freeradius3-mod-eap-ttls freeradius3-mod-exec freeradius3-mod-files freeradius3-mod-logintime
opkg install freeradius3-mod-always freeradius3-mod-attr-filter freeradius3-mod-expiration freeradius3-mod-expr freeradius3-mod-realm freeradius3-mod-unix freeradius3-mod-preprocess freeradius3-mod-radutmp freeradius3-utils freeradius3-mod-mschap freeradius3-mod-pap freeradius3-mod-passwd
# Zertifikate für FreeRADIUS erzeugen
# Im ersten Schritt müssen wir die Schlüssel und Zertifikate für FreeRADIUS erzeugen. Hier haben sich die Befehle in Version 18.06.1 ein wenig geändert.
# Werden wir nach dem "Common Name" gefragt, können wir z.B. wlan.mydomain.com eintragen.
mkdir /etc/freeradius3/certs/
mkdir /etc/freeradius3/easy-rsa/
cd /etc/freeradius3/easy-rsa/
easyrsa init-pki
easyrsa build-ca nopass
easyrsa gen-dh
# Schlüssel erzeugen
# Beim erzeugen des Schlüssels muss eine frei wählbare PEM-Passphrase eingegeben werden. zusätzlich notieren wir uns die Passphrase, da wir sie später noch brauchen werden.
easyrsa build-server-full server
# Zertifikate und Schlüssel in den richtigen Ordner kopieren
cd ..
cp easy-rsa/pki/dh.pem certs/dh
cat easy-rsa/pki/issued/server.crt easy-rsa/pki/private/server.key > certs/server.pem
openssl x509 -in easy-rsa/pki/ca.crt -outform pem -out certs/ca.pem
exit
Schlüsselpasswort (PEM-Passphrase) einfügen
In der "eap"-Konfigurationsdatei fügen wir noch das Passwort für den Schlüssel ein.
vi /etc/freeradius3/mods-enabled/eap
...
private_key_password = <Schlüssel-Passwort>
OpenWRT Wireless Interface konfigurieren
Im Grunde müssen nur 2 Werte eingetragen werden.
Radius-Authentication-Servers: <IP-des Radius-Servers>
Radius-Authentication-Secret: testing123
Das Standardpasswort "testing123" ist nur zum testen und auf den localhost mit der IP 127.0.0.1 beschränkt.
Benutzer hinzufügen
In der "authorize"-Datei können wir nun unsere WLAN-Benutzer hinzufügen.
vi /etc/freeradius3/mods-config/files/authorize
...
"use1" Cleartext-Password := "passwort1"
Testen
Sofern wir alles richtig gemacht haben können wir unseren Radius-Server nun testen. Wir starten FreeRADIUS im Debugmodus mit folgendem Befehl:
radiusd -XX
Von einen Laptop können wir uns nun mit dem WLAN verbinden.
Weitere Access Point Clients konfigurieren
Um nun weitere Access Points verbinden zu können, gehen wir in die "clients"-Konfigurationsdatei für zusätzliche Access Points und suchen die Zeile "client private-network-1". Diese passen wir an unsere Bedürfnisse an. In diesem Beispiel sind in dem angegebenen Subnet 6 Access Points von 192.168.2.6 bis 192.168.2.11 erlaubt.
vi /etc/freeradius3/clients.conf
...
client private-network-1 {
ipaddr = 192.168.6.2/29
secret = <Radius-Authentication-Secret>
}
FreeRADIUS Service starten und aktivieren
/etc/init.d/radiusd start
/etc/init.d/radiusd enable
Client Access Point
Läuft auf dem Client Access Point ebenfalls OpenWRT muss noch ein Paket nachinstalliert werden.
opkg update
opkg remove wpad-mini
opkg install wpad
Quellen
Install FreeRadius2 on a OpenWRT router for EAP authentication
OpenVPN Setup Guide for Beginners
Kommentare