Help with eduroam proxying config

Mohamed Lrhazi Mohamed.Lrhazi at georgetown.edu
Fri Mar 13 04:27:43 CET 2015


I documented my first working config as a runnable docker image, in case
it's useful to anyone:

https://github.com/lrhazi/freeradius-eduroam

Thanks,
Mohamed.

On Wed, Mar 11, 2015 at 11:27 AM, Mohamed Lrhazi <
Mohamed.Lrhazi at georgetown.edu> wrote:

> Thanks a lot guys, we'll try those suggestions and be back :)
>
> My first try at freeradius, just figuring out the basics... seeing how
> requests would be routed based on username and so on...
>
> Mohamed.
>
> On Wed, Mar 11, 2015 at 10:59 AM, Scott Armitage <S.P.Armitage at lboro.ac.uk
> > wrote:
>
>>
>> > On 11 Mar 2015, at 14:46, Mohamed Lrhazi <Mohamed.Lrhazi at georgetown.edu>
>> wrote:
>> >
>> > Hello,
>> >
>> > With this config, I want to say: anyuser at anything.edu should go to
>> eduroam,
>> > but I get a warning that it wont be the case.. What's the correct
>> config:
>> >
>> > Thanks a lot,
>> > Mohamed.
>> >
>> > proxy.conf:
>> >
>> >
>> > home_server eduroam1 {
>> >    type = auth
>> >    ipaddr = tlrs1.eduroam.us
>> >    port = 1645
>> >    secret = eduroam_radius_secret
>> > }
>> > home_server eduroam2 {
>> >    type = auth
>> >    ipaddr = tlrs2.eduroam.us
>> >    port = 1645
>> >    secret = eduroam_radius_secret
>> > }
>>
>> Why 1645 and not 1812?
>>
>>
>> > home_server_pool eduroam {
>> >    type = fail-over
>> >    home_server = eduroam1
>> >    home_server = eduroam2
>> > }
>> >
>> > realm LOCAL {
>> > }
>> > realm NULL {
>> > }
>> > realm georgetown.edu {
>> > }
>> > realm gu.edu {
>> > }
>> >
>> > realm "~(.*\\.)+edu$" {
>> >        nostrip
>> >        auth_pool = eduroam
>> > }
>>
>>
>> This isn’t being a good eduroam neighbour as you will send all kinds of
>> crap upstream, but more importantly eduroam ISN’T JUST EDU.  I’d use the
>> approach of:
>>
>> In proxy.conf:
>>
>>
>> realm eduroam {
>>     auth_pool = eduroam
>>     nostrip
>> }
>>
>> Then in your authorize section something like:
>>
>> if("%{User-Name}" =~ /\\\\?([^@\\\\]+)@?([-[:alnum:]._]*)?$/) {
>>
>>
>>                 if(!"%{2}" || ("%{2}" =~ /.*georgetown\.edu$/i) ) {
>>                         update request {
>>                                 #Stripped-User-Name := "%{1}"
>>                                 Realm := "local"
>>                         }
>>                         if(!"%{2}" && ("%{User-Name}" =~ /^@/) &&
>> ("%{User-Name}" !~ /georgetown\\.edu$/i) ) {
>>                                 update request {
>>                                         #Stripped-User-Name := "%{1}"
>>                                         Realm := "eduroam"
>>                                 }
>>                                 update control {
>>                                         Proxy-To-Realm := "eduroam"
>>                                 }
>>                         }
>>                 }
>>                 else{
>>                         update request {
>>                                 #Stripped-User-Name := "%{1}@%{2}"
>>                                 Realm := "%{2}"
>>                         }
>>                 }
>>         }
>>
>>
>>
>>
>> regards
>>
>>
>> Scott Armitage
>>
>>
>> -
>> List info/subscribe/unsubscribe? See
>> http://www.freeradius.org/list/users.html
>>
>
>


More information about the Freeradius-Users mailing list