freeradius + SQL + openvpn

BasCom

New Member
Grüsse leute. ich sitz hier vor nem mächtigen problem.

bei mir zuhaus auf nem linux läuft nen openvpn server, damit ein kumpel aus seim uni-studentendings auch mit uns dadddeln kann. der läuft auf port 443, ist eine der wenigen die er benutzen darf, um diversen gegenvorschlägen wie hamachi gleich entgegen zu wirken: es geht nicht.

da dachte ich mir: mensch benutz doch dann auch noch freeradius + sql.so müssen die user nur in der sql database existieren statt in passwd / shadow. ausserdem wäre das ganz praktisch mit dem freeradius, dann kann mein wlan zuhaus gleich auch darüber laufen.
Zertifikate runden das ganze ab. Soweit, so gut, das meiste funzt auch.der benutzer ist in der datenbank eingetragen. ich tippsel also fleissig user/ password ein beim openvpn client, der open vpn server reicht das ganze an den Radius weiter.

...log auszug.... freeradius.log

Code:
 modcall[authorize]: module "sql" returns ok for request 0
modcall: leaving group authorize (returns ok) for request 0
auth: type Local
auth: user supplied User-Password matches local User-Password
  Processing the post-auth section of radiusd.conf
modcall: entering group post-auth for request 0
rlm_sql (sql): Processing sql_postauth
radius_xlat:  'bascom'
rlm_sql (sql): sql_set_user escaped user --> 'bascom'
radius_xlat:  'INSERT into radpostauth (id, user, pass, reply, date) values ('', 'bascom', '160100', 'Access-Accept', NOW())'
rlm_sql (sql) in sql_postauth: query is INSERT into radpostauth (id, user, pass, reply, date) values ('', 'bascom', '*****', 'Access-Accept', NOW())
rlm_sql (sql): Reserving sql socket id: 1
--- Walking the entire request list ---
Nothing to do.  Sleeping until we see a request.
Threads: total/active/spare threads = 5/1/4
rlm_sql (sql): Released sql socket id: 1
  modcall[post-auth]: module "sql" returns ok for request 0
modcall: leaving group post-auth (returns ok) for request 0
Sending Access-Accept of id 172 to 127.0.0.1 port 60877
Finished request 0
Going to the next request
Thread 1 waiting to be assigned a request

auszug openvpn log


Code:
RADIUS-PLUGIN: BACKGROUND  AUTH: New user auth: username: bascom, password: *****, calling station: 79.232.xxxxx, commonname: bascom.
RADIUS-PLUGIN: radius_server().
RADIUS-PLUGIN: Build password packet:  password: *****, sharedSecret: *****.
RADIUS-PLUGIN: Send packet to 127.0.0.1.
RADIUS-PLUGIN: Get ACCESS_ACCEPT-Packet.
RADIUS-PLUGIN: parse_response_packet().
RADIUS-PLUGIN: BACKGROUND AUTH: routes: .
RADIUS-PLUGIN: BACKGROUND AUTH: framed ip: .
RADIUS-PLUGIN: No attributes Acct Interim Interval or bad length.
RADIUS-PLUGIN: BACKGROUND AUTH: Acct Interim Interval: 0.
RADIUS-PLUGIN: Client config file was not written, overwriteccfiles is false
.RADIUS-PLUGIN: BACKGROUND  AUTH: Auth succeeded in radius_server().
terminate called after throwing an instance of 'Exception'
RADIUS-PLUGIN: FOREGROUND: Authentication succeeded!
RADIUS-PLUGIN: FOREGROUND: Received routes for user: .
[COLOR="Red"]Error: Receiving data from internal socket failed![/COLOR]
Sun Sep 14 19:57:13 2008 us=674069 79.232.xxxxx:4757 PLUGIN_CALL: POST /etc/openvpn/radiusplugin.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1
Sun Sep 14 19:57:13 2008 us=674397 79.232.xxxxx:4757 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /etc/openvpn/radiusplugin.so
Sun Sep 14 19:57:13 2008 us=674732 79.232.xxxxxx:4757 TLS Auth Error: Auth Username/Password verification failed for peer
WWWRRSun Sep 14 19:57:14 2008 us=35130 79.232.xxxxx:4757 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Sun Sep 14 19:57:14 2008 us=35879 79.232.xxxxx:4757 [malle-laptop] Peer Connection Initiated with 79.232.xxxx:4757
RSun Sep 14 19:57:15 2008 us=2884 79.232.xxx.xxx:4757 PUSH: Received control message: 'PUSH_REQUEST'
Sun Sep 14 19:57:15 2008 us=3683 79.232.xxx.xxx:4757 SENT CONTROL [malle-laptop]: 'AUTH_FAILED' (status=1)
Sun Sep 14 19:57:15 2008 us=4324 79.232.xxx.xxx:4757 Delayed exit in 5 seconds
WWSun Sep 14 19:57:15 2008 us=348105 79.232.210.26:4757 Connection reset, restarting [0]
Sun Sep 14 19:57:15 2008 us=348806 79.232.210.26:4757 SIGUSR1[soft,connection-reset] received, client-instance restarting
Sun Sep 14 19:57:15 2008 us=349704 TCP/UDP: Closing socket
die rot geschriebene Zeile macht mir da Sorgen.
versuch ich übrigens aber eine erneute verbindung, ohne den openvpn server zu schliessen, selbst nach Stunden:

Code:
WRWRWRWRWRWRWRWRWRWRRADIUS-PLUGIN: FOREGROUND: OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY is called.
RADIUS-PLUGIN: FOREGROUND: New user: username: bascom, password: *****, newuser ip: 79.232.xxx.xxx, newuser port: 4765 .
[COLOR="Red"]Error: The User is already authenticated. He could not insert in user map. [/COLOR]The client connect will fail. In case of rekeying this note is ok.
Sun Sep 14 19:59:11 2008 us=288410 79.232.210.26:4765 PLUGIN_CALL: POST /etc/openvpn/radiusplugin.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1
Sun Sep 14 19:59:11 2008 us=288733 79.232.210.26:4765 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /etc/openvpn/radiusplugin.so
Sun Sep 14 19:59:11 2008 us=289066 79.232.210.26:4765 TLS Auth Error: Auth Username/Password verification failed for peer


Davon ab, das ich nicht reinkomme, weil ich schon drinn bin ( sollte eine inaktive session nicht gelöscht werden? ) hats wohl doch nocht probleme mit der verbindung von radius zu openvpn ( siehe rote fehler ). Ohne Freeradius klappt eigentlich alles bestens. auch mit dem PAM modul fuer openvpn, zur zeit läuft das halt darüber, damit das auch ueber user / password läuft und nicht nur Zertifikate.
Das schliesst aber natuerlich meine WLAN Wünsche aus. kein Freeradius, kein Wlan über Freeradius.
Bzw der Freeradius kann ja dennoch laufen fuer WLAN, meinetwegen auch ueber PAM oder unix authentication.aber es wäre doch irgendwie schoen,wenn alles ueber freeradius und sql funzen täte.

Google hält zu meinen errormessages leider fast nix bereit, ausser was chinesisches.

vll weiss jemand rat,
mfg malle

p.s.alle server, sql, freeradius und openvpn lauschen und verschicken data auf 127.0.0.1
 
Last edited by a moderator:
Benutz OpenVPN mit Zerifikaten.
Übrigens kann OpenVPN sehr gut ohne Systemuser auskommen.

PS: Du hast mit deiner Anmeldung die Regeln anerkannt. Diese beinhalten den Willen zur korrekten Benutzung deutscher Schriftsprache.
Und abgesehen von den Regeln: Du willst, dass sich jemand mit der Antwort Mühe gibt - dann gib die gefälligst auch mit der Frage mühe.
 
zu befehl. ich weiss ja das openvpn ohne Systemuser auskommt. ich wollte ja eine mysql datenbank benutzen. aber in Verbindung mit Freeradius klappt das nicht. also muss ich auf PAM umsteigen und Freeradius verzichten. was ich ja nicht so gerne wollte.
Zumal dann meine WLAN- Authentifizierung nicht benutzbar ist. ich denke aber doch,dass das aus meinem Eröffnungsthread trotz meiner eligen Schreibweise herausgeht.
 
bei mir zuhaus auf nem linux

Ich weiß ja nicht, wie groß dein Heimnetzwerk ist, aber sind ein Radius-Server und ein MySQL-Backend für die VPN-Konfiguration wirklich nötig? Tut's nicht auch ein preshared WPA2-Key für's WLAN und eine Mini-CA für OpenVPN?

Je weniger Technik nötig ist, um so weniger Fehlerquellen gibt es. Und um so übersichtlicher ist auch das Setup.

Das wichtigste an einer technischen Implementierung ist das Abwägen der erforderlichen Mittel. Es sollte so wenig wie möglich und so viel wie nötig eingesetzt werden.

Ein Setup ist nicht dann perfekt, wenn nichts mehr hinzugefügt werden kann. Es ist es dann, wenn nichts weggelassen werden könnte.
 
Nunja, allein die neugier treibt mich. Und da ich fuer die Zocker das openvpn eingerichtet habe mit dem freeradius, dachte ich, da koennt ich das auch gleich mal mit meinem WLAN austesten. Von nötig will gar nich die Rede sein.
 
Last edited by a moderator:
Back
Top