VLAN Assignment with RADIUS

Valentin Heidelberger heidelberger at univention.de
Fri Dec 23 14:18:41 CET 2016


Thank you very much! The replies already helped a lot.

Now I am just wondering where exactly I would have to put that one
config, which was suggested:

if (&Called-Station-Id =~ /:SSID P$/) {
        update reply {
            &Tunnel-Type := VLAN
            &Tunnel-Medium-Type = IEEE-802
            &Tunnel-Private-Group-Id = "20"
        }
    }
    elsif (&Called-Station-Id =~ /:SSID B$/) {
        update reply {
            &Tunnel-Type := VLAN
            &Tunnel-Medium-Type = IEEE-802
            &Tunnel-Private-Group-Id = "40"
        }
    }

Besides I am wondering, if someone has ever tried to do this via LDAP?
Is Radius capable of using a LDAP attribute to match a VLAN to a user
logging in?

Thanks again!

On 22.12.2016 21:08, Brian Candler wrote:
> On 22/12/2016 15:35, Valentin Heidelberger wrote:
>> I am trying to do the following with RADIUS
>>
>> There is 1 AP with 2 SSIDs - lets cal them "B" and "P"
>>
>> I want RADIUS to assign VLAN20 to "P" and VLAN40 to "B"
> What kind of access point?  Most access points that I know of will let
> you statically assign different SSIDs to different VLANs.
>> I have found no other method online than configuring static users in the
>> users file with VLANs assigned to them. In my setup users are
>> authenticated with LDAP. Do I really have to assign every single user
>> the VLAN or is there a simpler way like assigning the VLAN to a virtual
>> server running on a different port or something focussed on the SSIDs?
> 
> Well you *could* point the two SSIDs to two different radius servers (or
> radius server ports).
> 
> But it would probably be simpler to run a single RADIUS server, then you
> have to look at some attribute in the *request* packet which lets you
> determine which SSID the user is connecting to.
> 
> For example, here's what an Access-Request for a Unifi access point
> looks like:
> 
> Thu Dec 22 17:17:52 2016
>         Packet-Type = Access-Request
>         User-Name = "brian.candler"
>         NAS-IP-Address = 10.15.0.22
>         NAS-Identifier = "24a43cxxxxxx"
>         NAS-Port = 0
>         Called-Station-Id = "24-A4-3C-xx-xx-xx:My SSID"
>         Calling-Station-Id = "F8-E0-79-xx-xx-xx"
>         Framed-MTU = 1400
>         NAS-Port-Type = Wireless-802.11
>         Connect-Info = "CONNECT 0Mbps 802.11b"
>         EAP-Message = 0x....
>         State = 0x....
>         Message-Authenticator = 0x....
>         Event-Timestamp = "Dec 22 2016 17:17:52 UTC"
>         Timestamp = 1482427072
> 
> So *for this particular type of device* you can match on Called-Station-Id:
> 
>     if (&Called-Station-Id =~ /:SSID P$/) {
>         update reply {
>             &Tunnel-Type := VLAN
>             &Tunnel-Medium-Type = IEEE-802
>             &Tunnel-Private-Group-Id = "20"
>         }
>     }
>     elsif (&Called-Station-Id =~ /:SSID B$/) {
>         update reply {
>             &Tunnel-Type := VLAN
>             &Tunnel-Medium-Type = IEEE-802
>             &Tunnel-Private-Group-Id = "40"
>         }
>     }
> 
> Your access points may be different.
> 

-- 
Valentin Heidelberger
IT Systems Integrator Apprentice

Univention Summit | 26. und 27.01.2017 | Universum | Bremen
www.univention-summit.de | www.univention-summit.com

Univention GmbH
be open.
Mary-Somerville-Str.1
28359 Bremen
Tel. : +49 421 22232-96
Fax : +49 421 22232-99

heidelberger at univention.de
http://www.univention.de

Geschäftsführer: Peter H. Ganten
HRB 20755 Amtsgericht Bremen
Steuer-Nr.: 71-597-02876


More information about the Freeradius-Users mailing list