Google LDAP Authentication for WIFI Setup issues

Wessel Louwris wessel at stutit.nl
Sun Nov 10 00:40:32 UTC 2024


Hi,

We got RADIUS + Google Workspace working after some experiments.
Due too google LDAP limitations only TTLS with inner PAP is possible indeed. Which you cannot select on MacOS + iOS

We use an MDM to provision these profiles but I think you can also use Apple Configurator to create such profiles

I used https://ermitacode.com/eaptest/ (commercial tool) to debug/test our configuration, from there we found out how to configure the needed profiles.	

regards, Wessel


> On 8 Nov 2024, at 18:48, Joseph Allen <joseph.l.allen at gmail.com> wrote:
> 
> Hey,
> 
> You're right I'm making changes I don't understand, but I'm learning as I'm
> going. This is my first try at using FreeRadius.
> 
> When I said I added the default server back in, I meant I added the base
> configuration of the default back in, without any changes to it.
> 
> Since last night, I did the same with the google_ldap virtual server and
> mods.
> 
> I then went in and updated EAP TTLS to point to the google_ldap, and set
> TTLS as the default in the eap file.
> 
> I still ran into issues with trying to connect my iPad, and that is where I
> realized it is the stupid iOS that's the problem. You said to make sure the
> client is TTLS, but iOS doesn't have a basic way to set the authentication
> to TTLS, it defaults to TLS. I switched to my android phone, and selected
> TTLS and boom, it worked right away.
> 
> I'm now investigating ways to get Apple to play nice, but I doubt I'll find
> anything there.
> 
> At least FreeRadius is working now, so thanks for all your help.
> 
> On Fri, Nov 8, 2024 at 2:14 AM Alan DeKok <aland at deployingradius.com> wrote:
> 
>> On Nov 8, 2024, at 2:16 AM, Joseph Allen <joseph.l.allen at gmail.com> wrote:
>>> Thanks, I feel like that got me moving in the right direction. My mistake
>>> before I removed the default was not recognizing/understanding the
>>> google-ldap-auth was a virtual server / tunnel.
>> 
>>  That file is in the directory for virtual servers, and starts with a
>> "server" block.  So,..
>> 
>>  Your previous message made it clear that your approach was to change all
>> kinds of things, without really being clear on how things worked, or what
>> was going on.  This approach is guaranteed to *increase* confusion, and to
>> cause problems.
>> 
>>> I put the default back in, and removed the "inner-tunnel" from the
>>> sites-enabled.
>> 
>>  Why?
>> 
>>  The concern here is that you're just making random changes without
>> understanding why you're making those changes, or what impact those changes
>> have.
>> 
>>> Then updated mods-enabled/eap virtual_server to point to
>> google-ldap-auth.
>>> I also renamed the virtual server to "google-ldap-auth" to match the file
>>> name...that one bugged me and made me spend 15 minutes chasing down why
>> it
>>> couldn't find the virtual server.
>> 
>>  Or just read the start of the file, where it says "server google-ldap",
>> but OK...
>> 
>>> I also updated the default->authorize->ldap section to this:
>>>       ldap_google
>>> 
>>>       #
>>>       #  If you're using Active Directory and PAP, then uncomment
>>>       #  the following lines, and the "Auth-Type LDAP" section below.
>>>       #
>>>       #  This will let you do PAP authentication to AD.
>>>       #
>>>       if ((ok || updated) && User-Password && !control:Auth-Type) {
>>>               update control {
>>>                       &Auth-Type := ldap
>>>               }
>>>       }
>> 
>>  Yeah, that won't work.
>> 
>>  Why?  You made a bunch of changes without understanding how EAP works.
>> You've also *not* done what Matthew suggested.
>> 
>>  When you make changes,, instead of making massive changes all at once,
>> make ONE change at a time.  A SMALL change.  Test it, and then move on to
>> the next change.
>> 
>>  This is the process which is recommended in the documentation.  See "man
>> users".
>> 
>>  When you change 15 things at the same time, and it breaks... you have no
>> idea what's broken,  This is a a guaranteed way to waste large amounts of
>> time.
>> 
>>> It's now doing a lot more, but still basically failing in the same spot
>> on
>>> the IF statement looking for a password. Here's the full log:
>> 
>>  Because the inner-tunnel for PEAP also uses EAP.  And you've "helpfully"
>> butchered the inner-tunnel configuration, so that it doesn't use the "eap"
>> module.  Which means that PEAP won't work.
>> 
>>  This is, in fact, exactly the same problem you had before.  Matthew
>> explained this.  Go back and read his message.
>> 
>> 
>>  But even fixing that issue won't help.
>> 
>>  Why?  Go read the top of the google-ldap-auth file.  It explains very
>> clearly that it's for EAP-TTLS with PAP.  If you're doing PEAP, then there
>> *is no password* in the inner tunnel.  Because PEAP doesn't send one to
>> FreeRADIUS.
>> 
>>  Which means that using PEAP with Google LDAP is impossible,  I could
>> explain, but there isn't much point.  It's impossible, and nothing you do
>> will make PEAP work with Google LDAP.
>> 
>>  Configure the client to use EAP-TTLS with PAP.  Then try configuring the
>> server to use google LDAP.
>> 
>>  Alan DeKok,.
>> 
>> -
>> List info/subscribe/unsubscribe? See
>> http://www.freeradius.org/list/users.html
>> 
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html



More information about the Freeradius-Users mailing list