No authenticate method (Auth-Type) configuration found

Bereos OHG Michael Spinnenhirn michael.spinnenhirn at bereos.eu
Wed Oct 20 13:50:01 CEST 2010


Hi,

I've got some trouble with freeradius 2.0.4 and mysql on debian when i want to 
connect from a remote host. Locally I can do following command successfully:

radtest guest guest 127.0.0.1 0 radiussecret

When I connect from my NAS using chilli on openwrt I get the following error:

auth: No authenticate method (Auth-Type) configuration found for the request: 
Rejecting the user
auth: Failed to validate the user.
Login incorrect: [guest/MM\250f\375 \241Ñ?\247\007\242Ë?i\316] (from client 
nas01 port 2 cli 00-0C-29-00-71-20)
   WARNING: Unprintable characters in the password.        Double-check the 
shared secret on the server and the NAS!

I allready checked the secret. It's the same in chilli config and client.conf on 
the server. I also tried a user with Cleartext-Passwort without success. When I 
do the select on radcheck manually on the command line, the user gets found. So 
I think it's only a small configuration error on server site but I can't find it.


Here you can see the hole debug output. Any help would be appreciated.

FreeRADIUS Version 2.0.4, for host i486-pc-linux-gnu, built on Sep  7 2008 at 
23:35:34
Copyright (C) 1999-2008 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.
Starting - reading configuration files ...
including configuration file /etc/freeradius/radiusd.conf
including configuration file /etc/freeradius/proxy.conf
including configuration file /etc/freeradius/clients.conf
including configuration file /etc/freeradius/snmp.conf
including configuration file /etc/freeradius/eap.conf
including configuration file /etc/freeradius/sql.conf
including configuration file /etc/freeradius/sql/mysql/dialup.conf
including configuration file /etc/freeradius/policy.conf
including files in directory /etc/freeradius/sites-enabled/
including configuration file /etc/freeradius/sites-enabled/default
including configuration file /etc/freeradius/sites-enabled/inner-tunnel
including dictionary file /etc/freeradius/dictionary
main {
         prefix = "/usr"
         localstatedir = "/var"
         logdir = "/var/log/freeradius"
         libdir = "/usr/lib/freeradius"
         radacctdir = "/var/log/freeradius/radacct"
         hostname_lookups = no
         max_request_time = 30
         cleanup_delay = 5
         max_requests = 1024
         allow_core_dumps = no
         pidfile = "/var/run/freeradius/freeradius.pid"
         user = "freerad"
         group = "freerad"
         checkrad = "/usr/sbin/checkrad"
         debug_level = 0
         proxy_requests = no
  security {
         max_attributes = 200
         reject_delay = 1
         status_server = yes
  }
}
  client localhost {
         ipaddr = 127.0.0.1
         require_message_authenticator = no
         secret = "radiussecret"
         nastype = "other"
  }
  client 172.16.20.10 {
         require_message_authenticator = no
         secret = "radiussecret"
         shortname = "nas01"
  }
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 = "radiussecret"
         response_window = 20
         max_outstanding = 65536
         zombie_period = 40
         status_check = "status-server"
         ping_check = "none"
         ping_interval = 30
         check_interval = 30
         num_answers_to_alive = 3
         num_pings_to_alive = 3
         revive_interval = 120
         status_check_timeout = 4
  }
  home_server_pool my_auth_failover {
         type = fail-over
         home_server = localhost
  }
  realm example.com {
         auth_pool = my_auth_failover
  }
  realm LOCAL {
  }
radiusd: #### Instantiating modules ####
  instantiate {
  Module: Linked to module rlm_exec
  Module: Instantiating exec
   exec {
         wait = yes
         input_pairs = "request"
         shell_escape = yes
   }
  Module: Linked to module rlm_expr
  Module: Instantiating expr
  Module: Linked to module rlm_expiration
  Module: Instantiating expiration
   expiration {
         reply-message = "Password Has Expired  "
   }
  Module: Linked to module rlm_logintime
  Module: Instantiating logintime
   logintime {
         reply-message = "You are calling outside your allowed timespan  "
         minimum-timeout = 60
   }
  }
radiusd: #### Loading Virtual Servers ####
server inner-tunnel {
  modules {
  Module: Checking authenticate {...} for more modules to load
  Module: Linked to module rlm_pap
  Module: Instantiating pap
   pap {
         encryption_scheme = "auto"
         auto_header = yes
   }
  Module: Linked to module rlm_chap
  Module: Instantiating chap
  Module: Linked to module rlm_mschap
  Module: Instantiating mschap
   mschap {
         use_mppe = yes
         require_encryption = no
         require_strong = no
         with_ntdomain_hack = no
   }
  Module: Linked to module rlm_unix
  Module: Instantiating unix
   unix {
         radwtmp = "/var/log/freeradius/radwtmp"
   }
  Module: Linked to module rlm_eap
  Module: Instantiating eap
   eap {
         default_eap_type = "md5"
         timer_expire = 60
         ignore_unknown_eap_types = no
         cisco_accounting_username_bug = no
   }
  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"
    }
rlm_eap: Ignoring EAP-Type/tls because we do not have OpenSSL support.
rlm_eap: Ignoring EAP-Type/ttls because we do not have OpenSSL support.
rlm_eap: Ignoring EAP-Type/peap because we do not have OpenSSL support.
  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_realm
  Module: Instantiating suffix
   realm suffix {
         format = "suffix"
         delimiter = "@"
         ignore_default = no
         ignore_null = no
   }
  Module: Linked to module rlm_files
  Module: Instantiating files
   files {
         usersfile = "/etc/freeradius/users"
         acctusersfile = "/etc/freeradius/acct_users"
         preproxy_usersfile = "/etc/freeradius/preproxy_users"
         compat = "no"
   }
  Module: Linked to module rlm_sql
  Module: Instantiating sql
   sql {
         driver = "rlm_sql_mysql"
         server = "localhost"
         port = ""
         login = "radius"
         password = "radiuspass"
         radius_db = "radius"
         read_groups = yes
         sqltrace = no
         sqltracefile = "/var/log/freeradius/sqltrace.sql"
         readclients = no
         deletestalesessions = yes
         num_sql_socks = 5
         sql_user_name = "%{User-Name}"
         default_user_profile = ""
         nas_query = "SELECT id, nasname, shortname, type, secret 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      =  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 = 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
  Module: Checking session {...} for more modules to load
  Module: Linked to module rlm_radutmp
  Module: Instantiating radutmp
   radutmp {
         filename = "/var/log/freeradius/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 attr_filter.access_reject
   attr_filter attr_filter.access_reject {
         attrsfile = "/etc/freeradius/attrs.access_reject"
         key = "%{User-Name}"
   }
  }
}
server {
  modules {
  Module: Checking authenticate {...} for more modules to load
  Module: Checking authorize {...} for more modules to load
  Module: Linked to module rlm_preprocess
  Module: Instantiating preprocess
   preprocess {
         huntgroups = "/etc/freeradius/huntgroups"
         hints = "/etc/freeradius/hints"
         with_ascend_hack = no
         ascend_channels_per_line = 23
         with_ntdomain_hack = no
         with_specialix_jetstream_hack = no
         with_cisco_vsa_hack = no
         with_alvarion_vsa_hack = no
   }
  Module: Checking preacct {...} for more modules to load
  Module: Linked to module rlm_acct_unique
  Module: Instantiating 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: Linked to module rlm_detail
  Module: Instantiating detail
   detail {
         detailfile = 
"/var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d"
         header = "%t"
         detailperm = 384
         dirperm = 493
         locking = no
         log_packet_header = no
   }
  Module: Instantiating attr_filter.accounting_response
   attr_filter attr_filter.accounting_response {
         attrsfile = "/etc/freeradius/attrs.accounting_response"
         key = "%{User-Name}"
   }
  Module: Checking session {...} for more modules to load
  Module: Checking post-proxy {...} for more modules to load
  Module: Checking post-auth {...} for more modules to load
  }
}
radiusd: #### Opening IP addresses and Ports ####
listen {
         type = "auth"
         ipaddr = *
         port = 0
}
listen {
         type = "acct"
         ipaddr = *
         port = 0
}
main {
         snmp = no
         smux_password = ""
         snmp_write_access = no
}
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Ready to process requests.
rad_recv: Access-Request packet from host 172.16.20.10 port 42793, id=13, length=271
         Vendor-14559-Attr-8 = 0x312e322e32
         User-Name = "guest"
         User-Password = "MM\250f\375 \241Ñ<91>\247\007\242Ë<8d>i\316"
         NAS-IP-Address = 192.168.1.1
         Service-Type = Login-User
         Framed-IP-Address = 192.168.1.2
         Calling-Station-Id = "00-0C-29-00-71-20"
         Called-Station-Id = "00-24-A5-AF-38-85"
         NAS-Identifier = "nas01"
         Acct-Session-Id = "4cbecf5900000002"
         NAS-Port-Type = Wireless-802.11
         NAS-Port = 2
         WISPr-Location-ID = "isocc=,cc=,ac=,network=Coova,"
         WISPr-Location-Name = "Hot_Spot_Bereos_OHG"
         WISPr-Logoff-URL = "http://192.168.1.1:3990/logoff"
         Message-Authenticator = 0x2df7b910b6d74f50354b1bfe9f4c8f5a
+- entering group authorize
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
     rlm_realm: No '@' in User-Name = "guest", looking up realm NULL
     rlm_realm: No such realm "NULL"
++[suffix] returns noop
   rlm_eap: No EAP-Message, not doing EAP
++[eap] returns noop
++[unix] returns notfound
++[files] returns noop
         expand: %{User-Name} -> guest
rlm_sql (sql): sql_set_user escaped user --> 'guest'
rlm_sql (sql): Reserving sql socket id: 4
         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 = 'guest'           ORDER BY id
WARNING: Found User-Password == "...".
WARNING: Are you sure you don't mean Cleartext-Password?
WARNING: See "man rlm_pap" for more information.
         expand: SELECT groupname           FROM radusergroup           WHERE 
username = '%{SQL-User-Name}'           ORDER BY priority -> SELECT groupname 
         FROM radusergroup           WHERE username = 'guest'           ORDER BY 
priority
rlm_sql (sql): Released sql socket id: 4
rlm_sql (sql): User guest not found
++[sql] returns notfound
++[expiration] returns noop
++[logintime] returns noop
rlm_pap: WARNING! No "known good" password found for the user.  Authentication 
may fail because of this.
++[pap] returns noop
auth: No authenticate method (Auth-Type) configuration found for the request: 
Rejecting the user
auth: Failed to validate the user.
Login incorrect: [guest/MM\250f\375 \241Ñ?\247\007\242Ë?i\316] (from client 
nas01 port 2 cli 00-0C-29-00-71-20)
   WARNING: Unprintable characters in the password.        Double-check the 
shared secret on the server and the NAS!
   Found Post-Auth-Type Reject
+- entering group REJECT
         expand: %{User-Name} -> guest
  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 13 to 172.16.20.10 port 42793
Waking up in 4.9 seconds.
Cleaning up request 0 ID 13 with timestamp +7
Ready to process requests.

Many Thanks.

Michael



More information about the Freeradius-Users mailing list