pretre
Goto Top

Freeradius Problem auf Buffalo WZR-HP-G300NH

Hallo zusammen,
hab mir den o.g. Router gekauft und bin dabei Freeradius einzurichten und hab Probleme mit dem Zertifikat um mich zu verbinden....
Hoff es kann mir jemand helfen, danke face-smile

Firmware: DD-WRT v24SP2-EU-US (08/19/10) std (SVN revision 14998)

Folgende Einstellungen am Router:
6d3df9b1c60e8c993f04361d755318a5

WLAN-Basiseinstellungen:
0fbe0785facec88db9dccbd50b193af3

WLAN-Sicherheit:
670e50b48be5edd17dd8583d3d8c61dd

Freeradius-Einstellungen:
65a2e93633f0b6c4867a5e32ea4c192e



Zertifikat radiustest-cert.p12 erstellt, Lokal abgespeichert und in "Vertrauenswürdige Stammzertifizierungsstelle" eingefügt.
Betriebssystem WIN7 Professional 64bit SP1, Broadcom 802.11n-Netzwerkadapter

5d2d01111acd8fc5cee3b7398609de3c
4cb812c8cf87ed5fb91cde4f63adc82a
0f3f8eaaf3c8be43139df38f5f9a5e1a

cb2f4b0a344e96eb1c32515183c5784d
c96a97516ee6c30cec9133a28af9b079


Das Ergebnis ist, "Es konnte keine Verbindung hergestellt werden".


Ich muss sagen ich bin absoluter Neuling was Radiusserver angeht, bin einfach interessiert wieso es nicht klappt.... im DD-WRT Forum bin ich nicht wirklich weiter gekommen.

...vielleicht kann mir ja Aqui helfen face-wink, die Anleitung hier hat mir schon viel geholfen Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Super Anleitung! der Test mit NTRadPing Test Utility hat funktioniert: response: Access-Accept.

Falls noch irgendwelche Daten fehlen, postet ruhig face-smile

Danke schonmal.

MfG Pretre

Content-Key: 164373

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: aqui
aqui 12.04.2011 um 09:32:03 Uhr
Goto Top
In der Anleitung steht auch das du am besten den FreeRadius mal im Debug Modus startest. Also eine SSH Session auf den Router starten, den Radius stoppen und mit radiusd -X im Debug Modus neu starten.
Danach siehst du anhand der Konsol Fehlermeldungen dann sofort wo das Problem liegt !
Mitglied: Pretre
Pretre 12.04.2011 um 18:55:30 Uhr
Goto Top
Hallo aqui,
gesagt, getan.....

root@ROUTER:~# radiusd -X
FreeRADIUS Version 2.1.8, for host mips-unknown-linux-uclibc, built on Jun 28 20                                                                                            10 at 04:40:02
Copyright (C) 1999-2009 The FreeRADIUS server project and contributors.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License v2.
Starting - reading configuration files ...
including configuration file /etc/freeradius/radiusd.conf
including configuration file /etc/freeradius/clients.conf
including files in directory /etc/freeradius/modules/
including configuration file /etc/freeradius/modules/acct_unique
including configuration file /etc/freeradius/modules/always
including configuration file /etc/freeradius/modules/attr_filter
including configuration file /etc/freeradius/modules/attr_rewrite
including configuration file /etc/freeradius/modules/chap
including configuration file /etc/freeradius/modules/checkval
including configuration file /etc/freeradius/modules/counter
including configuration file /etc/freeradius/modules/cui
including configuration file /etc/freeradius/modules/detail
including configuration file /etc/freeradius/modules/detail.example.com
including configuration file /etc/freeradius/modules/detail.log
including configuration file /etc/freeradius/modules/digest
including configuration file /etc/freeradius/modules/echo
including configuration file /etc/freeradius/modules/etc_group
including configuration file /etc/freeradius/modules/exec
including configuration file /etc/freeradius/modules/expiration
including configuration file /etc/freeradius/modules/expr
including configuration file /etc/freeradius/modules/files
including configuration file /etc/freeradius/modules/inner-eap
including configuration file /etc/freeradius/modules/ippool
including configuration file /etc/freeradius/modules/krb5
including configuration file /etc/freeradius/modules/ldap
including configuration file /etc/freeradius/modules/linelog
including configuration file /etc/freeradius/modules/logintime
including configuration file /etc/freeradius/modules/mac2ip
including configuration file /etc/freeradius/modules/mac2vlan
including configuration file /etc/freeradius/modules/mschap
including configuration file /etc/freeradius/modules/ntlm_auth
including configuration file /etc/freeradius/modules/otp
including configuration file /etc/freeradius/modules/pam
including configuration file /etc/freeradius/modules/pap
including configuration file /etc/freeradius/modules/passwd
including configuration file /etc/freeradius/modules/perl
including configuration file /etc/freeradius/modules/policy
including configuration file /etc/freeradius/modules/preprocess
including configuration file /etc/freeradius/modules/radutmp
including configuration file /etc/freeradius/modules/realm
including configuration file /etc/freeradius/modules/smbpasswd
including configuration file /etc/freeradius/modules/smsotp
including configuration file /etc/freeradius/modules/sql_log
including configuration file /etc/freeradius/modules/sqlcounter_expire_on_login
including configuration file /etc/freeradius/modules/sradutmp
including configuration file /etc/freeradius/modules/unix
including configuration file /etc/freeradius/modules/wimax
including configuration file /etc/freeradius/eap.conf
including files in directory /etc/freeradius/sites-enabled/
including configuration file /etc/freeradius/sites-enabled/control-socket
including configuration file /etc/freeradius/sites-enabled/default
including configuration file /etc/freeradius/sites-enabled/inner-tunnel
main {
        allow_core_dumps = no
}
including dictionary file /etc/freeradius/dictionary
main {
        prefix = "/usr"  
        localstatedir = "/var"  
        logdir = "/var/log"  
        libdir = "/usr/lib"  
        radacctdir = "/var/db/radacct"  
        hostname_lookups = no
        max_request_time = 30
        cleanup_delay = 5
        max_requests = 1024
        pidfile = "/var/run/radiusd.pid"  
        checkrad = "/usr/sbin/checkrad"  
        debug_level = 0
        proxy_requests = no
 log {
        stripped_names = no
        auth = no
        auth_badpass = no
        auth_goodpass = no
 }
 security {
        max_attributes = 200
        reject_delay = 1
        status_server = yes
 }
}
radiusd: #### Loading Realms and Home Servers ####
radiusd: #### Loading Clients ####
 client localhost {
        ipaddr = 127.0.0.1
        require_message_authenticator = no
        secret = "testing123"  
        nastype = "other"  
 }
radiusd: #### Instantiating modules ####
 instantiate {
 Module: Linked to module rlm_expiration
 Module: Instantiating expiration
  expiration {
        reply-message = "Password Has Expired  "  
  }
 }
radiusd: #### Loading Virtual Servers ####
server inner-tunnel {
 modules {
 Module: Checking authenticate {...} for more modules to load
 Module: Linked to module rlm_pap
 Module: Instantiating pap
  pap {
        encryption_scheme = "auto"  
        auto_header = yes
  }
 Module: Linked to module rlm_chap
 Module: Instantiating chap
 Module: Linked to module rlm_mschap
 Module: Instantiating mschap
  mschap {
        use_mppe = yes
        require_encryption = no
        require_strong = no
        with_ntdomain_hack = no
  }
 Module: Linked to module rlm_unix
 Module: Instantiating unix
  unix {
        radwtmp = "/var/log/radwtmp"  
  }
 Module: Linked to module rlm_eap
 Module: Instantiating eap
  eap {
        default_eap_type = "peap"  
        timer_expire = 60
        ignore_unknown_eap_types = no
        cisco_accounting_username_bug = no
        max_sessions = 4096
  }
 Module: Linked to sub-module rlm_eap_tls
 Module: Instantiating eap-tls
   tls {
        rsa_key_exchange = no
        dh_key_exchange = yes
        rsa_key_length = 512
        dh_key_length = 512
        verify_depth = 0
        pem_file_type = yes
        private_key_file = "/etc/freeradius/certs/server.pem"  
        certificate_file = "/etc/freeradius/certs/server.pem"  
        CA_file = "/etc/freeradius/certs/ca.pem"  
        private_key_password = "whatever"  
        dh_file = "/etc/freeradius/certs/dh"  
        random_file = "/etc/freeradius/certs/random"  
        fragment_size = 1024
        include_length = yes
        check_crl = no
        cipher_list = "DEFAULT"  
   }
rlm_eap: SSL error error:02001002:lib(2):func(1):reason(2)
rlm_eap_tls: Error reading certificate file /etc/freeradius/certs/server.pem
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 load module "eap".  
/etc/freeradius/sites-enabled/inner-tunnel[176]: Errors parsing authenticate section.


____________

aber irgendwie kann ich da nix rauslesen, kannst du mir evtl. weiterhelfen?
danke schonmal.
Mitglied: aqui
aqui 13.04.2011 um 16:27:32 Uhr
Goto Top
Es hätten die letzten 3 Zeilen genügt, denn da steht wo dein Problem ist !! Da steht es doch schwarz auf weiß ! Wieso konntest du da nix rauslesen ???
Er kann das EAP Modul nicht laden ! Und das liegt daran das er die Datei /etc/freeradius/certs/server.pem nicht lesen kann !
Du solltest also erstmal checken mit "ls -l" ob es diese Datei in dem Verzeichnis überhaupt gibt. Und wenn ja wie die Zugriffsrechte sind.
Klar das EAP in die Hose geht wenn er die Zertifikatsdatei nicht lesen kann.
Mitglied: Pretre
Pretre 18.04.2011 um 18:11:15 Uhr
Goto Top
Hallo zusammen,
folgendes ist in dem ordner vorhanden....

root@ROUTER:/etc/freeradius/certs# ls -l
-rw-r-----    1 root     root         4279 Aug 19  2010 Makefile
-rw-r-----    1 root     root         7821 Aug 19  2010 README
-rwxr-x---    1 root     root         2174 Aug 19  2010 bootstrap
-rw-r-----    1 root     root         1288 Aug 19  2010 ca.cnf
-rw-r-----    1 root     root         1234 Aug 19  2010 client.cnf
-rwxr-x---    1 root     root         1153 Aug 19  2010 doclientcert
-rw-r-----    1 root     root         1123 Aug 19  2010 server.cnf
-rw-r-----    1 root     root          578 Aug 19  2010 xpextensions

wieso wurde die datei nicht erstellt, und wie gehts nun weiter? wo bekomme ich diese datei denn nun her? sorry für mein unwissen face-smile
schonmal danke face-wink

Grüße,
Pretre
Mitglied: aqui
aqui 20.04.2011 um 15:23:18 Uhr
Goto Top
Du kannst sie auch extern erzeugen und raufkopieren. Du müsstest mal checken mit chmod und chown wie die Zugriffsrechte in diesem Verzeichnis sind. Bzw. mit "touch server.pem" erstmal eine leere datei anlegen und mit chmod 777 die erstmal von überall beschreibbar machen.
Fakt ist das es eben diese Datei nicht gibt oder nicht angelegt wurde und damit dann natürlich die Radius Authentifizieren fehlschlägt !!
Mitglied: Pretre
Pretre 22.04.2011 um 12:56:54 Uhr
Goto Top
Frohe Ostern face-smile

ich glaub ich muss erstmal nen Linux-Einsteiger Buch lesen, wie kopiere und verändere ich Dateien über die Konsole.... face-smile

Hat vielleicht jemand einen Tip für mich?

Danke.

Grüße,
Pretre
Mitglied: aqui
aqui 26.04.2011 um 13:33:38 Uhr
Goto Top
Ganz einfach:
Installier dir WinSCP auf deinem Rechner:
http://winscp.net/eng/docs/lang:de
Dann kannst du ganz einfach per Drag and Drop Datein auf den Router kopieren ! (SSH Zugang natürlich im Setup (Dienste) dafür einschalten !!)
Mitglied: Pretre
Pretre 26.04.2011 um 21:36:13 Uhr
Goto Top
Aqui, das is ja mal genial - vielen Dank.
mit Drag&Drop ist´s doch einfacher und geht schneller.

Werd mein Glück nun so mal probieren, aber ich versteh halt irgendwie immer noch nicht wieso die Datei nicht erzeugt wird. Kann man ja eigentlich nichts falsch machen?
Mitglied: Pretre
Pretre 26.04.2011 um 22:20:07 Uhr
Goto Top
Guten Abend noch einmal,
also mit WinSCP konnte ich nun schonmal die vorhandenen Ordner durchforsten, und habe unter /jffs/etc/freeradius/certs folgendes gefunden:

root@ROUTER:/jffs/etc/freeradius/certs# ls -la
drwxr-x---    2 root     root            0 Apr 18 18:07 .
drwxr-xr-x    7 root     root            0 Apr  5 02:44 ..
-rw-------    1 root     root         1024 Apr 18 18:07 .rnd
-rw-r-----    1 root     root         4183 Apr 18 18:07 01.pem
-rw-r--r--    1 root     root         4135 Apr 11 19:59 02.pem
-rw-r--r--    1 root     root         4113 Apr  7 21:41 03.pem
-rw-r--r--    1 root     root         4113 Apr  7 21:51 04.pem
-rw-r--r--    1 root     root         4114 Apr  7 22:19 05.pem
-rw-r--r--    1 root     root         4114 Apr  7 23:34 06.pem
-rw-r-----    1 root     root         4279 Apr  5 02:33 Makefile
-rw-r-----    1 root     root         7821 Apr  5 02:33 README
-rwxr-x---    1 root     root         2174 Apr  5 02:33 bootstrap
-rw-r-----    1 root     root         1285 Apr 18 18:06 ca.cnf
-rw-r-----    1 root     root         1171 Apr 18 18:07 ca.der
-rw-r-----    1 root     root         1743 Apr 18 18:07 ca.key
-rw-r-----    1 root     root         1643 Apr 18 18:07 ca.pem
-rw-r-----    1 root     root         1234 Apr  5 02:33 client.cnf
-rw-r-----    1 root     root          245 Apr  5 02:40 dh
-rwxr-x---    1 root     root         1153 Apr  5 02:33 doclientcert
-rw-r-----    1 root     root          117 Apr 18 18:07 index.txt
-rw-r-----    1 root     root           21 Apr 18 18:07 index.txt.attr
-rw-r--r--    1 root     root           21 Apr 11 19:59 index.txt.attr.old
-rw-r-----    1 root     root            0 Apr 18 18:07 index.txt.old
-rw-r-----    1 root     root         5120 Apr 18 18:06 random
-rw-r-----    1 root     root            3 Apr 18 18:07 serial
-rw-r-----    1 root     root            3 Apr 18 18:07 serial.old
-rw-r-----    1 root     root         1122 Apr 18 18:06 server.cnf
-rw-r-----    1 root     root         4183 Apr 18 18:07 server.crt
-rw-r-----    1 root     root         1054 Apr 18 18:06 server.csr
-rw-r-----    1 root     root         1751 Apr 18 18:06 server.key
-rw-r-----    1 root     root         2525 Apr 18 18:07 server.p12
-rw-r-----    1 root     root         3476 Apr 18 18:07 server.pem
-rw-r-----    1 root     root          578 Apr  5 02:33 xpextensions
root@ROUTER:/jffs/etc/freeradius/certs#

die dateien sollten doch hier liegen
root@ROUTER:/etc/freeradius/certs# ls -la
drwxr-x---    2 root     root          125 Aug 19  2010 .
drwxr-xr-x    7 root     root          482 Aug 19  2010 ..
-rw-r-----    1 root     root         4279 Aug 19  2010 Makefile
-rw-r-----    1 root     root         7821 Aug 19  2010 README
-rwxr-x---    1 root     root         2174 Aug 19  2010 bootstrap
-rw-r-----    1 root     root         1288 Aug 19  2010 ca.cnf
-rw-r-----    1 root     root         1234 Aug 19  2010 client.cnf
-rwxr-x---    1 root     root         1153 Aug 19  2010 doclientcert
-rw-r-----    1 root     root         1123 Aug 19  2010 server.cnf
-rw-r-----    1 root     root          578 Aug 19  2010 xpextensions
root@ROUTER:/etc/freeradius/certs#


aber für was ist denn dieser /jffs ordner?

Wenn ich dann die Dateien mit WinSCP von /jffs/etc/freeradius/certs nach /etc/freeradius/certs kommt folgende Fehlermeldung (also bei allen Dateien, nicht nur bei der server.pem)
40868470fb4eb6d91cb347c6e5d00b47

Es wird doch bald mal klappen face-smile
thx, Pretre
Mitglied: aqui
aqui 27.04.2011 um 08:27:14 Uhr
Goto Top
Jffs ist das Jolient File System. Das kannst du ausschalten im DD-WRT Setup unter Administration allerdings funktioniert der FreeRadius dann nicht mehr, da er Schreibreichte auf Teile des Dateisystems benötigt zur Generierung der Zertifikate.
Das Problem ist das der Radius Daemon beim Start die Datei radiusd.conf aus dem Standard Verzeichnis /etc/freeradius/ lädt. Vermutlich ist das noch ein Bug in der aktuellen DD-WRT Firmware.
Wenn du dir die Konfig Datei dort einmal mit "less radiusd.conf" ansiehst, dann siehst du das er die generierten Zertifikate versucht aus dem Verzeichnis /etc/freeradius/certs zu laden wo sie aber gar nicht drin sind wie du selber ja auch gesehen hast face-sad
Folglich bricht auch der Start des Freeradius mit dem oben zu sehenden EAP Fehler ab.
Alle Verzeichnisse unter /etc sind Read Only, du kannst also leider die radiusd.conf nicht entsprechend sauber anpassen dort. Und deshalb auch deinen WinSCP Fehlermeldung, denn du kannst auf dieses Verzeichnis /Read Only) nicht schreiben !
Die Lösung ist aber ganz einfach:
Es gilt also die Konfig Datei aus dem Verzeichnis /jffs/etc/freeradius/ zu laden ! Das geschieht mit dem -d Parameter im Aufruf.
Vorab musst du aber diese Konfig Datei noch entsprechend anpassen, das sie die richtigen Verzeichnisse benutzt !!
Also mit cd /jffs/etc/freeradius/ in dieses Verzeichnis wechseln.
Mit dem vi Editor diese Datei editieren vi radiusd.conf

prefix = /usr
exec_prefix = /usr
sysconfdir = /jffs/etc
localstatedir = /var
sbindir = /usr/sbin
logdir = /var/log
raddbdir = /jffs/etc/freeradius
radacctdir = /var/db/radacct


und dann abspreichern mit :wq
Der vi ist etwas gewöhnungsbedürftig als Editor und nix für Winblows Klicki- Bunti Weicheier aber mit 3 Kommandos wuppt man das face-wink
http://www.linux-fuer-alle.de/doc_show.php?docid=29&catid=8
Am einfachsten gehst du mit den Cursor Tasten an die entsprechende Stelle gibst <esc> i ein und fügst das /jffs hinzu in den o.a. fett markierten Stellen.
Mit less radiusd.conf kannst du nach dem Sichern mit :wq prüfen ob die Änderungen korrekt übernommen wurden in die Konfig Datei. Fertig !

Wenn du nun den Radius mit dem Aufruf radiusd -d /jffs/etc/freeradius -X startest kommt der FreeRadius problemlos mit EAP Support im Debugging Modus hoch und man sieht die ersehnte Ready to process requests Zeile !
Jetzt kannst du alles testen und über den Debugging output checken obs nocht irgendwo Probleme sind.
Um den FreeRadius danach im Daemon Modus (ohne Debugging) für den produktivbetrieb laufen zu lassen stoopts du den Debug Modus mit >ctrl> c und startest ihn neu ganz einfach ohne Debug Schalter:
radiusd -d /jffs/etc/freeradius
Mit dem Kommando ps kannst du dann die aktiven Prozesse im Hintergrund sehen und da sollte auch der "radiusd" dann auftauchen !

Nun gilt es den Freeradius auch im Startupskript so zu starten (ohne Debugger natürlich) damit man das nicht immer händisch eingeben muss.
Mitglied: Pretre
Pretre 28.04.2011 um 12:34:30 Uhr
Goto Top
Zitat von @aqui:
Der vi ist etwas gewöhnungsbedürftig als Editor und nix für Winblows Klicki- Bunti Weicheier aber mit 3 Kommandos
wuppt man das face-wink


face-smile Danke Aqui, werd´s heute abend gleich mal ausprobieren - na hoffentlich kommt bald ´ne Firmware ohne den Bug raus face-smile

Ihr hört von mir face-wink
Mitglied: aqui
aqui 28.04.2011, aktualisiert am 18.10.2012 um 18:46:39 Uhr
Goto Top
Im Testaufbau lief es soweit vollkommen einwandfrei. Mit WLAN als auch mit dynamischer VLAN Zuweisung ala
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Mitglied: 99607
99607 29.04.2011 um 11:44:31 Uhr
Goto Top
hi,

also ich habe nun das gleich Gerät und auch versucht den Freeradius zum laufen zu bekommen. Noch ein wenig hin und her geht er nun face-smile

Das Problem war:

das Verzeichnis /jffs/etc/freeradius/sites-enabled/ war leer.
nach einem "cp /jffs/etc/freeradius/sites-available/default /jffs/etc/freeradius/sites-enabled/"

dann konnte ich mit "radiusd -d /jffs/etc/freeradius -X" starten und mich mit user/pw am wlan anmelden.

also erst mit "ps" welche pid der radiusd hat und dann mit "kill (pid des radiusd)" den Daemon beenden.

andere files habe ich nicht verändert.

Leider die das Verzeichnis nach Änderung in der WebGUI wieder leer.
Warum?
Meine Vermutung es wird versucht ne symbolische links von sites-available/default auf sites-enabled/default zusetzen.
Da der USB-Stick den ich nutze FAT formatiert ist, sind dort keine symbolische links möglich, ist das Verzeichnis dann leer.
Weder mir das am we noch mal anschauen und mal eine Stick mal mit ext2/3 testen.

gruß
Mitglied: aqui
aqui 29.04.2011 um 11:55:12 Uhr
Goto Top
Dank fürs Feedback. Eigentlich muss man nicht mit einem USB Stick arbeiten (es sei denn das ist ein UMTS Stick für den UMTS/GSM WAN Zugang !), denn das /jffs/... Dateisystem kommt aus dem internen Flash. Alles was man dahinkopiert bleibt dann erhalten. Externen Flash mit USB usw. benötigt man nicht.
Hier klappte der Start auch so ohne das Kopieren von /sites-enabled/. Man kann aber im Startup Skript des Routers das Kommando fest einbauen. In der Regel ist das aber nicht nötig.
Die Probleme tauchen oft auf wenn man die Zertifikatsgenerierung in der Service --> FreeRadius Seite nicht abwartet, die dauert etwas. Wenn die sauber durchgelaufen ist funktioniert der FreeRadius Start dann in der Regel einwandfrei. OK, Voraussetzung ist natürlich das der JFFS Support aktiviert ist im Adminstration Setup !
Der Radius funktioniert dann sehr stabil mit allen Features.
Mitglied: doc-holliday
doc-holliday 25.12.2014 um 19:54:52 Uhr
Goto Top
hallo und super anleitung! bis zu "Ready to process requests Zeile" habe ich es geschafft, aber wie geht es weiter? wo muss ich das startup script von wem anpassen?
p.s.: ich möchte dd-wrt als zweiten radius server im netz nutzen, geht es überhaupt? ich komme zumindestens bis zu nutzer und passwort, doch dann kommt keine verbindung zu stande und ich denke, es liegt das gleiche problem vor, wie o. g.
Mitglied: aqui
aqui 26.12.2014 aktualisiert um 11:52:35 Uhr
Goto Top
Ja, das geht natürlich !
Das Startup Skript ist eigentlich ganz einfach, ist aber etwas abhängig davon welches Linux rennt. Such einfach bei Dr. Google nach "Freeradius Startup" usw. da wirst du fündig.

Wenn du Probleme mit dem Radius Server bzw. der Konfig hast, dann starte den Freeradius immer im Debug Mode mit dem Parameter -X wie es in den hiesigen Radius Tutorials:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
und auch
Netzwerk Management Server mit Raspberry Pi
genau beschrieben ist !
Der sagt dir dann immer ganz genau wo es kneift !!
Mitglied: doc-holliday
doc-holliday 04.01.2015 um 20:20:06 Uhr
Goto Top
Hm, ich war froh, die Verbindung zum Router zu bekommen. Ich habe keine Ahnung von Linux. In welchem Verzeichnis im Router könnte es wohl sein? Google bringt da nicht die notwendige Hilfe für mich als Rookie.
Mitglied: aqui
aqui 05.01.2015 um 09:08:52 Uhr
Goto Top
Ich habe keine Ahnung von Linux.
Das ist traurig in der heutigen Zeit !!
Aber vielleicht investierst du ja mal 30 Euro in einen Raspberry Pi und änderst das mal:
Netzwerk Management Server mit Raspberry Pi

Du brauchst kein Verzeichnis anzugeben ! Der Freeradius heisst raddb vermutlich kannst du ihn auch schlicht und einfach mit freeradius aufrufen.
Gib mal ein rad und drücke danach die TAB Taste. Linux komplettiert daraufhin automatisch die Kommandos. Desgleichen funktioniert das mit free<TAB>
Steht aber auch alles so om Tutorial oben...wenn man es denn mal liest face-wink
Mitglied: doc-holliday
doc-holliday 05.01.2015 um 23:01:30 Uhr
Goto Top
nun ja, anscheinend habe ich mit dem zweiten radius auf dem dd-wrt übernommen. vielleicht habe ich ja auch ein verständnissproblem. ich denke, ich muss irgendwo im router das startupscript vom radius verändern, damit er die zertifikate aus dem richtigen verzeichnis lädt, richtig? da man das freeradius-verzeichnis nicht beschreiben kann und ich bisher nicht weiß, welches script wo geändert werden muss, wird es eng
Mitglied: aqui
aqui 06.01.2015 um 15:19:17 Uhr
Goto Top
irgendwo im router das startupscript vom radius verändern, damit er die zertifikate aus dem richtigen verzeichnis lädt
Eigentlich nein ! Wenn di im Default Verzeichnis liegen wo er sie erwartet muss man das nicht angeben, dann passiert das automatisch.
Sofern er sie nicht findet sagt er dir das aber auch sofort in den Start messages die der Server ausgibt.
Ganz detailiert sogar wenn du ihm mit -X imDebug Mode startest (raddb -X)
Man kann es auch anpassen im Startskript aber warum die Mühe für eine Sonderlocke ??

P.S.: Deine Shift Taste auf dem Keyboard ist defekt. Solltest du mal reparieren !
Mitglied: doc-holliday
doc-holliday 06.01.2015 um 17:52:02 Uhr
Goto Top
hallo, ich komme bis benutzer und passwort, aber dann geht es nicht mehr weiter. es wird kein zertifikat (wurde generiert) angeboten (ich habe schon einen radius mit directory server für die benutzer im netz laufen, da geht es). der radius auf dem router scheint seit gestern abend zu laufen (ps eingegeben und da erscheint er mit radiusd -d /jffs/etc/freeradius), ich hatte aber auch noch keinen reboot. das mit raddb -X geht garnicht, auch mit free<TAB> (siehst du, shift geht doch manchmal) funktioniert auch nicht. shared key ist auf dem client richtig eingegeben, port und ip stimmen.
Mitglied: aqui
aqui 06.01.2015 aktualisiert um 18:36:47 Uhr
Goto Top
aber dann geht es nicht mehr weiter.
Dashalb ja auch die wiederholte inständige Bitte hier endlich den Radius Server mal im Debug Mode zu starten damit wir entlich mal wissen WARUM es nicht mehr weiter geht !!!
es wird kein zertifikat (wurde generiert) angeboten
Das macht der Server ja auch nicht selber sondern muss man VORHER mit OpenSSL auf dem CLI selber machen ! Siehe dieses Tutorial:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Dort wird diese prozedur explizit beschrieben !
ich habe schon einen radius mit directory server für die benutzer im netz laufen, da geht es
Sieh...also generell klappts doch !
das mit raddb -X geht garnicht
Doch das geht !
Vermutlich heisst die Datei in deiner Distro "radiusd" ?! Zitat Tutorial:
"Man öffnet jetzt wieder ein Terminalfenster als root User (su -) und wechselt ins Verzeichnis /usr/sbin/ und startet hier den Radius Server mit Debug Output Option mit dem Kommando: ./radiusd -X"

Sichere 802.1x WLAN-Benutzer Authentisierung über Radius

Probier das oder suche mit find / -name radi* -print oder find / -name rad* -print nach der Start Datei !
Vorher natürlich noch mit kill <prozess-id> den alten Radius stoppen den du mit ps ax dort siehst. 2mal den Radius starten mag Unix natürlich nicht !

P.S.: Es macht wirklich keinen Spass solche Texte ohne Groß- Kleinschrift lesen zu müssen. Solltest du mal drüber nachdenken !
Mitglied: doc-holliday
doc-holliday 06.01.2015 um 19:31:35 Uhr
Goto Top
da ist es:
radiusd: FreeRADIUS Version 2.2.3, for host mips-unknown-linux-uclibc, built on Jun 14 2014 at 23:54:10
Copyright (C) 1999-2013 The FreeRADIUS server project and contributors.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License.
For more information about these matters, see the file named COPYRIGHT.
Starting - reading configuration files ...
including configuration file /jffs/etc/freeradius/radiusd.conf
including configuration file /jffs/etc/freeradius/clients.conf
including configuration file /jffs/etc/freeradius/clients.manual
including files in directory /jffs/etc/freeradius/modules/
including configuration file /jffs/etc/freeradius/modules/cui
including configuration file /jffs/etc/freeradius/modules/pam
including configuration file /jffs/etc/freeradius/modules/pap
including configuration file /jffs/etc/freeradius/modules/otp
including configuration file /jffs/etc/freeradius/modules/soh
including configuration file /jffs/etc/freeradius/modules/chap
including configuration file /jffs/etc/freeradius/modules/echo
including configuration file /jffs/etc/freeradius/modules/exec
including configuration file /jffs/etc/freeradius/modules/expr
including configuration file /jffs/etc/freeradius/modules/ldap
including configuration file /jffs/etc/freeradius/modules/krb5
including configuration file /jffs/etc/freeradius/modules/perl
including configuration file /jffs/etc/freeradius/modules/unix
including configuration file /jffs/etc/freeradius/modules/radutmp
including configuration file /jffs/etc/freeradius/modules/counter
including configuration file /jffs/etc/freeradius/modules/opendirectory
including configuration file /jffs/etc/freeradius/modules/cache
including configuration file /jffs/etc/freeradius/modules/files
including configuration file /jffs/etc/freeradius/modules/realm
including configuration file /jffs/etc/freeradius/modules/redis
including configuration file /jffs/etc/freeradius/modules/wimax
including configuration file /jffs/etc/freeradius/modules/mac2vlan
including configuration file /jffs/etc/freeradius/modules/replicate
including configuration file /jffs/etc/freeradius/modules/ntlm_auth
including configuration file /jffs/etc/freeradius/modules/logintime
including configuration file /jffs/etc/freeradius/modules/radrelay
including configuration file /jffs/etc/freeradius/modules/sql_log
including configuration file /jffs/etc/freeradius/modules/sradutmp
including configuration file /jffs/etc/freeradius/modules/attr_rewrite
including configuration file /jffs/etc/freeradius/modules/smbpasswd
including configuration file /jffs/etc/freeradius/modules/etc_group
including configuration file /jffs/etc/freeradius/modules/preprocess
including configuration file /jffs/etc/freeradius/modules/attr_filter
including configuration file /jffs/etc/freeradius/modules/rediswho
including configuration file /jffs/etc/freeradius/modules/expiration
including configuration file /jffs/etc/freeradius/modules/inner-eap
including configuration file /jffs/etc/freeradius/modules/acct_unique
including configuration file /jffs/etc/freeradius/modules/dhcp_sqlippool
including configuration file /jffs/etc/freeradius/sql/mysql/ippool-dhcp.conf
including configuration file /jffs/etc/freeradius/modules/linelog
including configuration file /jffs/etc/freeradius/modules/sqlcounter_expire_on_login
including configuration file /jffs/etc/freeradius/modules/detail.example.com
including configuration file /jffs/etc/freeradius/modules/checkval
including configuration file /jffs/etc/freeradius/modules/always
including configuration file /jffs/etc/freeradius/modules/detail
including configuration file /jffs/etc/freeradius/modules/digest
including configuration file /jffs/etc/freeradius/modules/dynamic_clients
including configuration file /jffs/etc/freeradius/modules/ippool
including configuration file /jffs/etc/freeradius/modules/mac2ip
including configuration file /jffs/etc/freeradius/modules/mschap
including configuration file /jffs/etc/freeradius/modules/passwd
including configuration file /jffs/etc/freeradius/modules/policy
including configuration file /jffs/etc/freeradius/modules/smsotp
including configuration file /jffs/etc/freeradius/modules/detail.log
including configuration file /jffs/etc/freeradius/eap.conf
including files in directory /jffs/etc/freeradius/sites-enabled/
including configuration file /jffs/etc/freeradius/sites-enabled/default
including configuration file /jffs/etc/freeradius/sites-enabled/control-socket
including configuration file /jffs/etc/freeradius/sites-enabled/inner-tunnel
main {
allow_core_dumps = no
}
including dictionary file /jffs/etc/freeradius/dictionary
main {
name = "radiusd"
prefix = "/usr"
localstatedir = "/var"
sbindir = "/usr/sbin"
logdir = "/var/log"
run_dir = "/var/run"
libdir = "/usr/lib"
radacctdir = "/var/db/radacct"
hostname_lookups = no
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
pidfile = "/var/run/radiusd.pid"
checkrad = "/usr/sbin/checkrad"
debug_level = 0
proxy_requests = no
log {
stripped_names = yes
auth = yes
auth_badpass = yes
auth_goodpass = no
}
security {
max_attributes = 200
reject_delay = 1
status_server = yes
}
}
radiusd: #### Loading Realms and Home Servers ####
radiusd: #### Loading Clients ####
client 192.168.2.229 {
require_message_authenticator = no
secret = "xxxxxxx"
shortname = "DD-WRT-RADIUS"
}
radiusd: #### Instantiating modules ####
instantiate {
Module: Linked to module rlm_expiration
Module: Instantiating module "expiration" from file /jffs/etc/freeradius/modules/expiration
expiration {
reply-message = "Password Has Expired "
}
}
radiusd: #### Loading Virtual Servers ####
server { # from file /jffs/etc/freeradius/radiusd.conf
modules {
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_pap
Module: Instantiating module "pap" from file /jffs/etc/freeradius/modules/pap
pap {
encryption_scheme = "auto"
auto_header = yes
}
Module: Linked to module rlm_chap
Module: Instantiating module "chap" from file /jffs/etc/freeradius/modules/chap
Module: Linked to module rlm_mschap
Module: Instantiating module "mschap" from file /jffs/etc/freeradius/modules/mschap
mschap {
use_mppe = yes
require_encryption = yes
require_strong = yes
with_ntdomain_hack = no
allow_retry = yes
}
Module: Linked to module rlm_eap
Module: Instantiating module "eap" from file /jffs/etc/freeradius/eap.conf
eap {
default_eap_type = "peap"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 4096
}
Module: Linked to sub-module rlm_eap_tls
Module: Instantiating eap-tls
tls {
rsa_key_exchange = no
dh_key_exchange = yes
rsa_key_length = 512
dh_key_length = 512
verify_depth = 0
CA_path = "/jffs/etc/freeradius/certs"
pem_file_type = yes
private_key_file = "/jffs/etc/freeradius/certs/server.pem"
certificate_file = "/jffs/etc/freeradius/certs/server.pem"
CA_file = "/jffs/etc/freeradius/certs/ca.pem"
private_key_password = "xxxxxxx"
dh_file = "/jffs/etc/freeradius/certs/dh"
fragment_size = 1024
include_length = yes
check_crl = no
cipher_list = "DEFAULT"
verify {
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
use_nonce = yes
timeout = 0
softfail = no
}
}
Module: Linked to sub-module rlm_eap_peap
Module: Instantiating eap-peap
peap {
default_eap_type = "mschapv2"
copy_request_to_tunnel = yes
use_tunneled_reply = yes
proxy_tunneled_request_as_eap = no
soh = no
}
Module: Linked to sub-module rlm_eap_mschapv2
Module: Instantiating eap-mschapv2
mschapv2 {
with_ntdomain_hack = no
send_error = no
}
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_files
Module: Instantiating module "files" from file /jffs/etc/freeradius/modules/files
files {
usersfile = "/jffs/etc/freeradius/users"
acctusersfile = "/jffs/etc/freeradius/acct_users"
preproxy_usersfile = "/jffs/etc/freeradius/preproxy_users"
compat = "no"
}
reading pairlist file /jffs/etc/freeradius/users
reading pairlist file /jffs/etc/freeradius/users.manual
reading pairlist file /jffs/etc/freeradius/acct_users
reading pairlist file /jffs/etc/freeradius/preproxy_users
Module: Checking accounting {...} for more modules to load
Module: Linked to module rlm_exec
Module: Instantiating module "exec" from file /jffs/etc/freeradius/modules/exec
exec {
wait = no
input_pairs = "request"
shell_escape = yes
timeout = 10
}
Module: Checking session {...} for more modules to load
Module: Linked to module rlm_radutmp
Module: Instantiating module "radutmp" from file /jffs/etc/freeradius/modules/radutmp
radutmp {
filename = "/var/db/radacct/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
perm = 384
callerid = yes
}
} # modules
} # server
server inner-tunnel { # from file /jffs/etc/freeradius/sites-enabled/inner-tunnel
modules {
Module: Creating Post-Auth-Type = REJECT
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_unix
Module: Instantiating module "unix" from file /jffs/etc/freeradius/modules/unix
unix {
radwtmp = "/var/log/radwtmp"
}
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_realm
Module: Instantiating module "suffix" from file /jffs/etc/freeradius/modules/realm
realm suffix {
format = "suffix"
delimiter = "@"
ignore_default = no
ignore_null = no
}
Module: Linked to module rlm_logintime
Module: Instantiating module "logintime" from file /jffs/etc/freeradius/modules/logintime
logintime {
reply-message = "You are calling outside your allowed timespan "
minimum-timeout = 60
}
Module: Checking session {...} for more modules to load
Module: Checking post-proxy {...} for more modules to load
Module: Checking post-auth {...} for more modules to load
Module: Linked to module rlm_attr_filter
Module: Instantiating module "attr_filter.access_reject" from file /jffs/etc/freeradius/modules/attr_filter
attr_filter attr_filter.access_reject {
attrsfile = "/jffs/etc/freeradius/attrs.access_reject"
key = "%{User-Name}"
relaxed = no
}
reading pairlist file /jffs/etc/freeradius/attrs.access_reject
} # modules
} # server
radiusd: #### Opening IP addresses and Ports ####
listen {
type = "auth"
ipaddr = *
port = 1812
}
listen {
type = "control"
listen {
socket = "/var/run/radiusd.sock"
}
}
listen {
type = "auth"
ipaddr = 127.0.0.1
port = 18120
}
Listening on authentication address * port 1812
Listening on command file /var/run/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Ready to process requests.


im Verzeichnis liegen aber schon Zertifikate, welche ich über das web-ui gemacht habe. ich bin durcheinander!
Mitglied: aqui
aqui 07.01.2015 aktualisiert um 09:37:37 Uhr
Goto Top
War ja eine schwere Geburt face-wink Den obigen Output hätte man auch sinnigerweise um die wirklich relevanten Messages kürzen können der Übersicht halber face-sad
Du kannst ja ganz genau sehen wo dein FreeRadius seine Zertifikate erwartet:
CA_path = "/jffs/etc/freeradius/certs"
pem_file_type = yes
private_key_file = "/jffs/etc/freeradius/certs/server.pem"
certificate_file = "/jffs/etc/freeradius/certs/server.pem"
CA_file = "/jffs/etc/freeradius/certs/ca.pem"
private_key_password = "xxxxxxx"
dh_file = "/jffs/etc/freeradius/certs/dh"

Sieht also ganz gut aus bei dir !!
Wo ist denn nun dein wirkliches Problem ?!
Mitglied: doc-holliday
doc-holliday 07.01.2015 um 09:49:27 Uhr
Goto Top
Hallo, wie gesagt bis Benutzer und Passwort läuft es, aber dann ist Schluss.
Mitglied: aqui
aqui 07.01.2015 um 10:37:04 Uhr
Goto Top
Und wieder die Murmeltier Frage: WAS zeigt dir der FreeRadius dann an wenn dieser Request eingeht UND du den FreeRadius im Debugging Mode mit -X gestartet hast ???
Mitglied: doc-holliday
doc-holliday 07.01.2015 um 10:43:09 Uhr
Goto Top
Na das werde ich heute Abend eruieren face-smile
Mitglied: aqui
aqui 07.01.2015 um 14:51:54 Uhr
Goto Top
Wir sind gespannt... face-wink
Mitglied: doc-holliday
doc-holliday 07.01.2015 um 17:24:14 Uhr
Goto Top
Unglaublich! ich habe alles nochmal im Router neu eingegeben, die Firewall auf dem Router ausgeschaltet und siehe da, geht! Kann das sein?