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();
        };
}
 

firstclaas

Neuer User
Mitglied seit
16 Mai 2006
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
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
 

goatserules

Gesperrt
Mitglied seit
1 Mai 2007
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
Hi,

hast du es inzwischen hinbekommen?
deine Lösung würde mich interessieren ...
 

firstclaas

Neuer User
Mitglied seit
16 Mai 2006
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hi,
nein, ich habe es noch nicht hinbekommen.
Das Projekt wurde erstmal zur Seite gelegt... :-(

Gruß
Claas
 

goatserules

Gesperrt
Mitglied seit
1 Mai 2007
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
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".
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,041
Beiträge
2,018,176
Mitglieder
349,329
Neuestes Mitglied
p.duraj