Ser + Radius + LDAP

firstclaas

Neuer User
Mitglied seit
16 Mai 2006
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich muss Ser in eine bestehende Infrastruktur mit einbeziehen, d.h. ein VoIP-Netz aufbauen, wo sich alle Benutzer, die einen LDAP -Account haben, einloggen können.(Später auch noch mit Asterisk)
Ich habe ein Testsystem mit FreeRADIUS Version 1.1.3, ser_0.9.6-0.1 und ser-radius-modules_0.9.6-0.1 installiert.
Das ganze läuft auf einem Ubuntu System mit dem 2.6.17-10-server Kernel.
Via "radtest" vom radclient.c,v 1.72.2.1.2.5 konnte ich verifizieren, dass die Radius <-> LDAP Anbindung funktioniert.
Wenn ich mich aber nun mit ein Softphone via Ser über Radius authentisieren will, passiert einfach gar nichts!
Es geht nichtmal ein Paket an den LDAP raus, so als würde Ser nicht auf das Radius Modul zugreifen.

Hat hier jemand einen Ansatz für mich, oder sogar die Lösung für mein Problem!

Gruß

Claas

Code:
#
# $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp $
#
# simple quick-start config script
#

# ----------- global configuration parameters ------------------------

debug=3         # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes        # (cmd line: -E)
listen=192.168.0.1
check_via=no    # (cmd. line: -v)
dns=no           # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"

# ------------------ module loading ----------------------------------

loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
loadmodule "/usr/lib/ser/modules/textops.so"
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/auth_radius.so"

# ----------------- setting module-specific parameters ---------------

# -- usrloc params --

modparam("usrloc", "db_mode",   0)
modparam("rr", "enable_full_lr", 1)
modparam("auth_radius", "radius_config", "/etc/radiusclient-ng/radiusclient.conf")
modparam("auth_radius", "service_type", 15)

# -------------------------  request routing logic -------------------

# main routing logic

route{
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483","Too Many Hops");
                break;
        };
        if (msg:len >=  2048 ) {
                sl_send_reply("513", "Message too big");
                break;
        };
        if (!method=="REGISTER") record_route();
        if (loose_route()) {
                append_hf("P-hint: rr-enforced\r\n");
                route(1);
                break;
        };
       if (!uri==myself) {
                append_hf("P-hint: outbound\r\n");
                route(1);
                break;
        };
        if (uri==myself) {
                if (method=="REGISTER") {
                        log(1, "REGISTER: Authenticating user\n");
                        if (!radius_www_authorize("testrealm")) {
                                log(1, "REGISTER: challenging user\n");
                                www_challenge("testrealm", "0");
                                break;
                        };
                        save("location");
                        break;
                };
                lookup("aliases");
                if (!uri==myself) {
                        append_hf("P-hint: outbound alias\r\n");
                        route(1);
                        break;
                };
                if (!lookup("location")) {
                        sl_send_reply("404", "Not Found");
                        break;
                };
        };
        append_hf("P-hint: usrloc applied\r\n");
        route(1);
}
route[1]
{
        if (!t_relay()) {
                sl_reply_error();
        };
}
 
Hallo,

O.K. wie ich feststellen konnte, erfreut sich SER entweder keiner großen Beliebtheit oder aber es gibt zu wenig Anwender ;)
Ich hab das ganze Szenario jetz soweit hinbekommen, daß der Login via Softphone über den Radiusclient über den Radius-Server zum bestehenden LDAP-Server gesendet werden.
Aber .... es funktioniert naürlich noch nicht reibungslos: :mad:

Auth: rlm_ldap: Attribute "User-Password" is required for authentication.

Kommt bei jedem Login versuch!
Die Mailingliste von SER hat mir auch noch nicht weitergehholfen.
Aber das ist wohl ein Problem des Mapping beim LDAP auf Radius...
Sollte ich das Ganze irgendwann zum Rennen bringen, poste ich ich alle Konfigs damit der Nächste es leichter hat..

Gruß

Claas
 
Hi,

hast du es inzwischen hinbekommen?
deine Lösung würde mich interessieren ...
 
Hi,
nein, ich habe es noch nicht hinbekommen.
Das Projekt wurde erstmal zur Seite gelegt... :-(

Gruß
Claas
 
vielleicht kann mir ja einer helfen! :)
ich teste gerade die Radius (FreeRadius 1.1.6) - LDAP Verbindung. Für die
Verbindung habe ich die hier erwähnten
(http://www.apan.net/meetings/tokyo2006/presentation/ser-auth-radius-ldap.pdf)
Änderungen gemacht. Der digest Test funktioniert. Leider bekomm ich mittels
radtest "username" "password" localhost 1 testing123 immer ein Access-Reject,
wenn ich die LDAP Verbindung testen möchte. Der Radiusserver im Debugmode zeigt
folgendes an:
"modcall[authenticate]: module "ldap" returns invalid for request 0"
"modcall: leaving group LDAP (returns invalid) for request 0"
"auth: Failed to validate the user"
Je nach Filterwahl in der radiusd.conf, bekomm ich auch schonmal ein "timed out
while waiting for server to respond".
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.