I think I found the solution: in users-vlan i changed the lines for this
DEFAULT ldap1-Ldap-Group==Local
Tunnel-Type=VLAN,
Tunnel-Medium-Type=6,
Tunnel-Private-Group-Id=Local,
Fall-Through = No
DEFAULT ldap1-Ldap-Group==Invitados
Tunnel-Type=VLAN,
Tunnel-Medium-Type=6,
Tunnel-Private-Group-Id=Invitado,
Fall-Through = No
DEFAULT ldap2-Ldap-Group==Local
Tunnel-Type=VLAN,
Tunnel-Medium-Type=6,
Tunnel-Private-Group-Id=Local,
Fall-Through = No
DEFAULT ldap2-Ldap-Group==Invitados
Tunnel-Type=VLAN,
Tunnel-Medium-Type=6,
Tunnel-Private-Group-Id=Invitado,
Fall-Through = No
DEFAULT ldap3-Ldap-Group==Local
Tunnel-Type=VLAN,
Tunnel-Medium-Type=6,
Tunnel-Private-Group-Id=Local,
Fall-Through = No
DEFAULT ldap3-Ldap-Group==Invitados
Tunnel-Type=VLAN,
Tunnel-Medium-Type=6,
Tunnel-Private-Group-Id=Invitado,
Fall-Through = No
And it doesn't do unnecessary searches and when it has to, it searches correctly.
This works but, is it the better way to do it?
2006/6/7, wekz <[EMAIL PROTECTED]>:
Thanks very much Phil. That works, I think it doesn't work in the hints file for the reasons you told me.
Now I've got a new problem. I use the radiusGroupName for making the users belong to VLAN1, VLAN2 or VLAN3. So I enable
groupmembership_attribute = radiusGroupName
but I left groupname_attribute and groupmembership_filter commented ( in each ldap module ).
In other file called users-vlan I defined this:
DEFAULT Ldap-Group == Local
stuff for assigning VLAN1
.....
The file that determine the users procedence is users-procedence:
DEFAULT NAS-IP-Address == 192.168.51.yy, Autz-Type=customer1
.....
The file that proxies ( users-proxy ):
DEFAULT proxy-to-realm:=CENTRAL
The authorization section:
....
users-procedence
autztype customer1{
redundant {
group {
ldap1 {
notfound = returnfail = return
}
users-vlan
mschap
eap
notfound = 1
fail = 1
}users-proxy.....
}
}
The situation is: a user that must be authorized against ldap2 make a match in the users-procedence file and get customer2 autztype. So the user is looked for in ldap2.
1.- If it fails in the logs I could see radius looking for ldap_groupcmp() in ldap3 when all I think it must do is proxy.
2.- In case the user is found it make a search too for ldap group in ldap3.
I think in the first case there are two problems: it searches when it doesn't have to ( unnecessary search ), and it searches bad because it does in the last ldap instantiated ( that is ldap3 )
In the second case the problem is that it searches in the last ldap instantiated.
(( This configuration works fine when all you have is one ldap ))
Is that a bug ?? I found a similar bug in bug-list but it belongs to version 1.0.1 ( bug #163, about unnecessary searches ) and I think a read a bug about searching in the last ldap instantiated ( but I think this has to be with older versions and I can't find it )
I solved this problem yesterday but I don't know how to say... I solved it in a dirty-way ( I hope you understand ). So if you or anyone have an idea ...
2006/6/5, Phil Mayers < [EMAIL PROTECTED]>:wekz wrote:
>
> I don't know if I have explain it correctly, if I haven't just tell me (
> I'm not an english speaker )
Your english is great.
> My hints file:
Nearly there. Try:
DEFAULT NAS-IP-Address == 192.168.xx.yy, Autz-Type := LDAPx
I'm not sure that'll work in a hints file - so you may need to use a
"users" file - hints puts items into the request pairs, Autz-Type needs
to go into the configure pairs.
Try this:
modules {
# other stuff
files filesFirst {
usersfile = ${confdir}/usersFirst
}
}
authorize {
preprocess
filesFirst
Autz-Type LDAP1 {
# stuff here
ldap1
}
# other LDAP modules
}
And in ${confdir}/usersFirst:
DEFAULT NAS-IP-Address == 192.168.51.xx, Autz-Type := LDAP1
DEFAULT NAS-IP-Address == 192.168.51.yy, Autz-Type := LDAP2
...and so on.
The other slightly simpler way might be to use a "passwd" (badly named)
module, e.g.:
modules {
passwd nas2autz {
filename = ${confdir}/nas2autz
format = "*NAS-IP-Address:Autz-Type"
# set to 0 to read file on every request - slow
# but instant-updates
hashsize = 100
}
}
authorize {
preprocess
nas2autz
Autz-Type LDAP1 {
ldap1
}
# other Autz
}
...and in ${confdir}/nas2autz
192.168.51.xx:LDAP1
192.168.51.yy:LDAP2
Hope that helps
Phil
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

