<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi All<br>I am ready for an earbending likely from Alan but for the record I have read the debug and done as much searching as my brain can handle before this post<br><br>I am setting up free radius 2.2.0 on two Ubuntu Servers server12 (192.168.0.92) and server13 (192.168.0.93). So far I have installed latest freeradius version 2.2.0 on each server and added a test user in the file users:  username = user1  password = secret<br><br>I have the added each machine as a client of the other for testing in clients.conf they both have the shared secret aaabbb<br><br>With the following testing command on server12 (192.168.0.92)<br>( echo "User-Name = \"user1\""; \<br>echo "Cleartext-Password = \"secret\""; \<br>echo "EAP-Code = Response"; \<br>echo "EAP-Id = 210"; \<br>echo "EAP-Type-Identity = \"user1\""; \<br>echo "Message-Authenticator = 0x00"; ) | \<br>radeapclient -x 192.168.0.93 auth aaabbb<br><br>I see on that same machine the following output<br>Sending Access-Request packet to host 192.168.0.93 port 1812, id=125, length=0<br>    User-Name = "user1"<br>    Cleartext-Password = "secret"<br>    EAP-Code = Response<br>    EAP-Id = 210<br>    EAP-Type-Identity = 0x7573657231<br>    Message-Authenticator = 0x00<br>    EAP-Message = 0x02d2000a017573657231<br>Received Access-Challenge packet from host 192.168.0.93 port 1812, id=125, length=80<br>    EAP-Message = 0x01d300160410b96bc21423da6e34055a25bd522be5f4<br>    Message-Authenticator = 0x0881b25f760ebcfb4a9e2a6fc18ee4e1<br>    State = 0x79e3295879302d94ae994e3671a52576<br>    EAP-Id = 211<br>    EAP-Code = Request<br>    EAP-Type-MD5-Challenge = 0x10b96bc21423da6e34055a25bd522be5f4<br>Sending Access-Request packet to host 192.168.0.93 port 1812, id=126, length=57<br>    User-Name = "user1"<br>    Cleartext-Password = "secret"<br>    EAP-Code = Response<br>    EAP-Id = 211<br>    Message-Authenticator = 0x00000000000000000000000000000000<br>    EAP-Type-MD5-Challenge = 0x10a6ecf77fb2601ce855274efb4523b6d7<br>    State = 0x79e3295879302d94ae994e3671a52576<br>    EAP-Message = 0x02d300160410a6ecf77fb2601ce855274efb4523b6d7<br>rad_verify: Received packet from 192.168.0.93 with invalid Message-Authenticator!  (Shared secret is incorrect.)<br><br><br>I have server13 (192.168.0.93) running in debug and its out put is below. It seems to end by successfully sending <br>Sending Access-Accept of id 126 to 192.168.0.92 port 40535<br><br>Admittedly for some reason (?timing) there seems to be a duplicate<br>rad_recv: Access-Request packet from host 192.168.0.92 port 40535, id=126, length=87<br>but it too is ultimately accepted<br>Sending duplicate reply to client server12 port 40535 - ID: 126<br>Sending Access-Accept of id 126 to 192.168.0.92 port 40535<br><br>How do I reconcile this is it working or not<br><br>(Sub question why are there two requests?)<br><br>Debuging output from server13 (192.168.0.93)<br><br>server13:~$ cat /tmp/debug.txt<br>FreeRADIUS Version 2.2.0, for host i686-pc-linux-gnu, built on Apr 29 2013 at 12:57:54<br>Copyright (C) 1999-2012 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 v2. <br>Starting - reading configuration files ...<br>including configuration file /etc/freeradius/radiusd.conf<br>including configuration file /etc/freeradius/proxy.conf<br>including configuration file /etc/freeradius/clients.conf<br>including files in directory /etc/freeradius/mods-enabled/<br>including configuration file /etc/freeradius/mods-enabled/counter<br>including configuration file /etc/freeradius/mods-enabled/chap<br>including configuration file /etc/freeradius/mods-enabled/detail.example.com<br>including configuration file /etc/freeradius/mods-enabled/unix<br>including configuration file /etc/freeradius/mods-enabled/dhcp_sqlippool<br>including configuration file /etc/freeradius/mods-enabled/pap<br>including configuration file /etc/freeradius/mods-enabled/ntlm_auth<br>including configuration file /etc/freeradius/mods-enabled/sqlcounter_expire_on_login<br>including configuration file /etc/freeradius/mods-enabled/ippool<br>including configuration file /etc/freeradius/mods-enabled/preprocess<br>including configuration file /etc/freeradius/mods-enabled/attr_rewrite<br>including configuration file /etc/freeradius/mods-enabled/sradutmp<br>including configuration file /etc/freeradius/mods-enabled/mschap<br>including configuration file /etc/freeradius/mods-enabled/expiration<br>including configuration file /etc/freeradius/mods-enabled/wimax<br>including configuration file /etc/freeradius/mods-enabled/soh<br>including configuration file /etc/freeradius/mods-enabled/cache<br>including configuration file /etc/freeradius/mods-enabled/expr<br>including configuration file /etc/freeradius/mods-enabled/realm<br>including configuration file /etc/freeradius/mods-enabled/cui<br>including configuration file /etc/freeradius/mods-enabled/perl<br>including configuration file /etc/freeradius/mods-enabled/ldap<br>including configuration file /etc/freeradius/mods-enabled/radrelay<br>including configuration file /etc/freeradius/mods-enabled/policy<br>including configuration file /etc/freeradius/mods-enabled/echo<br>including configuration file /etc/freeradius/mods-enabled/dynamic_clients<br>including configuration file /etc/freeradius/mods-enabled/digest<br>including configuration file /etc/freeradius/mods-enabled/always<br>including configuration file /etc/freeradius/mods-enabled/smsotp<br>including configuration file /etc/freeradius/mods-enabled/checkval<br>including configuration file /etc/freeradius/mods-enabled/linelog<br>including configuration file /etc/freeradius/mods-enabled/etc_group<br>including configuration file /etc/freeradius/mods-enabled/detail.log<br>including configuration file /etc/freeradius/mods-enabled/redis<br>including configuration file /etc/freeradius/mods-enabled/attr_filter<br>including configuration file /etc/freeradius/mods-enabled/smbpasswd<br>including configuration file /etc/freeradius/mods-enabled/passwd<br>including configuration file /etc/freeradius/mods-enabled/detail<br>including configuration file /etc/freeradius/mods-enabled/otp<br>including configuration file /etc/freeradius/mods-enabled/logintime<br>including configuration file /etc/freeradius/mods-enabled/radutmp<br>including configuration file /etc/freeradius/mods-enabled/mac2vlan<br>including configuration file /etc/freeradius/mods-enabled/mac2ip<br>including configuration file /etc/freeradius/mods-enabled/acct_unique<br>including configuration file /etc/freeradius/mods-enabled/inner-eap<br>including configuration file /etc/freeradius/mods-enabled/krb5<br>including configuration file /etc/freeradius/mods-enabled/rediswho<br>including configuration file /etc/freeradius/mods-enabled/files<br>including configuration file /etc/freeradius/mods-enabled/replicate<br>including configuration file /etc/freeradius/mods-enabled/exec<br>including configuration file /etc/freeradius/mods-enabled/sql_log<br>including configuration file /etc/freeradius/mods-enabled/pam<br>including configuration file /etc/freeradius/mods-enabled/opendirectory<br>including configuration file /etc/freeradius/eap.conf<br>including configuration file /etc/freeradius/policy.conf<br>including files in directory /etc/freeradius/sites-enabled/<br>including configuration file /etc/freeradius/sites-enabled/inner-tunnel<br>including configuration file /etc/freeradius/sites-enabled/default<br>main {<br>    user = "freerad"<br>    group = "freerad"<br>    allow_core_dumps = no<br>}<br>including dictionary file /etc/freeradius/dictionary<br>main {<br>    name = "freeradius"<br>    prefix = "/usr"<br>    localstatedir = "/var"<br>    sbindir = "/usr/sbin"<br>    logdir = "/var/log/freeradius"<br>    run_dir = "/var/run/freeradius"<br>    libdir = "/usr/lib/freeradius"<br>    radacctdir = "/var/log/freeradius/radacct"<br>    hostname_lookups = no<br>    max_request_time = 30<br>    cleanup_delay = 5<br>    max_requests = 1024<br>    pidfile = "/var/run/freeradius/freeradius.pid"<br>    checkrad = "/usr/sbin/checkrad"<br>    debug_level = 0<br>    proxy_requests = yes<br> log {<br>    stripped_names = no<br>    auth = no<br>    auth_badpass = no<br>    auth_goodpass = no<br> }<br> security {<br>    max_attributes = 200<br>    reject_delay = 1<br>    status_server = yes<br> }<br>}<br>radiusd: #### Loading Realms and Home Servers ####<br> proxy server {<br>    retry_delay = 5<br>    retry_count = 3<br>    default_fallback = no<br>    dead_time = 120<br>    wake_all_if_all_dead = no<br> }<br> home_server localhost {<br>    ipaddr = 127.0.0.1<br>    port = 1812<br>    type = "auth"<br>    secret = "testing123"<br>    response_window = 20<br>    max_outstanding = 65536<br>    require_message_authenticator = yes<br>    zombie_period = 40<br>    status_check = "status-server"<br>    ping_interval = 30<br>    check_interval = 30<br>    num_answers_to_alive = 3<br>    num_pings_to_alive = 3<br>    revive_interval = 120<br>    status_check_timeout = 4<br>  coa {<br>    irt = 2<br>    mrt = 16<br>    mrc = 5<br>    mrd = 30<br>  }<br> }<br> home_server_pool my_auth_failover {<br>    type = fail-over<br>    home_server = localhost<br> }<br> realm example.com {<br>    auth_pool = my_auth_failover<br> }<br> realm LOCAL {<br> }<br>radiusd: #### Loading Clients ####<br> client localhost {<br>    ipaddr = 127.0.0.1<br>    require_message_authenticator = no<br>    secret = "testing123"<br>    nastype = "other"<br> }<br> client server12 {<br>    ipaddr = 192.168.0.92<br>    netmask = 32<br>    require_message_authenticator = no<br>    secret = "aaabbb"<br>    nastype = "other"<br> }<br>radiusd: #### Instantiating modules ####<br> instantiate {<br> Module: Linked to module rlm_exec<br> Module: Instantiating module "exec" from file /etc/freeradius/mods-enabled/exec<br>  exec {<br>    wait = no<br>    input_pairs = "request"<br>    shell_escape = yes<br>  }<br> Module: Linked to module rlm_expr<br> Module: Instantiating module "expr" from file /etc/freeradius/mods-enabled/expr<br> Module: Linked to module rlm_expiration<br> Module: Instantiating module "expiration" from file /etc/freeradius/mods-enabled/expiration<br>  expiration {<br>    reply-message = "Password Has Expired  "<br>  }<br> Module: Linked to module rlm_logintime<br> Module: Instantiating module "logintime" from file /etc/freeradius/mods-enabled/logintime<br>  logintime {<br>    reply-message = "You are calling outside your allowed timespan  "<br>    minimum-timeout = 60<br>  }<br> }<br>radiusd: #### Loading Virtual Servers ####<br>server { # from file /etc/freeradius/radiusd.conf<br> modules {<br>  Module: Creating Auth-Type = digest<br>  Module: Creating Post-Auth-Type = REJECT<br> Module: Checking authenticate {...} for more modules to load<br> Module: Linked to module rlm_pap<br> Module: Instantiating module "pap" from file /etc/freeradius/mods-enabled/pap<br>  pap {<br>    encryption_scheme = "auto"<br>    auto_header = no<br>  }<br> Module: Linked to module rlm_chap<br> Module: Instantiating module "chap" from file /etc/freeradius/mods-enabled/chap<br> Module: Linked to module rlm_mschap<br> Module: Instantiating module "mschap" from file /etc/freeradius/mods-enabled/mschap<br>  mschap {<br>    use_mppe = yes<br>    require_encryption = no<br>    require_strong = no<br>    with_ntdomain_hack = no<br>    allow_retry = yes<br>  }<br> Module: Linked to module rlm_digest<br> Module: Instantiating module "digest" from file /etc/freeradius/mods-enabled/digest<br> Module: Linked to module rlm_unix<br> Module: Instantiating module "unix" from file /etc/freeradius/mods-enabled/unix<br>  unix {<br>    radwtmp = "/var/log/freeradius/radwtmp"<br>  }<br> Module: Linked to module rlm_eap<br> Module: Instantiating module "eap" from file /etc/freeradius/eap.conf<br>  eap {<br>    default_eap_type = "md5"<br>    timer_expire = 60<br>    ignore_unknown_eap_types = no<br>    cisco_accounting_username_bug = no<br>    max_sessions = 4096<br>  }<br> Module: Linked to sub-module rlm_eap_md5<br> Module: Instantiating eap-md5<br> Module: Linked to sub-module rlm_eap_leap<br> Module: Instantiating eap-leap<br> Module: Linked to sub-module rlm_eap_gtc<br> Module: Instantiating eap-gtc<br>   gtc {<br>    challenge = "Password: "<br>    auth_type = "PAP"<br>   }<br> Module: Linked to sub-module rlm_eap_tls<br> Module: Instantiating eap-tls<br>   tls {<br>    rsa_key_exchange = no<br>    dh_key_exchange = yes<br>    rsa_key_length = 512<br>    dh_key_length = 512<br>    verify_depth = 0<br>    CA_path = "/etc/freeradius/certs"<br>    pem_file_type = yes<br>    private_key_file = "/etc/freeradius/certs/server.key"<br>    certificate_file = "/etc/freeradius/certs/server.pem"<br>    CA_file = "/etc/freeradius/certs/ca.pem"<br>    private_key_password = "whatever"<br>    dh_file = "/etc/freeradius/certs/dh"<br>    random_file = "/dev/urandom"<br>    fragment_size = 1024<br>    include_length = yes<br>    check_crl = no<br>    cipher_list = "DEFAULT"<br>    make_cert_command = "/etc/freeradius/certs/bootstrap"<br>    ecdh_curve = "prime256v1"<br>    cache {<br>    enable = no<br>    lifetime = 24<br>    max_entries = 255<br>    }<br>    verify {<br>    }<br>    ocsp {<br>    enable = no<br>    override_cert_url = yes<br>    url = "http://127.0.0.1/ocsp/"<br>    use_nonce = yes<br>    timeout = 0<br>    softfail = no<br>    }<br>   }<br> Module: Linked to sub-module rlm_eap_ttls<br> Module: Instantiating eap-ttls<br>   ttls {<br>    default_eap_type = "md5"<br>    copy_request_to_tunnel = no<br>    use_tunneled_reply = no<br>    virtual_server = "inner-tunnel"<br>    include_length = yes<br>   }<br> Module: Linked to sub-module rlm_eap_peap<br> Module: Instantiating eap-peap<br>   peap {<br>    default_eap_type = "mschapv2"<br>    copy_request_to_tunnel = no<br>    use_tunneled_reply = no<br>    proxy_tunneled_request_as_eap = yes<br>    virtual_server = "inner-tunnel"<br>    soh = no<br>   }<br> Module: Linked to sub-module rlm_eap_mschapv2<br> Module: Instantiating eap-mschapv2<br>   mschapv2 {<br>    with_ntdomain_hack = no<br>    send_error = no<br>   }<br> Module: Checking authorize {...} for more modules to load<br> Module: Linked to module rlm_preprocess<br> Module: Instantiating module "preprocess" from file /etc/freeradius/mods-enabled/preprocess<br>  preprocess {<br>    huntgroups = "/etc/freeradius/huntgroups"<br>    hints = "/etc/freeradius/hints"<br>    with_ascend_hack = no<br>    ascend_channels_per_line = 23<br>    with_ntdomain_hack = no<br>    with_specialix_jetstream_hack = no<br>    with_cisco_vsa_hack = no<br>    with_alvarion_vsa_hack = no<br>  }<br>reading pairlist file /etc/freeradius/huntgroups<br>reading pairlist file /etc/freeradius/hints<br> Module: Linked to module rlm_realm<br> Module: Instantiating module "suffix" from file /etc/freeradius/mods-enabled/realm<br>  realm suffix {<br>    format = "suffix"<br>    delimiter = "@"<br>    ignore_default = no<br>    ignore_null = no<br>  }<br> Module: Linked to module rlm_files<br> Module: Instantiating module "files" from file /etc/freeradius/mods-enabled/files<br>  files {<br>    usersfile = "/etc/freeradius/users"<br>    acctusersfile = "/etc/freeradius/acct_users"<br>    preproxy_usersfile = "/etc/freeradius/preproxy_users"<br>    compat = "no"<br>  }<br>reading pairlist file /etc/freeradius/users<br>reading pairlist file /etc/freeradius/acct_users<br>reading pairlist file /etc/freeradius/preproxy_users<br> Module: Checking preacct {...} for more modules to load<br> Module: Linked to module rlm_acct_unique<br> Module: Instantiating module "acct_unique" from file /etc/freeradius/mods-enabled/acct_unique<br>  acct_unique {<br>    key = "User-Name, Acct-Session-Id, NAS-IP-Address, NAS-Identifier, NAS-Port"<br>  }<br> Module: Checking accounting {...} for more modules to load<br> Module: Linked to module rlm_detail<br> Module: Instantiating module "detail" from file /etc/freeradius/mods-enabled/detail<br>  detail {<br>    detailfile = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"<br>    header = "%t"<br>    detailperm = 384<br>    dirperm = 493<br>    locking = no<br>    log_packet_header = no<br>  }<br> Module: Linked to module rlm_attr_filter<br> Module: Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/mods-enabled/attr_filter<br>  attr_filter attr_filter.accounting_response {<br>    attrsfile = "/etc/freeradius/attrs.accounting_response"<br>    key = "%{User-Name}"<br>    relaxed = no<br>  }<br>reading pairlist file /etc/freeradius/attrs.accounting_response<br> Module: Checking session {...} for more modules to load<br> Module: Linked to module rlm_radutmp<br> Module: Instantiating module "radutmp" from file /etc/freeradius/mods-enabled/radutmp<br>  radutmp {<br>    filename = "/var/log/freeradius/radutmp"<br>    username = "%{User-Name}"<br>    case_sensitive = yes<br>    check_with_nas = yes<br>    perm = 384<br>    callerid = yes<br>  }<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Checking post-auth {...} for more modules to load<br> Module: Instantiating module "attr_filter.access_reject" from file /etc/freeradius/mods-enabled/attr_filter<br>  attr_filter attr_filter.access_reject {<br>    attrsfile = "/etc/freeradius/attrs.access_reject"<br>    key = "%{User-Name}"<br>    relaxed = no<br>  }<br>reading pairlist file /etc/freeradius/attrs.access_reject<br> } # modules<br>} # server<br>server inner-tunnel { # from file /etc/freeradius/sites-enabled/inner-tunnel<br> modules {<br> Module: Checking authenticate {...} for more modules to load<br> Module: Checking authorize {...} for more modules to load<br> Module: Checking session {...} for more modules to load<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Checking post-auth {...} for more modules to load<br> } # modules<br>} # server<br>radiusd: #### Opening IP addresses and Ports ####<br>listen {<br>    type = "auth"<br>    ipaddr = *<br>    port = 0<br>}<br>listen {<br>    type = "acct"<br>    ipaddr = *<br>    port = 0<br>}<br>listen {<br>    type = "auth"<br>    ipaddr = 127.0.0.1<br>    port = 18120<br>}<br> ... adding new socket proxy address * port 50043<br>Listening on authentication address * port 1812<br>Listening on accounting address * port 1813<br>Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel<br>Listening on proxy address * port 1814<br>Ready to process requests.<br>rad_recv: Access-Request packet from host 192.168.0.92 port 40535, id=125, length=57<br>    User-Name = "user1"<br>    Message-Authenticator = 0x7db7801ac036b755a1f837e5f569d423<br>    EAP-Message = 0x02d2000a017573657231<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 = "user1", looking up realm NULL<br>[suffix] No such realm "NULL"<br>++[suffix] returns noop<br>[eap] EAP packet type response id 210 length 10<br>[eap] No EAP Start, assuming it's an on-going EAP conversation<br>++[eap] returns updated<br>[files] users: Matched entry user1 at line 173<br>++[files] returns ok<br>++[expiration] returns noop<br>++[logintime] returns noop<br>[pap] WARNING: Auth-Type already set.  Not setting to PAP<br>++[pap] returns noop<br>Found Auth-Type = EAP<br># Executing group from file /etc/freeradius/sites-enabled/default<br>+- entering group authenticate {...}<br>[eap] EAP Identity<br>[eap] processing type md5<br>rlm_eap_md5: Issuing Challenge<br>++[eap] returns handled<br>Sending Access-Challenge of id 125 to 192.168.0.92 port 40535<br>    EAP-Message = 0x01d300160410b96bc21423da6e34055a25bd522be5f4<br>    Message-Authenticator = 0x00000000000000000000000000000000<br>    State = 0x79e3295879302d94ae994e3671a52576<br>Finished request 0.<br>Going to the next request<br>Waking up in 4.9 seconds.<br>rad_recv: Access-Request packet from host 192.168.0.92 port 40535, id=125, length=57<br>Sending duplicate reply to client server12 port 40535 - ID: 125<br>Sending Access-Challenge of id 125 to 192.168.0.92 port 40535<br>Waking up in 4.9 seconds.<br>rad_recv: Access-Request packet from host 192.168.0.92 port 40535, id=126, length=87<br>    User-Name = "user1"<br>    Message-Authenticator = 0xe3405f0eb17fbb3e31b973ea45563b7b<br>    State = 0x79e3295879302d94ae994e3671a52576<br>    EAP-Message = 0x02d300160410a6ecf77fb2601ce855274efb4523b6d7<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 = "user1", looking up realm NULL<br>[suffix] No such realm "NULL"<br>++[suffix] returns noop<br>[eap] EAP packet type response id 211 length 22<br>[eap] No EAP Start, assuming it's an on-going EAP conversation<br>++[eap] returns updated<br>[files] users: Matched entry user1 at line 173<br>++[files] returns ok<br>++[expiration] returns noop<br>++[logintime] returns noop<br>[pap] WARNING: Auth-Type already set.  Not setting to PAP<br>++[pap] returns noop<br>Found Auth-Type = EAP<br># Executing group from file /etc/freeradius/sites-enabled/default<br>+- entering group authenticate {...}<br>[eap] Request found, released from the list<br>[eap] EAP/md5<br>[eap] processing type md5<br>[eap] Freeing handler<br>++[eap] returns ok<br># Executing section post-auth from file /etc/freeradius/sites-enabled/default<br>+- entering group post-auth {...}<br>++[exec] returns noop<br>Sending Access-Accept of id 126 to 192.168.0.92 port 40535<br>    EAP-Message = 0x03d30004<br>    Message-Authenticator = 0x00000000000000000000000000000000<br>    User-Name = "user1"<br>Finished request 1.<br>Going to the next request<br>Waking up in 4.9 seconds.<br>rad_recv: Access-Request packet from host 192.168.0.92 port 40535, id=126, length=87<br>Sending duplicate reply to client server12 port 40535 - ID: 126<br>Sending Access-Accept of id 126 to 192.168.0.92 port 40535<br>Waking up in 4.9 seconds.<br>Cleaning up request 0 ID 125 with timestamp +16<br>Cleaning up request 1 ID 126 with timestamp +16<br>Ready to process requests.<br>                                          </div></body>
</html>