unlang to overcome cisco zero tag issue and for dynamic vlan assignment
Phil Mayers
p.mayers at imperial.ac.uk
Thu Apr 10 11:36:20 CEST 2008
bluelip at gmail.com wrote:
> We'd like to setup the following:
>
> A workstation is booted, the supplicant asks for the credentials, the cisco switch pa
> sses the credentials to a freeradius server, freeradius authenticates the user to an
> edirectory ldap server, freeradius decides which Tunnel-Private-Group-Id to send bac
> k to the switch to place the user into the correct VLAN.
>
> The authentication/authorization works fine. The cisco switch accepts the returned VL
> AN info if we 'hard code it into the users files such as with:
>
> DEFAULT
> Tunnel-Private-Group-ID:1 := 901
> Tunnel-Type:1 = VLAN,
> Tunnel-Medium-Type:1 = IEEE-802
>
> We attempted to make the configuration more generic by setting Tunnel-Private-Group-I
> D equal to an LDAP attribute in ldap.attrmap. This would automatically associate the
> VLAN ID w/ the user.
>
> replyItem Tunnel-Private-Group-ID ourldapattribforthevlan
>
> That didn't work because freeradius wasn't associating a tag with the attribute(or wa
> s setting it to zero when responding to the switch. A wireshark capture confirmed the
> 0 tag. We attempted to add a :1 after Tunnel-Private-Group-ID, but that didn't pan o
> ut either.
>
> We then attempted to use unlang in the users file to accomplish the same thing. (Tunn
unlang doesn't live in the users file; it lives in the config file, like so:
server {
authorize {
preprocess
ldap
update reply {
Tunnel-Private-Group-Id:1 := "%{reply:Tunnel-Client-Endpoint}"
}
}
}
> el-Client-Endpoint was added to ldap.attrmap as dummy variable to hold the 'ourldapat
> tribforthevlan' from LDAP)
>
>
> DEFAULT
> Tunnel-Private-Group-ID:1 := `%{reply:Tunnel-Client-Endpoint}`,
> Tunnel-Type:1 = VLAN,
> Tunnel-Medium-Type:1 = IEEE-802
This isn't "unlang" - it's just a plain "files" module entry.
>
> With this configuration, we tried countless combinations of backticks, single quotes,
> and double quotes. The best response we could send back to the switch was:
> Tunnel-Type:1 = VLAN
> Tunnel-Medium-Type:1 = IEEE-802
> Tunnel-Private-Group-Id:1 = ""
It looks to me like the "files" module was running before the "ldap" module.
>
> Has anyone else come across the issue with Cisco not dealing w/ 0 tags? Is there a wa
I have not. RFC2868 seems pretty clear that a "0" tag is permitted. I've
used vlan assignment with a cisco (formarly Airespace) WISM and it will
take a "0" tag.
What platform & IOS version are you on?
> y to use unlang to pull in the variables to be used in the users file?
As I say, unlang doesn't run in the users file - think of it as
conditional branching and so forth for the config file.
>
> Thank you for taking the time to read this. After a couple of days of searching, we s
> till haven't come up w/ the correct search terms for google.
>
> Thank you,
> Mike Coles
>
> --
> This message was sent on behalf of bluelip at gmail.com at openSubscriber.com
> http://www.opensubscriber.com/messages/freeradius-users@lists.freeradius.org/topic.html
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list