freeRADIUS & DD-WRT mit WPA2 und Windows XP – Teil 1
RADIUS steht für Remote Authentication Dial In User Service und ist ein Triple-A-System (Authentifizierung, Autorisierung und Accounting). Dieser kann in einem WLAN als zentraler Authentifizierungsserver dienen und genau dass will ich hier mal dokumentieren !
Da ich Zertifikate einsetzen wollte, musste ich erstmal den freeRADIUS unter Debian Etch/Lenny neubauen, weil dieser keine TLS/EAP/PEAP/TTLS Unterstützung hat (Lizenzproblem mit OpenSSL). Also kurz hier vorbeischauen und Links unter “Source package” auf *.dsc, *.orig und *.diff klicken um den Quellcode runterzuladen. Diesen nach /usr/src kopieren und mit dpkg-source -x *.dsc entpacken. Mit ls -l prüfen ob folgender Ordner existiert “freeradius-2.0.4+dfsg” (Stand 11.09.08)
Nun kann man mit einem Blick in debian/control sehen, welche Bedingungen erfüllt sein müssen (Build-Depends), damit wir das Paket neubauen können.
autotools-dev, debhelper (>= 6.0.7), libgdbm-dev, libiodbc2-dev, libkrb5-dev, libldap2-dev, libltdl3-dev, libmysqlclient15-dev | libmysqlclient-dev, libpam0g-dev, libpcap-dev, libperl-dev, libpq-dev, libsasl2-dev, libsnmp-dev, libtool, python-dev
Zu diesen Paketen kommt noch die libssl-dev, die wir jetzt gleich an das Zeilenende von Build-Depends mit anhängen. Die Zeile sollte dann wie folgt aussehen
Source: freeradius
Build-Depends: autotools-dev, debhelper (>= 6.0.7), libgdbm-dev, libiodbc2-dev, libkrb5-dev, libldap2-dev, libltdl3-dev, libmysqlclient15-dev | libmysqlclient-dev, libpam0g-dev, libpcap-dev, libperl-dev, libpq-dev, libsasl2-dev, libsnmp-dev, libtool, python-dev, libssl-dev
Section: net
Jetzt einfach ein
aptitude install autotools-dev debhelper libgdbm-dev libiodbc2-dev libkrb5-dev libldap2-dev libltdl3-dev libmysqlclient-dev libpam0g-dev libpcap-dev libperl-dev libpq-dev libsasl2-dev libsnmp-dev libtool python-dev libssl-dev
Wenn das fertig ist, können wir uns mit einem Editor die debian/rules ansehen. Hier alles von –without-rlm_eap-* zu –with-rlm_eap-* ändern außer –without-rlm_eap_tnc, dass bitte so lassen. Das gleiche auch mit –without-openssl und wahlweise noch mit –without-rlm_otp. Dann suchen wir noch in der rules den Anschnitt
for pkg in ${pkgs} ; do \
if dh_shlibdeps -p $$pkg -- -O 2>/dev/null | grep -q libssl; then \
echo "$$pkg links to openssl" ;\
exit 1 ;\
fi ;\
done
und entfernen diesen. Wenn ich/wir nichts vergessen haben dann in das freeradius Verzeichnis wechseln und dpkg-buildpackage -uc -us ausführen. Am Ende sollten wir in /usr/src unsere Pakete vorfinden. Hier meine Liste
root@build debian [0] # ll
insgesamt 2,2M
-rw-r--r-- 1 root root 201K 2008-09-09 10:11 freeradius-common_2.0.4+dfsg-7_all.deb
-rw-r--r-- 1 root root 927K 2008-09-09 10:11 freeradius-dbg_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 127K 2008-09-09 10:11 freeradius-dialupadmin_2.0.4+dfsg-7_all.deb
-rw-r--r-- 1 root root 17K 2008-09-09 10:11 freeradius-iodbc_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 18K 2008-09-09 10:11 freeradius-krb5_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 34K 2008-09-09 10:11 freeradius-ldap_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 25K 2008-09-09 10:11 freeradius-mysql_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 36K 2008-09-09 10:11 freeradius-postgresql_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 72K 2008-09-09 10:11 freeradius-utils_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 5,3K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7.diff.gz
-rw-r--r-- 1 root root 1,3K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7.dsc
-rw-r--r-- 1 root root 5,3K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7_i386.changes
-rw-r--r-- 1 root root 503K 2008-09-09 10:11 freeradius_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 102K 2008-09-09 10:11 libfreeradius-dev_2.0.4+dfsg-7_i386.deb
-rw-r--r-- 1 root root 84K 2008-09-09 10:11 libfreeradius2_2.0.4+dfsg-7_i386.deb
Diese könnte etwas anderst aussehen, sollte aber bis auf die Versionsnummer vollständig sein.
Für die Schreibfaulen: Hier die diff für die Änderungen. Runterladen, dann in das freeradius Verzeichnis wechseln und dann patch -p1 -i ../pfad/zur/diff ausführen.
Nun können wir unseren RADIUS Server mit
dpkg -i freeradius_2.0.4+dfsg-6_i386.deb freeradius-common_2.0.4+dfsg-6_all.deb freeradius-utils_2.0.4+dfsg-6_i386.deb libfreeradius2_2.0.4+dfsg-6_i386.deb
einfach installieren. Bei Fragen, Fehlern oder Anmerkungen einfach einen Kommentar da lassen.
Auf die Pakete kann auch via
deb ftp://zion.devnu11.net/ unstable main contrib non-free
zugegriffen werden.
Hallo!
Wollte das gerade mal probieren und folgendes kam beim compilieren:
dpkg-buildpackage -uc -us
dpkg-buildpackage: source package is freeradius
dpkg-buildpackage: source version is 2.0.4+dfsg-6
dpkg-buildpackage: source changed by Stephen Gran
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 2.0.4+dfsg-6
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 6.0.7)
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
und übergehe ich beim kompilieren mit -d kommt irgendwann:
/bin/bash: dh_lintian: command not found
make[1]: *** [binary-common] Fehler 127
make[1]: Leaving directory `/usr/src/freeradius-2.0.4+dfsg’
make: *** [binary-arch] Fehler 2
Ausführliche Antwort ist per Mail raus !
Für die anderen: Bitte alles installieren was in den Build-Depends (debian/control) steht !
Zum schnellen Herunterladen von Sources und Dependencies eignet sich apt-get:
apt-get build-dep freeradius
apt-get source freeradius
–without-rlm_eap_ikev2 sollte auch gelassen werden (im Patch wird es gelassen, per Hand nicht)
Hey rmichel,
dein howto ist sehr gut beschrieben, nach dem neubauen des freeradius paketes erhalte ich folgende Fehlermeldung wenn ich direkt im Anschluss freeradius -X ausführe.
Wenn ich das Paket als Sourcedatei runterlade und nichts editiere kommt dieses nicht.
rlm_eap: SSL error error:00000000:lib(0):func(0):reason(0)
rlm_eap_tls: Error loading randomness
rlm_eap: Failed to initialize type tls
/etc/freeradius/eap.conf[17]: Instantiation failed for module “eap”
/etc/freeradius/sites-enabled/inner-tunnel[223]: Failed to find module “eap”
/etc/freeradius/sites-enabled/inner-tunnel[176]: Errors parsing authenticate
section.
Ich hoffe du kannst mir schnell weiterhelfen!!!
MFG
Hallo,
beim packen (dpkg-buildpackage -uc -us ausführen) der dateien erhalte ich am Ende immer eine Fehlermeldung hier die letzten Zeilen:
checking for EAPIKEv2/connector.h… no
configure: error: set –without-rlm_eap_ikev2 to disable it explicitly
configure: error: /bin/sh ´./configure´ failed for ./types/rlm_eap_ikev2
configure: error: ./configure failed for src/modules/rlm_eap
make: *** [config.status] Fheler 1
dpkg-buildpackage: Fehlschlag: debian/rules build gab Fehler-Exitstatus 2
*ikev2 habe ich ebenfalls auf without in rules gelassen.
Was kann ich tun?
Brauche dringend Hilfe da ich Anfang nächste Woche für eine Cisco 1250 eine Radius-Authentifizierung brauchen
mfg
bjassi