WiFi & Mac address authentication

Phil Mayers p.mayers at imperial.ac.uk
Fri Mar 24 01:53:23 CET 2006


brainstorm wrote:
> I've tried your recommendations but it does not work as expected:
> using "Reject" as rlm_passwd's "authtype" (as you suggested), the user
> is always rejected, even when the MAC is in the file and is actually
> found:

Yes sorry, that was wrong. Clearly "authtype = Reject" will fail the 
request if the module matches. Don't know why I said that...

> 
> modcall[authorize]: module "MAC-IP" returns ok for request 0
> 
> Furthermore, if I change rlm_passwrd's authtype to "Accept", the
> supplicant auth fails and the following warning is shown:

That definitely won't work. Don't do it.

> 
> rad_check_password:  Found Auth-Type Accept
> rad_check_password:  Found Auth-Type EAP
> Warning:  Found 2 auth-types on request for user 'bob'
> 
> However, if I comment rlm_passwd sections (MAC-IP in modules and
> authorize), all works flawlessly.

Well, yes. But if it works flawlessly, why are you wanting help?

> 
> The users file has entries like these:
> 
> bob NT-Password == 0xa3d411301d637a38f4d22d484f256a04
> joe  NT-Password == 0xa3d411301d637a38f4d22d484f256a04
> (...)
> 
> Which are matched correctly in all scenarios I've tested:
> 
> modcall[authorize]: module "eap" returns updated for request 0
>     users: Matched entry bob at line 1
> 
> According to radius documentation (aaa.txt), it is not correct to
> place Auth-Type on check nor reply lists on the users file:
> 
> "A quite common mistake is to place the attributes in the wrong lists,
> for example placing Auth-Type, Password, NT-Password etc in the check
> list, or in the reply list.  When run in debugging mode, the server
> will normally issue 'WARNING' messages saying that the attributes are
> in the wrong list"
> 
> So I conclude that users file is correct as it is now. What I'm doing
> wrong and what should I  do to avoid those warning messages ? If you
> want the radiusd -X logs, I can attach them if you wish.


Hmm. I still say you need to read and understand the docs, but try this:

     passwd MAC-IP {
                filename = ${raddbdir}/MAC-IP
                format = "*Calling-Station-Id:"
                delimiter = ":"
         }

(...)

authorize {
     preprocess
     MAC-IP {
         # If the MAC isn't in the file, the modules returns notfound
         # in that case, exit "authorize" with reject immediately
         notfound = reject
     }
     files
     eap
}

That is, have no authtype on the "passwd" module. If that doesn't work, 
you may try something like:

     passwd MAC-IP {
                filename = ${raddbdir}/MAC-IP
                format = "*Calling-Station-Id:~Group"
                delimiter = ":"
         }

(...)

authorize {
     preprocess
     MAC-IP
     files
     eap
}

/etc/raddb/MAC-IP:

00-11-22-33-44-55:FAKEGROUP
aa-bb-cc-dd-ee-ff:FAKEGROUP

/etc/raddb/users:

DEFAULT Group !* ANY, Auth-Type := Reject

user1 NT-Password := abcdefg...

user2 NT-Password := abcdefg...



More information about the Freeradius-Users mailing list