<div dir="ltr"><div><div><div>This is the first time I install and test Freeradius.<br></div>This is the version of freeradius:<br><br>-- freeradius -v<br><br>freeradius: FreeRADIUS Version 2.1.10, for host i686-pc-linux-gnu, built on Feb 24 2014 at 15:16:51<br>Copyright (C) 1999-2010 The FreeRADIUS server project and contributors.<br>There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A<br>PARTICULAR PURPOSE.<br>You may redistribute copies of FreeRADIUS under the terms of the<br>GNU General Public License.<br>For more information about these matters, see the file named COPYRIGHT.<br><br><br><div>This user is one of the default users, and I just uncommented that user line in /etc/freeradius/users:<br><br>*******************************************************************************<br>#<br>#    Please read the documentation file ../doc/processing_users_file,<br>#    or 'man 5 users' (after installing the server) for more information.<br>#<br>#    This file contains authentication security and configuration<br>#    information for each user.  Accounting requests are NOT processed<br>#    through this file.  Instead, see 'acct_users', in this directory.<br>#<br>#    The first field is the user's name and can be up to<br>#    253 characters in length.  This is followed (on the same line) with<br>#    the list of authentication requirements for that user.  This can<br>#    include password, comm server name, comm server port number, protocol<br>#    type (perhaps set by the "hints" file), and huntgroup name (set by<br>#    the "huntgroups" file).<br>#<br>#    If you are not sure why a particular reply is being sent by the<br>#    server, then run the server in debugging mode (radiusd -X), and<br>#    you will see which entries in this file are matched.<br>#<br>#    When an authentication request is received from the comm server,<br>#    these values are tested. Only the first match is used unless the<br>#    "Fall-Through" variable is set to "Yes".<br>#<br>#    A special user named "DEFAULT" matches on all usernames.<br>#    You can have several DEFAULT entries. All entries are processed<br>#    in the order they appear in this file. The first entry that<br>#    matches the login-request will stop processing unless you use<br>#    the Fall-Through variable.<br>#<br>#    If you use the database support to turn this file into a .db or .dbm<br>#    file, the DEFAULT entries _have_ to be at the end of this file and<br>#    you can't have multiple entries for one username.<br>#<br>#    Indented (with the tab character) lines following the first<br>#    line indicate the configuration values to be passed back to<br>#    the comm server to allow the initiation of a user session.<br>#    This can include things like the PPP configuration values<br>#    or the host to log the user onto.<br>#<br>#    You can include another `users' file with `$INCLUDE users.other'<br>#<br><br>#<br>#    For a list of RADIUS attributes, and links to their definitions,<br>#    see:<br>#<br>#    <a href="http://www.freeradius.org/rfc/attributes.html">http://www.freeradius.org/rfc/attributes.html</a><br>#<br><br>#<br># Deny access for a specific user.  Note that this entry MUST<br># be before any other 'Auth-Type' attribute which results in the user<br># being authenticated.<br>#<br># Note that there is NO 'Fall-Through' attribute, so the user will not<br># be given any additional resources.<br>#<br>#lameuser    Auth-Type := Reject<br>#        Reply-Message = "Your account has been disabled."<br><br>#<br># Deny access for a group of users.<br>#<br># Note that there is NO 'Fall-Through' attribute, so the user will not<br># be given any additional resources.<br>#<br>#DEFAULT    Group == "disabled", Auth-Type := Reject<br>#        Reply-Message = "Your account has been disabled."<br>#<br><br>#<br># This is a complete entry for "steve". Note that there is no Fall-Through<br># entry so that no DEFAULT entry will be used, and the user will NOT<br># get any attributes in addition to the ones listed here.<br>#<br>steve    Cleartext-Password := "testing"<br>#    Service-Type = Framed-User,<br>#    Framed-Protocol = PPP,<br>#    Framed-IP-Address = 172.16.3.33,<br>#    Framed-IP-Netmask = 255.255.255.0,<br>#    Framed-Routing = Broadcast-Listen,<br>#    Framed-Filter-Id = "std.ppp",<br>#    Framed-MTU = 1500,<br>#    Framed-Compression = Van-Jacobsen-TCP-IP<br><br>#<br># This is an entry for a user with a space in their name.<br># Note the double quotes surrounding the name.<br>#<br>#"John Doe"    Cleartext-Password := "hello"<br>#        Reply-Message = "Hello, %{User-Name}"<br><br>#<br># Dial user back and telnet to the default host for that port<br>#<br>#Deg    Cleartext-Password := "ge55ged"<br>#    Service-Type = Callback-Login-User,<br>#    Login-IP-Host = 0.0.0.0,<br>#    Callback-Number = "9,5551212",<br>#    Login-Service = Telnet,<br>#    Login-TCP-Port = Telnet<br><br>#<br># Another complete entry. After the user "dialbk" has logged in, the<br># connection will be broken and the user will be dialed back after which<br># he will get a connection to the host "timeshare1".<br>#<br>#dialbk    Cleartext-Password := "callme"<br>#    Service-Type = Callback-Login-User,<br>#    Login-IP-Host = timeshare1,<br>#    Login-Service = PortMaster,<br>#    Callback-Number = "9,1-800-555-1212"<br><br>#<br># user "swilson" will only get a static IP number if he logs in with<br># a framed protocol on a terminal server in Alphen (see the huntgroups file).<br>#<br># Note that by setting "Fall-Through", other attributes will be added from<br># the following DEFAULT entries<br>#<br>#swilson    Service-Type == Framed-User, Huntgroup-Name == "alphen"<br>#        Framed-IP-Address = 192.168.1.65,<br>#        Fall-Through = Yes<br><br>#<br># If the user logs in as 'username.shell', then authenticate them<br># using the default method, give them shell access, and stop processing<br># the rest of the file.<br>#<br>#DEFAULT    Suffix == ".shell"<br>#        Service-Type = Login-User,<br>#        Login-Service = Telnet,<br>#        Login-IP-Host = your.shell.machine<br><br><br>#<br># The rest of this file contains the several DEFAULT entries.<br># DEFAULT entries match with all login names.<br># Note that DEFAULT entries can also Fall-Through (see first entry).<br># A name-value pair from a DEFAULT entry will _NEVER_ override<br># an already existing name-value pair.<br>#<br><br>#<br># Set up different IP address pools for the terminal servers.<br># Note that the "+" behind the IP address means that this is the "base"<br># IP address. The Port-Id (S0, S1 etc) will be added to it.<br>#<br>#DEFAULT    Service-Type == Framed-User, Huntgroup-Name == "alphen"<br>#        Framed-IP-Address = 192.168.1.32+,<br>#        Fall-Through = Yes<br><br>#DEFAULT    Service-Type == Framed-User, Huntgroup-Name == "delft"<br>#        Framed-IP-Address = 192.168.2.32+,<br>#        Fall-Through = Yes<br><br>#<br># Sample defaults for all framed connections.<br>#<br>#DEFAULT    Service-Type == Framed-User<br>#    Framed-IP-Address = 255.255.255.254,<br>#    Framed-MTU = 576,<br>#    Service-Type = Framed-User,<br>#    Fall-Through = Yes<br><br>#<br># Default for PPP: dynamic IP address, PPP mode, VJ-compression.<br># NOTE: we do not use Hint = "PPP", since PPP might also be auto-detected<br>#    by the terminal server in which case there may not be a "P" suffix.<br>#    The terminal server sends "Framed-Protocol = PPP" for auto PPP.<br>#<br>DEFAULT    Framed-Protocol == PPP<br>    Framed-Protocol = PPP,<br>    Framed-Compression = Van-Jacobson-TCP-IP<br><br>#<br># Default for CSLIP: dynamic IP address, SLIP mode, VJ-compression.<br>#<br>DEFAULT    Hint == "CSLIP"<br>    Framed-Protocol = SLIP,<br>    Framed-Compression = Van-Jacobson-TCP-IP<br><br>#<br># Default for SLIP: dynamic IP address, SLIP mode.<br>#<br>DEFAULT    Hint == "SLIP"<br>    Framed-Protocol = SLIP<br><br>#<br># Last default: rlogin to our main server.<br>#<br>#DEFAULT<br>#    Service-Type = Login-User,<br>#    Login-Service = Rlogin,<br>#    Login-IP-Host = <a href="http://shellbox.ispdomain.com">shellbox.ispdomain.com</a><br><br># #<br># # Last default: shell on the local terminal server.<br># #<br># DEFAULT<br>#     Service-Type = Administrative-User<br><br># On no match, the user is denied access.<br><br>*******************************************************************************<br><br><br>I have a terminal where I see the debugging messages, and another where I entered the following commands:<br><br><br>-- radtest steve testing 127.0.0.1 0 testing123<br><br>This is the outcome:<br><br>Sending Access-Request Id 79 from <a href="http://0.0.0.0:37440">0.0.0.0:37440</a> to <a href="http://127.0.0.1:1812">127.0.0.1:1812</a><br>    User-Name = 'steve'<br>    User-Password = 'testing'<br>    NAS-IP-Address = 127.0.0.1<br>    NAS-Port = 0<br>    Message-Authenticator = 0x00<br>Received Access-Reject Id 79 from <a href="http://127.0.0.1:1812">127.0.0.1:1812</a> to <a href="http://127.0.0.1:37440">127.0.0.1:37440</a> length 20<br>(0) -: Expected Access-Accept got Access-Reject<br><br><br><br>In the debug console, this is the result:<br><br>*******************************************************************************<br>rad_recv: Access-Request packet from host 127.0.0.1 port 37440, id=79, length=75<br>    User-Name = "steve"<br>    User-Password = "testing"<br>    NAS-IP-Address = 127.0.0.1<br>    NAS-Port = 0<br>    Message-Authenticator = 0x57890edab06058e2770c96eea02e0d0a<br># Executing section authorize from file /etc/freeradius/sites-enabled/default<br>+- entering group authorize {...}<br>++[preprocess] returns ok<br>++[chap] returns noop<br>++[mschap] returns noop<br>++[digest] returns noop<br>[suffix] No '@' in User-Name = "steve", looking up realm NULL<br>[suffix] No such realm "NULL"<br>++[suffix] returns noop<br>[eap] No EAP-Message, not doing EAP<br>++[eap] returns noop<br>++[files] returns noop<br>++[expiration] returns noop<br>++[logintime] returns noop<br>[pap] WARNING! No "known good" password found for the user.  Authentication may fail because of this.<br>++[pap] returns noop<br>ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user<br>Failed to authenticate the user.<br>Using Post-Auth-Type Reject<br># Executing group from file /etc/freeradius/sites-enabled/default<br>+- entering group REJECT {...}<br>[attr_filter.access_reject]     expand: %{User-Name} -> steve<br> attr_filter: Matched entry DEFAULT at line 11<br>++[attr_filter.access_reject] returns updated<br>Delaying reject of request 22 for 1 seconds<br>Going to the next request<br>Waking up in 0.9 seconds.<br>Sending delayed reject for request 22<br>Sending Access-Reject of id 79 to 127.0.0.1 port 37440<br>Waking up in 4.9 seconds.<br>Cleaning up request 22 ID 79 with timestamp +9927<br>Ready to process requests.<br>*******************************************************************************<br><br></div><div><br></div><div>I'm not sure if that's the file where I have to enable the "steve" user, because for what I've read this line:<br>++[files] returns noop<br></div><div>Indicates that Freeradius hasn't found my user configuration.<br></div><div>Is it possible that I've been configuring the wrong file?<br></div><div>Any other ideas of why Freeradius keeps rejecting my request?<br></div></div></div></div>