Freeradius & zu übergebende Variable ändern

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
dassven
Beiträge: 1
Registriert: 06.09.2011 21:28:26

Freeradius & zu übergebende Variable ändern

Beitrag von dassven » 06.09.2011 21:46:55

Hallo, ich setze zur Zeit ein Radius auf, um PPPoE Authentifizierung & Accounting zu betreiben. Eine Software habe ich für die Verwaltung. Das Webbasierte AdminPanel funktioniert einwandfrei. Da es eine Umstellung ist von einem bereits existierendem Netzwerk, steht vorerst die Frage außer acht, neue Benutzernamen zu vergeben (250 User und alles per Post.). Damit ich zuverlässig alle Probleme in der APC umgehen möchte, nutze ich realms, um die Authentifizierung zu gewährleisten. Benutzernamen haben folgenden Aufbau "123-123#abc@domain.com". bei der Anmeldung wird der realm "@domain.com" abgeschnitten. soweit funktioniert auch die Abfrag beim MySQL. Die Software nutzt aber zusätzlich ein paar kleine "AuthentifizierungsProgramme" welches die Abfragen von Downloadgeschwindigkeit, Trafficvolumen etc abfragt. Der Ablauf ist folgender:
1. Abfrage Benutzer und Kennwort
2. Abfrage von "Profileinstellungen" (Speed, Traffic etc.) mit einem Programm namens "rmauth".
Das ist festgelhaten in der users im Freeradius Pfad und sieht folgendermaßen aus: Exec-Program-Wait="/usr/local/bin/rmauth \"%{NAS-IP-Address}\" \"%{User-Name}\" \"%{Calling-Station-Id}\""
Nun ist der ankommende "Benutzer" ja der vollständige Anmeldename, also mit ...@domain.com. übergeben werden muss aber nur der erste Teil, ohne Realm. In der Dialup.conf ist das geregelt über den Stripped-User-Name. Nur leider funktioniert der nicht in der "users".
Wie kann ich den Realm auch bei der Übergabe von dem auszuführendem Befehl wegschneiden, damit auch die Profildaten ausgelesen werden. Ohne die Abfrage mit dem Programm funktioniert leider auch die Einwahl nicht (keine IP, keine Limits etc.)

Danke im vorab.
LG Sven

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Freeradius & zu übergebende Variable ändern

Beitrag von rendegast » 07.09.2011 20:00:20

Code: Alles auswählen

Exec-Program-Wait="/usr/local/bin/rmauth \"%{NAS-IP-Address}\" \"%{User-Name}\" \"%{Calling-Station-Id}\""

Vielleicht

Code: Alles auswählen

Exec-Program-Wait="/usr/local/bin/rmauth-wrapper.sh \"%{NAS-IP-Address}\" \"%{User-Name}\" \"%{Calling-Station-Id}\""
und
/usr/local/bin/rmauth-wrapper.sh:

Code: Alles auswählen

#!/bin/sh
/usr/local/bin/rmauth "$1" "${2%@*}" "$3"
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten