Freeradius + mysql Auth-Type error...

Todd Bateman wtab at comcast.net
Fri Dec 17 22:48:20 CET 2010


I have been trying to get freeradius + mysql to play nice together for 
the past few days and no mater what HOW TO or Tutorial I follow the end 
result is the same when I run radtest from the command line I get 
"Access-Reject". In the HOW TO/Tutorials I have followed I was told to 
make my /etc/raddb/sites-available/default like the following:

authorize {
     sql
}
authenticate {
}
preacct {
     acct_unique
}
accounting {
     sql
}
session {
     sql
}
post-auth {
}
pre-proxy {
}
post-proxy {
}

and add the information to clients.conf and sql.conf, and it seems to be 
working for I get database requests when I run radiusd -X and run 
radtest. My mysql tables look like the following:

mysql> select * from radcheck;
+----+----------+--------------+----+----------------------------------+
| id | username | attribute    | op | value                            |
+----+----------+--------------+----+----------------------------------+
|  1 | testuser | MD5-Password | := | 179ad45c6ce2cb97cf1029e212046e81 |
+----+----------+--------------+----+----------------------------------+
1 row in set (0.00 sec)

I have also tried this with Attribute set to Cleartext-Password and op 
set to == with the same result.

mysql> select * from radgroupcheck;
+----+-------------+-----------+----+---------+
| id | groupname   | attribute | op | value   |
+----+-------------+-----------+----+---------+
|  1 | normalusers | Auth-Type | := | MS-CHAP |
+----+-------------+-----------+----+---------+
1 row in set (0.00 sec)

mysql> select * from radgroupreply;
+----+-------------+--------------------+----+---------------------+
| id | groupname   | attribute          | op | value               |
+----+-------------+--------------------+----+---------------------+
|  1 | normalusers | Framed-Compression | =  | Van-Jacobson-TCP-IP |
+----+-------------+--------------------+----+---------------------+
1 row in set (0.00 sec)

mysql> select * from radpostauth;
+----+----------+--------------+---------------+---------------------+
| id | username | pass         | reply         | authdate            |
+----+----------+--------------+---------------+---------------------+
|  1 | testuser | testuserpass | Access-Reject | 2010-12-16 23:45:22 |
|  2 | testuser | testuserpass | Access-Reject | 2010-12-16 23:52:18 |
|  3 | testuser | testuserpass | Access-Reject | 2010-12-17 00:24:07 |
|  4 | root     | changed     | Access-Accept | 2010-12-17 01:28:43 |
|  5 | user1    | password1    | Access-Reject | 2010-12-17 01:29:01 |
|  6 | root     | changed     | Access-Accept | 2010-12-17 01:38:59 |
|  7 | todd     | changed     | Access-Accept | 2010-12-17 01:41:16 |
|  8 | user1    | password1    | Access-Reject | 2010-12-17 02:06:47 |
|  9 | user1    | password1    | Access-Reject | 2010-12-17 02:18:37 |
| 10 | testuser | testpass     | Access-Reject | 2010-12-17 05:05:05 |
| 11 | testuser | testpass     | Access-Reject | 2010-12-17 05:10:04 |
| 12 | testuser | testpass     | Access-Reject | 2010-12-17 05:24:06 |
| 13 | testuser | testpass     | Access-Reject | 2010-12-17 05:35:10 |
| 14 | testuser | testpass     | Access-Reject | 2010-12-17 06:09:40 |
| 15 | testuser | testpass     | Access-Reject | 2010-12-17 06:28:45 |
| 16 | testuser | testpass     | Access-Reject | 2010-12-17 06:43:24 |
+----+----------+--------------+---------------+---------------------+
16 rows in set (0.00 sec)

The Access-Accepts that I got here is when I switched it to use the 
/etc/passwd file.

mysql> select * from radreply;
+----+----------+-------------------+----+-----------+
| id | username | attribute         | op | value     |
+----+----------+-------------------+----+-----------+
|  1 | testuser | Framed-IP-Address | =  | 127.0.0.1 |
+----+----------+-------------------+----+-----------+
1 row in set (0.00 sec)

mysql> select * from radusergroup;
+----------+-------------+----------+
| username | groupname   | priority |
+----------+-------------+----------+
| testuser | normalusers |        1 |
+----------+-------------+----------+
1 row in set (0.00 sec)

When I start freeradius in debug mode (radiusd -X) I get the following:

root at krazy:/etc/raddb# radiusd -X
FreeRADIUS Version 2.1.10, for host x86_64-unknown-linux-gnu, built on 
Dec 12 2010 at 00:37:40
Copyright (C) 1999-2009 The FreeRADIUS server project and contributors.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License v2.
Starting - reading configuration files ...
including configuration file /etc/raddb/radiusd.conf
including configuration file /etc/raddb/proxy.conf
including configuration file /etc/raddb/clients.conf
including files in directory /etc/raddb/modules/
including configuration file /etc/raddb/modules/smbpasswd
including configuration file /etc/raddb/modules/mac2ip
including configuration file /etc/raddb/modules/inner-eap
including configuration file /etc/raddb/modules/pam
including configuration file /etc/raddb/modules/ippool
including configuration file /etc/raddb/modules/detail.log
including configuration file /etc/raddb/modules/unix
including configuration file /etc/raddb/modules/dynamic_clients
including configuration file /etc/raddb/modules/sqlcounter_expire_on_login
including configuration file /etc/raddb/modules/detail.example.com
including configuration file /etc/raddb/modules/preprocess
including configuration file /etc/raddb/modules/perl
including configuration file /etc/raddb/modules/always
including configuration file /etc/raddb/modules/krb5
including configuration file /etc/raddb/modules/digest
including configuration file /etc/raddb/modules/realm
including configuration file /etc/raddb/modules/radutmp
including configuration file /etc/raddb/modules/expr
including configuration file /etc/raddb/modules/detail
including configuration file /etc/raddb/modules/etc_group
including configuration file /etc/raddb/modules/cui
including configuration file /etc/raddb/modules/ldap
including configuration file /etc/raddb/modules/linelog
including configuration file /etc/raddb/modules/policy
including configuration file /etc/raddb/modules/echo
including configuration file /etc/raddb/modules/exec
including configuration file /etc/raddb/modules/wimax
including configuration file /etc/raddb/modules/sql_log
including configuration file /etc/raddb/modules/otp
including configuration file /etc/raddb/modules/logintime
including configuration file /etc/raddb/modules/attr_filter
including configuration file /etc/raddb/modules/pap
including configuration file /etc/raddb/modules/acct_unique
including configuration file /etc/raddb/modules/opendirectory
including configuration file /etc/raddb/modules/mac2vlan
including configuration file /etc/raddb/modules/passwd
including configuration file /etc/raddb/modules/mschap
including configuration file /etc/raddb/modules/checkval
including configuration file /etc/raddb/modules/files
including configuration file /etc/raddb/modules/expiration
including configuration file /etc/raddb/modules/smsotp
including configuration file /etc/raddb/modules/chap
including configuration file /etc/raddb/modules/sradutmp
including configuration file /etc/raddb/modules/counter
including configuration file /etc/raddb/modules/ntlm_auth
including configuration file /etc/raddb/modules/attr_rewrite
including configuration file /etc/raddb/eap.conf
including configuration file /etc/raddb/sql.conf
including configuration file /etc/raddb/sql/mysql/dialup.conf
including configuration file /etc/raddb/policy.conf
including files in directory /etc/raddb/sites-enabled/
including configuration file /etc/raddb/sites-enabled/default
including configuration file /etc/raddb/sites-enabled/inner-tunnel
including configuration file /etc/raddb/sites-enabled/control-socket
main {
         allow_core_dumps = no
}
including dictionary file /etc/raddb/dictionary
main {
         prefix = "/usr/local"
         localstatedir = "/var"
         logdir = "/var/log/radius"
         libdir = "/usr/local/lib/"
         radacctdir = "/var/log/radius/radacct"
         hostname_lookups = no
         max_request_time = 30
         cleanup_delay = 5
         max_requests = 1024
         pidfile = "/var/run/radiusd/radiusd.pid"
         checkrad = "/usr/local/sbin/checkrad"
         debug_level = 0
         proxy_requests = no
  log {
         stripped_names = no
         auth = no
         auth_badpass = no
         auth_goodpass = no
  }
  security {
         max_attributes = 200
         reject_delay = 1
         status_server = yes
  }
}
radiusd: #### Loading Realms and Home Servers ####
  proxy server {
         retry_delay = 5
         retry_count = 3
         default_fallback = no
         dead_time = 120
         wake_all_if_all_dead = no
  }
  home_server localhost {
         ipaddr = 127.0.0.1
         port = 1812
         type = "auth"
         secret = "testing123"
         response_window = 20
         max_outstanding = 65536
         require_message_authenticator = yes
         zombie_period = 40
         status_check = "status-server"
         ping_interval = 30
         check_interval = 30
         num_answers_to_alive = 3
         num_pings_to_alive = 3
         revive_interval = 120
         status_check_timeout = 4
         irt = 2
         mrt = 16
         mrc = 5
         mrd = 30
  }
  home_server_pool my_auth_failover {
         type = fail-over
         home_server = localhost
  }
  realm example.com {
         auth_pool = my_auth_failover
  }
  realm LOCAL {
  }
radiusd: #### Loading Clients ####
  client localhost {
         ipaddr = 127.0.0.1
         require_message_authenticator = no
         secret = "testing123"
         nastype = "other"
  }
radiusd: #### Instantiating modules ####
  instantiate {
  Module: Linked to module rlm_exec
  Module: Instantiating module "exec" from file /etc/raddb/modules/exec
   exec {
         wait = no
         input_pairs = "request"
         shell_escape = yes
   }
  Module: Linked to module rlm_expr
  Module: Instantiating module "expr" from file /etc/raddb/modules/expr
  Module: Linked to module rlm_expiration
  Module: Instantiating module "expiration" from file 
/etc/raddb/modules/expiration
   expiration {
         reply-message = "Password Has Expired  "
   }
  Module: Linked to module rlm_logintime
  Module: Instantiating module "logintime" from file 
/etc/raddb/modules/logintime
   logintime {
         reply-message = "You are calling outside your allowed timespan  "
         minimum-timeout = 60
   }
  }
radiusd: #### Loading Virtual Servers ####
server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel
  modules {
  Module: Checking authenticate {...} for more modules to load
  Module: Linked to module rlm_pap
  Module: Instantiating module "pap" from file /etc/raddb/modules/pap
   pap {
         encryption_scheme = "auto"
         auto_header = no
   }
  Module: Linked to module rlm_chap
  Module: Instantiating module "chap" from file /etc/raddb/modules/chap
  Module: Linked to module rlm_mschap
  Module: Instantiating module "mschap" from file /etc/raddb/modules/mschap
   mschap {
         use_mppe = yes
         require_encryption = no
         require_strong = no
         with_ntdomain_hack = no
   }
  Module: Linked to module rlm_unix
  Module: Instantiating module "unix" from file /etc/raddb/modules/unix
   unix {
         radwtmp = "/var/log/radius/radwtmp"
   }
  Module: Linked to module rlm_eap
  Module: Instantiating module "eap" from file /etc/raddb/eap.conf
   eap {
         default_eap_type = "peap"
         timer_expire = 60
         ignore_unknown_eap_types = no
         cisco_accounting_username_bug = no
         max_sessions = 4096
   }
  Module: Linked to sub-module rlm_eap_md5
  Module: Instantiating eap-md5
  Module: Linked to sub-module rlm_eap_leap
  Module: Instantiating eap-leap
  Module: Linked to sub-module rlm_eap_gtc
  Module: Instantiating eap-gtc
    gtc {
         challenge = "Password: "
         auth_type = "PAP"
    }
  Module: Linked to sub-module rlm_eap_tls
  Module: Instantiating eap-tls
    tls {
         rsa_key_exchange = no
         dh_key_exchange = yes
         rsa_key_length = 512
         dh_key_length = 512
         verify_depth = 0
         CA_path = "/etc/raddb/certs"
         pem_file_type = yes
         private_key_file = "/etc/raddb/certs/server.pem"
         certificate_file = "/etc/raddb/certs/server.pem"
         CA_file = "/etc/raddb/certs/ca.pem"
         private_key_password = "whatever"
         dh_file = "/etc/raddb/certs/dh"
         random_file = "/etc/raddb/certs/random"
         fragment_size = 1024
         include_length = yes
         check_crl = no
         cipher_list = "DEFAULT"
         make_cert_command = "/etc/raddb/certs/bootstrap"
     cache {
         enable = no
         lifetime = 24
         max_entries = 255
     }
     verify {
     }
    }
  Module: Linked to sub-module rlm_eap_ttls
  Module: Instantiating eap-ttls
    ttls {
         default_eap_type = "md5"
         copy_request_to_tunnel = no
         use_tunneled_reply = no
         virtual_server = "inner-tunnel"
         include_length = yes
    }
  Module: Linked to sub-module rlm_eap_peap
  Module: Instantiating eap-peap
    peap {
         default_eap_type = "mschapv2"
         copy_request_to_tunnel = no
         use_tunneled_reply = no
         proxy_tunneled_request_as_eap = yes
    }
  Module: Linked to sub-module rlm_eap_mschapv2
  Module: Instantiating eap-mschapv2
    mschapv2 {
         with_ntdomain_hack = no
    }
  Module: Checking authorize {...} for more modules to load
  Module: Linked to module rlm_sql
  Module: Instantiating module "sql" from file /etc/raddb/sql.conf
   sql {
         driver = "rlm_sql_mysql"
         server = "localhost"
         port = ""
         login = "radius"
         password = "neffadmin"
         radius_db = "radius"
         read_groups = yes
         sqltrace = yes
         sqltracefile = "/var/log/radius/sqltrace.sql"
         readclients = yes
         deletestalesessions = yes
         num_sql_socks = 5
         lifetime = 0
         max_queries = 0
         sql_user_name = "%{Stripped-User-Name}"
         default_user_profile = "DEFAULT"
         nas_query = "SELECT id, nasname, shortname, type, secret, 
server FROM nas"
         authorize_check_query = "SELECT id, username, attribute, value, 
op           FROM radcheck           WHERE username = 
'%{SQL-User-Name}'           ORDER BY id"
         authorize_reply_query = "SELECT id, username, attribute, value, 
op           FROM radreply           WHERE username = 
'%{SQL-User-Name}'           ORDER BY id"
         authorize_group_check_query = "SELECT id, groupname, 
attribute,           Value, op           FROM radgroupcheck           
WHERE groupname = '%{Sql-Group}'           ORDER BY id"
         authorize_group_reply_query = "SELECT id, groupname, 
attribute,           value, op           FROM radgroupreply           
WHERE groupname = '%{Sql-Group}'           ORDER BY id"
         accounting_onoff_query = "          UPDATE radacct           
SET              acctstoptime       =  '%S',              
acctsessiontime    =  unix_timestamp('%S') 
-                                    
unix_timestamp(acctstarttime),              acctterminatecause =  
'%{Acct-Terminate-Cause}',              acctstopdelay      =  
%{%{Acct-Delay-Time}:-0}           WHERE acctstoptime IS NULL           
AND nasipaddress      =  '%{NAS-IP-Address}'           AND acctstarttime 
<= '%S'"
         accounting_update_query = "           UPDATE radacct           
SET              framedipaddress = '%{Framed-IP-Address}',              
acctsessiontime     = '%{Acct-Session-Time}',              
acctinputoctets     = '%{%{Acct-Input-Gigawords}:-0}' << 32 
|                                    
'%{%{Acct-Input-Octets}:-0}',              acctoutputoctets    = 
'%{%{Acct-Output-Gigawords}:-0}' << 32 
|                                    
'%{%{Acct-Output-Octets}:-0}'           WHERE acctsessionid = 
'%{Acct-Session-Id}'           AND username        = 
'%{SQL-User-Name}'           AND nasipaddress    = '%{NAS-IP-Address}'"
         accounting_update_query_alt = "           INSERT INTO 
radacct             (acctsessionid,    acctuniqueid,      
username,              realm,            nasipaddress,      
nasportid,              nasporttype,      acctstarttime,     
acctsessiontime,              acctauthentic,    connectinfo_start, 
acctinputoctets,              acctoutputoctets, calledstationid,   
callingstationid,              servicetype,      framedprotocol,    
framedipaddress,              acctstartdelay,   
xascendsessionsvrkey)           VALUES             
('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',              
'%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}', 
'%{NAS-Port}',              '%{NAS-Port-Type}',              
DATE_SUB('%S',                       INTERVAL 
(%{%{Acct-Session-Time}:-0} +                                 
%{%{Acct-Delay-Time}:-0}) SECOND),                       
'%{Acct-Session-Time}',              '%{Acct-Authentic}', 
'',              '%{%{Acct-Input-Gigawords}:-0}' << 32 |              
'%{%{Acct-Input-Octets}:-0}',              
'%{%{Acct-Output-Gigawords}:-0}' << 32 |              
'%{%{Acct-Output-Octets}:-0}',              '%{Called-Station-Id}', 
'%{Calling-Station-Id}',              '%{Service-Type}', 
'%{Framed-Protocol}',              '%{Framed-IP-Address}',              
'0', '%{X-Ascend-Session-Svr-Key}')"
         accounting_start_query = "           INSERT INTO 
radacct             (acctsessionid,    acctuniqueid,     
username,              realm,            nasipaddress,     
nasportid,              nasporttype,      acctstarttime,    
acctstoptime,              acctsessiontime,  acctauthentic,    
connectinfo_start,              connectinfo_stop, acctinputoctets,  
acctoutputoctets,              calledstationid,  callingstationid, 
acctterminatecause,              servicetype,      framedprotocol,   
framedipaddress,              acctstartdelay,   acctstopdelay,    
xascendsessionsvrkey)           VALUES             
('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',              
'%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}', 
'%{NAS-Port}',              '%{NAS-Port-Type}', '%S', NULL,              
'0', '%{Acct-Authentic}', '%{Connect-Info}',              '', '0', 
'0',              '%{Called-Station-Id}', '%{Calling-Station-Id}', 
'',              '%{Service-Type}', '%{Framed-Protocol}', 
'%{Framed-IP-Address}',              '%{%{Acct-Delay-Time}:-0}', '0', 
'%{X-Ascend-Session-Svr-Key}')"
         accounting_start_query_alt = "           UPDATE radacct 
SET              acctstarttime     = '%S',              
acctstartdelay    = '%{%{Acct-Delay-Time}:-0}',              
connectinfo_start = '%{Connect-Info}'           WHERE acctsessionid  = 
'%{Acct-Session-Id}'           AND username         = 
'%{SQL-User-Name}'           AND nasipaddress     = '%{NAS-IP-Address}'"
         accounting_stop_query = "           UPDATE radacct 
SET              acctstoptime       = '%S',              
acctsessiontime    = '%{Acct-Session-Time}',              
acctinputoctets    = '%{%{Acct-Input-Gigawords}:-0}' << 32 
|                                   
'%{%{Acct-Input-Octets}:-0}',              acctoutputoctets   = 
'%{%{Acct-Output-Gigawords}:-0}' << 32 
|                                   
'%{%{Acct-Output-Octets}:-0}',              acctterminatecause = 
'%{Acct-Terminate-Cause}',              acctstopdelay      = 
'%{%{Acct-Delay-Time}:-0}',              connectinfo_stop   = 
'%{Connect-Info}'           WHERE acctsessionid   = 
'%{Acct-Session-Id}'           AND username          = 
'%{SQL-User-Name}'           AND nasipaddress      = '%{NAS-IP-Address}'"
         accounting_stop_query_alt = "           INSERT INTO 
radacct             (acctsessionid, acctuniqueid, username,              
realm, nasipaddress, nasportid,              nasporttype, acctstarttime, 
acctstoptime,              acctsessiontime, acctauthentic, 
connectinfo_start,              connectinfo_stop, acctinputoctets, 
acctoutputoctets,              calledstationid, callingstationid, 
acctterminatecause,              servicetype, framedprotocol, 
framedipaddress,              acctstartdelay, acctstopdelay)           
VALUES             ('%{Acct-Session-Id}', 
'%{Acct-Unique-Session-Id}',              
'%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}', 
'%{NAS-Port}',              '%{NAS-Port-Type}',              
DATE_SUB('%S',                  INTERVAL (%{%{Acct-Session-Time}:-0} 
+                  %{%{Acct-Delay-Time}:-0}) SECOND),              '%S', 
'%{Acct-Session-Time}', '%{Acct-Authentic}', '',              
'%{Connect-Info}',              '%{%{Acct-Input-Gigawords}:-0}' << 32 
|              '%{%{Acct-Input-Octets}:-0}',              
'%{%{Acct-Output-Gigawords}:-0}' << 32 |              
'%{%{Acct-Output-Octets}:-0}',              '%{Called-Station-Id}', 
'%{Calling-Station-Id}',              
'%{Acct-Terminate-Cause}',              '%{Service-Type}', 
'%{Framed-Protocol}', '%{Framed-IP-Address}',              '0', 
'%{%{Acct-Delay-Time}:-0}')"
         group_membership_query = "SELECT groupname           FROM 
radusergroup           WHERE username = '%{SQL-User-Name}'           
ORDER BY priority"
         connect_failure_retry_delay = 60
         simul_count_query = ""
         simul_verify_query = "SELECT radacctid, acctsessionid, 
username,                                nasipaddress, nasportid, 
framedipaddress,                                callingstationid, 
framedprotocol                                FROM 
radacct                                WHERE username = 
'%{SQL-User-Name}'                                AND acctstoptime IS NULL"
         postauth_query = "INSERT INTO 
radpostauth                           (username, pass, reply, 
authdate)                           VALUES (                           
'%{User-Name}',                           
'%{%{User-Password}:-%{Chap-Password}}',                           
'%{reply:Packet-Type}', '%S')"
         safe-characters = 
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
   }
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and 
linked
rlm_sql (sql): Attempting to connect to radius at localhost:/radius
rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_mysql #0
rlm_sql_mysql: Starting connect to MySQL server for #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_mysql #1
rlm_sql_mysql: Starting connect to MySQL server for #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): starting 2
rlm_sql (sql): Attempting to connect rlm_sql_mysql #2
rlm_sql_mysql: Starting connect to MySQL server for #2
rlm_sql (sql): Connected new DB handle, #2
rlm_sql (sql): starting 3
rlm_sql (sql): Attempting to connect rlm_sql_mysql #3
rlm_sql_mysql: Starting connect to MySQL server for #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql (sql): starting 4
rlm_sql (sql): Attempting to connect rlm_sql_mysql #4
rlm_sql_mysql: Starting connect to MySQL server for #4
rlm_sql (sql): Connected new DB handle, #4
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname, 
shortname, type, secret, server FROM nas
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_mysql: query:  SELECT id, nasname, shortname, type, secret, 
server FROM nas
rlm_sql (sql): Released sql socket id: 4
  Module: Checking session {...} for more modules to load
  Module: Linked to module rlm_radutmp
  Module: Instantiating module "radutmp" from file 
/etc/raddb/modules/radutmp
   radutmp {
         filename = "/var/log/radius/radutmp"
         username = "%{User-Name}"
         case_sensitive = yes
         check_with_nas = yes
         perm = 384
         callerid = yes
   }
  Module: Checking post-proxy {...} for more modules to load
  Module: Checking post-auth {...} for more modules to load
  Module: Linked to module rlm_attr_filter
  Module: Instantiating module "attr_filter.access_reject" from file 
/etc/raddb/modules/attr_filter
   attr_filter attr_filter.access_reject {
         attrsfile = "/etc/raddb/attrs.access_reject"
         key = "%{User-Name}"
   }
  } # modules
} # server
server { # from file /etc/raddb/radiusd.conf
  modules {
  Module: Checking authorize {...} for more modules to load
  Module: Checking preacct {...} for more modules to load
  Module: Linked to module rlm_acct_unique
  Module: Instantiating module "acct_unique" from file 
/etc/raddb/modules/acct_unique
   acct_unique {
         key = "User-Name, Acct-Session-Id, NAS-IP-Address, 
Client-IP-Address, NAS-Port"
   }
  Module: Checking accounting {...} for more modules to load
  Module: Checking session {...} for more modules to load
  Module: Checking post-auth {...} for more modules to load
  } # modules
} # server
radiusd: #### Opening IP addresses and Ports ####
listen {
         type = "auth"
         ipaddr = *
         port = 0
}
listen {
         type = "acct"
         ipaddr = *
         port = 0
}
listen {
         type = "control"
  listen {
         socket = "/var/run/radiusd/radiusd.sock"
  }
}
listen {
         type = "auth"
         ipaddr = 127.0.0.1
         port = 18120
}
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server 
inner-tunnel
Ready to process requests.

And when I run radtest testuser testpass localhost 1812 testing123 in 
another window I get the following output in the radiusd -X window:

rad_recv: Access-Request packet from host 127.0.0.1 port 58413, id=90, 
length=60
         User-Name = "testuser"
         User-Password = "testpass"
         NAS-IP-Address = 127.0.0.1
         NAS-Port = 1812
# Executing section authorize from file /etc/raddb/sites-enabled/default
+- entering group authorize {...}
[sql]   expand: %{Stripped-User-Name} ->
[sql] sql_set_user escaped user --> ''
rlm_sql (sql): Reserving sql socket id: 3
[sql]   expand: SELECT id, username, attribute, value, op           FROM 
radcheck           WHERE username = '%{SQL-User-Name}'           ORDER 
BY id -> SELECT id, username, attribute, value, op           FROM 
radcheck           WHERE username = ''           ORDER BY id
rlm_sql_mysql: query:  SELECT id, username, attribute, value, 
op           FROM radcheck           WHERE username = ''           ORDER 
BY id
[sql]   expand: SELECT groupname           FROM radusergroup           
WHERE username = '%{SQL-User-Name}'           ORDER BY priority -> 
SELECT groupname           FROM radusergroup           WHERE username = 
''           ORDER BY priority
rlm_sql_mysql: query:  SELECT groupname           FROM 
radusergroup           WHERE username = ''           ORDER BY priority
[sql] Checking profile DEFAULT
[sql] sql_set_user escaped user --> 'DEFAULT'
[sql]   expand: SELECT groupname           FROM radusergroup           
WHERE username = '%{SQL-User-Name}'           ORDER BY priority -> 
SELECT groupname           FROM radusergroup           WHERE username = 
'DEFAULT'           ORDER BY priority
rlm_sql_mysql: query:  SELECT groupname           FROM 
radusergroup           WHERE username = 'DEFAULT'           ORDER BY 
priority
rlm_sql (sql): Released sql socket id: 3
[sql] User  not found
++[sql] returns notfound
ERROR: No authenticate method (Auth-Type) found for the request: 
Rejecting the user
Failed to authenticate the user.
Using Post-Auth-Type Reject
# Executing group from file /etc/raddb/sites-enabled/default
+- entering group REJECT {...}
[sql]   expand: %{Stripped-User-Name} ->
[sql] sql_set_user escaped user --> ''
[sql]   expand: %{User-Password} -> testpass
[sql]   expand: INSERT INTO radpostauth                           
(username, pass, reply, authdate)                           VALUES 
(                           '%{User-Name}',                           
'%{%{User-Password}:-%{Chap-Password}}',                           
'%{reply:Packet-Type}', '%S') -> INSERT INTO 
radpostauth                           (username, pass, reply, 
authdate)                           VALUES (                           
'testuser',                           
'testpass',                           'Access-Reject', '2010-12-17 
07:21:15')
[sql]   expand: /var/log/radius/sqltrace.sql -> 
/var/log/radius/sqltrace.sql
rlm_sql (sql) in sql_postauth: query is INSERT INTO 
radpostauth                           (username, pass, reply, 
authdate)                           VALUES (                           
'testuser',                           
'testpass',                           'Access-Reject', '2010-12-17 
07:21:15')
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql_mysql: query:  INSERT INTO radpostauth                           
(username, pass, reply, authdate)                           VALUES 
(                           'testuser',                           
'testpass',                           'Access-Reject', '2010-12-17 
07:21:15')
rlm_sql (sql): Released sql socket id: 2
++[sql] returns ok
[attr_filter.access_reject]     expand: %{User-Name} -> testuser
  attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 90 to 127.0.0.1 port 58413
Waking up in 4.9 seconds.
Cleaning up request 0 ID 90 with timestamp +152
Ready to process requests.

And in the window where I ran radtest I get a Access-Reject

radtest testuser testpass localhost 1812 testing123
Sending Access-Request of id 90 to 127.0.0.1 port 1812
         User-Name = "testuser"
         User-Password = "testpass"
         NAS-IP-Address = 127.0.0.1
         NAS-Port = 1812
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=90, 
length=20

I not sure how to fix this I been searching for days with no luck.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20101217/7a944538/attachment.html>


More information about the Freeradius-Users mailing list