Control List Attribute in Post-Auth for Dynamic VLAN assignment logic
Hi all, I'm stuck on an issue with FreeRADIUS configuration and after a few days of reading and searching I'm out of ideas. Hopefully it's just a simple mistake which someone can pick up and help me out with. I've been using FreeRADIUS to handle EAP authentication (both EAP-TLS and EAP-PEAP-MSCHAPv2) and dynamic VLAN assignments for wireless networks and it's been working flawlessly. Recently I've had to look at making some configuration changes to suit a more complex situation and this is where I'm getting stuck and going around in circles. Previously I have been defining the dynamic VLAN on a per-user basis within the "users" configuration file as such: testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = "125" # CLIENT-VPN This has been working fine and the dynamic VLAN gets assigned as expected. I need to change this now so that the "users" file only contains the username and password hash and the dynamic VLAN assignment actually happens using unlang logic in the post-auth section of the "/etc/freeradius/3.0/sites-enabled/default" file. After a bit of reading, it appears that I can create an attribute in the users file which get's added into a control list which I can reference in the post-auth phase. So I try doing that by first defining the attribute in the "dictionary" file: #tail -n 2 /etc/freeradius/3.0/dictionary ATTRIBUTE VLAN-Name 3000 string And then I add the attribute (and the desired value) in the users file: testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", VLAN-Name := "CLIENT-VPN" I then create the relevant unlang logic. What I'm trying to do with this logic is determine the NAS-IP (WAP) and assigned VLAN-Name for the user. Based on this, I'll send back the approrpiate VLAN-ID. # cat /etc/freeradius/3.0/sites-enabled/default ... post-auth { debug_all ... if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "225" } } The unlang logic works fine just against the NAS-IP-Address however fails when used with the VLAN-Name custom attribute. Looking through the debugs, I find two areas indicating a problem. The most obvious is the ERROR below indicating a failure to get my attribute: (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop Enabling the "debug_all" option in the post-auth section (to dump all attributes) also reveals that my control list attribute "&control:VLAN-Name" doesn't appear to be available for use. The only control list attribute is "&control:Auth-Type". (10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') { Appreciate any help you can provide. Thank you. P.S. I've included the full debug output here as requested in the mailing list rules/FAQ: freeradius -X FreeRADIUS Version 3.0.12 Copyright (C) 1999-2016 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 For more information about these matters, see the file named COPYRIGHT Starting - reading configuration files ... including dictionary file /usr/share/freeradius/dictionary including dictionary file /usr/share/freeradius/dictionary.dhcp including dictionary file /usr/share/freeradius/dictionary.vqp including dictionary file /etc/freeradius/3.0/dictionary including configuration file /etc/freeradius/3.0/radiusd.conf including configuration file /etc/freeradius/3.0/proxy.conf including configuration file /etc/freeradius/3.0/clients.conf including files in directory /etc/freeradius/3.0/mods-enabled/ including configuration file /etc/freeradius/3.0/mods-enabled/always including configuration file /etc/freeradius/3.0/mods-enabled/unpack including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter including configuration file /etc/freeradius/3.0/mods-enabled/realm including configuration file /etc/freeradius/3.0/mods-enabled/detail including configuration file /etc/freeradius/3.0/mods-enabled/utf8 including configuration file /etc/freeradius/3.0/mods-enabled/detail.log including configuration file /etc/freeradius/3.0/mods-enabled/chap including configuration file /etc/freeradius/3.0/mods-enabled/expiration including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients including configuration file /etc/freeradius/3.0/mods-enabled/expr including configuration file /etc/freeradius/3.0/mods-enabled/echo including configuration file /etc/freeradius/3.0/mods-enabled/linelog including configuration file /etc/freeradius/3.0/mods-enabled/preprocess including configuration file /etc/freeradius/3.0/mods-enabled/eap including configuration file /etc/freeradius/3.0/mods-enabled/mschap including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap including configuration file /etc/freeradius/3.0/mods-enabled/replicate including configuration file /etc/freeradius/3.0/mods-enabled/exec including configuration file /etc/freeradius/3.0/mods-enabled/digest including configuration file /etc/freeradius/3.0/mods-enabled/files including configuration file /etc/freeradius/3.0/mods-enabled/soh including configuration file /etc/freeradius/3.0/mods-enabled/pap including configuration file /etc/freeradius/3.0/mods-enabled/unix including configuration file /etc/freeradius/3.0/mods-enabled/radutmp including configuration file /etc/freeradius/3.0/mods-enabled/logintime including configuration file /etc/freeradius/3.0/mods-enabled/passwd including files in directory /etc/freeradius/3.0/policy.d/ including configuration file /etc/freeradius/3.0/policy.d/operator-name including configuration file /etc/freeradius/3.0/policy.d/filter including configuration file /etc/freeradius/3.0/policy.d/canonicalization including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids including configuration file /etc/freeradius/3.0/policy.d/control including configuration file /etc/freeradius/3.0/policy.d/accounting including configuration file /etc/freeradius/3.0/policy.d/dhcp including configuration file /etc/freeradius/3.0/policy.d/debug including configuration file /etc/freeradius/3.0/policy.d/cui including configuration file /etc/freeradius/3.0/policy.d/abfab-tr including configuration file /etc/freeradius/3.0/policy.d/eap including files in directory /etc/freeradius/3.0/sites-enabled/ including configuration file /etc/freeradius/3.0/sites-enabled/default including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel main { security { user = "freerad" group = "freerad" allow_core_dumps = no } name = "freeradius" prefix = "/usr" localstatedir = "/var" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" } main { name = "freeradius" prefix = "/usr" localstatedir = "/var" sbindir = "/usr/sbin" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/freeradius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 16384 pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = yes auth_badpass = no auth_goodpass = no colourise = yes msg_denied = "You are already logged in - access denied" } resources { } security { max_attributes = 200 reject_delay = 1.000000 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 = <<< secret >>> response_window = 20.000000 response_timeouts = 1 max_outstanding = 65536 zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 check_timeout = 4 num_answers_to_alive = 3 revive_interval = 120 limit { max_connections = 16 max_requests = 0 lifetime = 0 idle_timeout = 0 } coa { 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 = <<< secret >>> nas_type = "other" proto = "*" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client localhost_ipv6 { ipv6addr = ::1 require_message_authenticator = no secret = <<< secret >>> limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client GC-WLAN-UAP1 { ipaddr = 192.168.8.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client BNE-WLAN-UAP1 { ipaddr = 192.168.40.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } Debugger not attached # Creating Auth-Type = mschap # Creating Auth-Type = digest # Creating Auth-Type = eap # Creating Auth-Type = PAP # Creating Auth-Type = CHAP # Creating Auth-Type = MS-CHAP radiusd: #### Instantiating modules #### modules { # Loaded module rlm_always # Loading module "reject" from file /etc/freeradius/3.0/mods-enabled/always always reject { rcode = "reject" simulcount = 0 mpp = no } # Loading module "fail" from file /etc/freeradius/3.0/mods-enabled/always always fail { rcode = "fail" simulcount = 0 mpp = no } # Loading module "ok" from file /etc/freeradius/3.0/mods-enabled/always always ok { rcode = "ok" simulcount = 0 mpp = no } # Loading module "handled" from file /etc/freeradius/3.0/mods-enabled/always always handled { rcode = "handled" simulcount = 0 mpp = no } # Loading module "invalid" from file /etc/freeradius/3.0/mods-enabled/always always invalid { rcode = "invalid" simulcount = 0 mpp = no } # Loading module "userlock" from file /etc/freeradius/3.0/mods-enabled/always always userlock { rcode = "userlock" simulcount = 0 mpp = no } # Loading module "notfound" from file /etc/freeradius/3.0/mods-enabled/always always notfound { rcode = "notfound" simulcount = 0 mpp = no } # Loading module "noop" from file /etc/freeradius/3.0/mods-enabled/always always noop { rcode = "noop" simulcount = 0 mpp = no } # Loading module "updated" from file /etc/freeradius/3.0/mods-enabled/always always updated { rcode = "updated" simulcount = 0 mpp = no } # Loaded module rlm_unpack # Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack # Loaded module rlm_exec # Loading module "ntlm_auth" from file /etc/freeradius/3.0/mods-enabled/ntlm_auth exec ntlm_auth { wait = yes program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}" shell_escape = yes } # Loaded module rlm_attr_filter # Loading module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter attr_filter attr_filter.post-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy" key = "%{Realm}" relaxed = no } # Loading module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter attr_filter attr_filter.pre-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy" key = "%{Realm}" relaxed = no } # Loading module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter attr_filter attr_filter.access_reject { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_reject" key = "%{User-Name}" relaxed = no } # Loading module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter attr_filter attr_filter.access_challenge { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge" key = "%{User-Name}" relaxed = no } # Loading module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter attr_filter attr_filter.accounting_response { filename = "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response" key = "%{User-Name}" relaxed = no } # Loaded module rlm_realm # Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm realm IPASS { format = "prefix" delimiter = "/" ignore_default = no ignore_null = no } # Loading module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } # Loading module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm realm realmpercent { format = "suffix" delimiter = "%" ignore_default = no ignore_null = no } # Loading module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm realm ntdomain { format = "prefix" delimiter = "\\" ignore_default = no ignore_null = no } # Loaded module rlm_detail # Loading module "detail" from file /etc/freeradius/3.0/mods-enabled/detail detail { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } # Loaded module rlm_utf8 # Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8 # Loading module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log detail auth_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } # Loading module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log detail reply_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } # Loading module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log detail pre_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } # Loading module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log detail post_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } # Loaded module rlm_chap # Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap # Loaded module rlm_expiration # Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration # Loaded module rlm_radutmp # Loading module "sradutmp" from file /etc/freeradius/3.0/mods-enabled/sradutmp radutmp sradutmp { filename = "/var/log/freeradius/sradutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 420 caller_id = no } # Loaded module rlm_dynamic_clients # Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients # Loaded module rlm_expr # Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr expr { safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ" } # Loading module "echo" from file /etc/freeradius/3.0/mods-enabled/echo exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = "request" output_pairs = "reply" shell_escape = yes } # Loaded module rlm_linelog # Loading module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog linelog { filename = "/var/log/freeradius/linelog" escape_filenames = no syslog_severity = "info" permissions = 384 format = "This is a log message for %{User-Name}" reference = "messages.%{%{reply:Packet-Type}:-default}" } # Loading module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog linelog log_accounting { filename = "/var/log/freeradius/linelog-accounting" escape_filenames = no syslog_severity = "info" permissions = 384 format = "" reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}" } # Loaded module rlm_preprocess # Loading module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess preprocess { huntgroups = "/etc/freeradius/3.0/mods-config/preprocess/huntgroups" hints = "/etc/freeradius/3.0/mods-config/preprocess/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 } # Loaded module rlm_eap # Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap eap { default_eap_type = "peap" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 16384 } # Loaded module rlm_mschap # Loading module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = yes passchange { } allow_retry = yes } # Loaded module rlm_cache # Loading module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap cache cache_eap { driver = "rlm_cache_rbtree" key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}" ttl = 15 max_entries = 0 epoch = 0 add_stats = no } # Loaded module rlm_replicate # Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate # Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec exec { wait = no input_pairs = "request" shell_escape = yes timeout = 10 } # Loaded module rlm_digest # Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest # Loaded module rlm_files # Loading module "files" from file /etc/freeradius/3.0/mods-enabled/files files { filename = "/etc/freeradius/3.0/mods-config/files/authorize" acctusersfile = "/etc/freeradius/3.0/mods-config/files/accounting" preproxy_usersfile = "/etc/freeradius/3.0/mods-config/files/pre-proxy" } # Loaded module rlm_soh # Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh soh { dhcp = yes } # Loaded module rlm_pap # Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap pap { normalise = yes } # Loaded module rlm_unix # Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix unix { radwtmp = "/var/log/freeradius/radwtmp" } Creating attribute Unix-Group # Loading module "radutmp" from file /etc/freeradius/3.0/mods-enabled/radutmp radutmp { filename = "/var/log/freeradius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 384 caller_id = yes } # Loaded module rlm_logintime # Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime logintime { minimum_timeout = 60 } # Loaded module rlm_passwd # Loading module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd passwd etc_passwd { filename = "/etc/passwd" format = "*User-Name:Crypt-Password:" delimiter = ":" ignore_nislike = no ignore_empty = yes allow_multiple_keys = no hash_size = 100 } instantiate { } # Instantiating module "reject" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "fail" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "ok" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "handled" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "invalid" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "userlock" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "notfound" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "noop" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "updated" from file /etc/freeradius/3.0/mods-enabled/always # Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/post-proxy # Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy # Instantiating module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_reject [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT". [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay-USec" found in filter list for realm "DEFAULT". # Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_challenge # Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/accounting_response # Instantiating module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm # Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm # Instantiating module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm # Instantiating module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm # Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail # Instantiating module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output # Instantiating module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log # Instantiating module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log # Instantiating module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log # Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration # Instantiating module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog # Instantiating module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog # Instantiating module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/huntgroups reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/hints # Instantiating module "eap" from file /etc/freeradius/3.0/mods-enabled/eap # Linked to sub-module rlm_eap_gtc gtc { challenge = "Password: " auth_type = "PAP" } # Linked to sub-module rlm_eap_tls tls { tls = "tls-common" } tls-config tls-common { verify_depth = 0 ca_path = "/etc/freeradius/3.0/certs" pem_file_type = yes private_key_file = "/etc/ssl/private/XXXXXX.key.pem" certificate_file = "/etc/ssl/certs/XXXXXX.cert.pem" ca_file = "/etc/ssl/certs/ca-certificates.crt" dh_file = "/etc/freeradius/3.0/certs/dh" fragment_size = 1024 include_length = yes auto_chain = yes check_crl = no check_all_crl = no cipher_list = "HIGH" ecdh_curve = "prime256v1" cache { enable = yes lifetime = 24 max_entries = 255 } verify { skip_if_ocsp_ok = no } ocsp { enable = no override_cert_url = yes url = "http://127.0.0.1/ocsp/" use_nonce = yes timeout = 0 softfail = no } } # Linked to sub-module rlm_eap_peap peap { tls = "tls-common" default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" soh = no require_client_cert = no } tls: Using cached TLS configuration from previous invocation # Linked to sub-module rlm_eap_mschapv2 mschapv2 { with_ntdomain_hack = no send_error = no } # Instantiating module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap rlm_mschap (mschap): using internal authentication # Instantiating module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked # Instantiating module "files" from file /etc/freeradius/3.0/mods-enabled/files reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize reading pairlist file /etc/freeradius/3.0/mods-config/files/accounting reading pairlist file /etc/freeradius/3.0/mods-config/files/pre-proxy # Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap # Instantiating module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime # Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no } # modules radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/3.0/radiusd.conf } # server server default { # from file /etc/freeradius/3.0/sites-enabled/default # Loading authenticate {...} # Loading authorize {...} Ignoring "sql" (see raddb/mods-available/README.rst) Ignoring "ldap" (see raddb/mods-available/README.rst) # Loading preacct {...} # Loading accounting {...} # Loading post-proxy {...} # Loading post-auth {...} } # server default server inner-tunnel { # from file /etc/freeradius/3.0/sites-enabled/inner-tunnel # Loading authenticate {...} # Loading authorize {...} # Loading session {...} # Loading post-proxy {...} # Loading post-auth {...} } # server inner-tunnel radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipaddr = 127.0.0.1 port = 18120 } Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on proxy address * port 53109 Listening on proxy address :: port 50014 Ready to process requests (0) Received Access-Request Id 196 from 192.168.40.21:46541 to 192.168.8.35:1812 length 163 (0) User-Name = "anonymous" (0) NAS-Identifier = "802aa8d3d475" (0) NAS-Port = 0 (0) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (0) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (0) Framed-MTU = 1400 (0) NAS-Port-Type = Wireless-802.11 (0) Connect-Info = "CONNECT 0Mbps 802.11b" (0) EAP-Message = 0x0295000e01616e6f6e796d6f7573 (0) Message-Authenticator = 0x39e811b49e0603269b2b13734db8c4d3 (0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (0) authorize { (0) policy filter_username { (0) if (&User-Name) { (0) if (&User-Name) -> TRUE (0) if (&User-Name) { (0) if (&User-Name =~ / /) { (0) if (&User-Name =~ / /) -> FALSE (0) if (&User-Name =~ /@[^@]*@/ ) { (0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (0) if (&User-Name =~ /\.\./ ) { (0) if (&User-Name =~ /\.\./ ) -> FALSE (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (0) if (&User-Name =~ /\.$/) { (0) if (&User-Name =~ /\.$/) -> FALSE (0) if (&User-Name =~ /@\./) { (0) if (&User-Name =~ /@\./) -> FALSE (0) } # if (&User-Name) = notfound (0) } # policy filter_username = notfound (0) [preprocess] = ok (0) [chap] = noop (0) [mschap] = noop (0) [digest] = noop (0) suffix: Checking for suffix after "@" (0) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (0) suffix: No such realm "NULL" (0) [suffix] = noop (0) eap: Peer sent EAP Response (code 2) ID 149 length 14 (0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (0) [eap] = ok (0) } # authorize = ok (0) Found Auth-Type = eap (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) authenticate { (0) eap: Peer sent packet with method EAP Identity (1) (0) eap: Calling submodule eap_peap to process data (0) eap_peap: Initiating new EAP-TLS session (0) eap_peap: [eaptls start] = request (0) eap: Sending EAP Request (code 1) ID 150 length 6 (0) eap: EAP session adding &reply:State = 0xdcff01a1dc691842 (0) [eap] = handled (0) } # authenticate = handled (0) Using Post-Auth-Type Challenge (0) Post-Auth-Type sub-section not found. Ignoring. (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) Sent Access-Challenge Id 196 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (0) EAP-Message = 0x019600061920 (0) Message-Authenticator = 0x00000000000000000000000000000000 (0) State = 0xdcff01a1dc6918422343d3b59bbb1704 (0) Finished request Waking up in 4.9 seconds. (1) Received Access-Request Id 197 from 192.168.40.21:46541 to 192.168.8.35:1812 length 320 (1) User-Name = "anonymous" (1) NAS-Identifier = "802aa8d3d475" (1) NAS-Port = 0 (1) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (1) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (1) Framed-MTU = 1400 (1) NAS-Port-Type = Wireless-802.11 (1) Connect-Info = "CONNECT 0Mbps 802.11b" (1) EAP-Message = 0x0296009919800000008f160301008a010000860303ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d834500002acca9cca8c02bc02fc02cc030c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a01000033ff0100010000170000000d001400120403 (1) State = 0xdcff01a1dc6918422343d3b59bbb1704 (1) Message-Authenticator = 0x76ea1adde71a5cdad501da5ad77f89a2 (1) session-state: No cached attributes (1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (1) authorize { (1) policy filter_username { (1) if (&User-Name) { (1) if (&User-Name) -> TRUE (1) if (&User-Name) { (1) if (&User-Name =~ / /) { (1) if (&User-Name =~ / /) -> FALSE (1) if (&User-Name =~ /@[^@]*@/ ) { (1) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (1) if (&User-Name =~ /\.\./ ) { (1) if (&User-Name =~ /\.\./ ) -> FALSE (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (1) if (&User-Name =~ /\.$/) { (1) if (&User-Name =~ /\.$/) -> FALSE (1) if (&User-Name =~ /@\./) { (1) if (&User-Name =~ /@\./) -> FALSE (1) } # if (&User-Name) = notfound (1) } # policy filter_username = notfound (1) [preprocess] = ok (1) [chap] = noop (1) [mschap] = noop (1) [digest] = noop (1) suffix: Checking for suffix after "@" (1) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (1) suffix: No such realm "NULL" (1) [suffix] = noop (1) eap: Peer sent EAP Response (code 2) ID 150 length 153 (1) eap: Continuing tunnel setup (1) [eap] = ok (1) } # authorize = ok (1) Found Auth-Type = eap (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) authenticate { (1) eap: Expiring EAP session with state 0xdcff01a1dc691842 (1) eap: Finished EAP session with state 0xdcff01a1dc691842 (1) eap: Previous EAP request found for state 0xdcff01a1dc691842, released from the list (1) eap: Peer sent packet with method EAP PEAP (25) (1) eap: Calling submodule eap_peap to process data (1) eap_peap: Continuing EAP-TLS (1) eap_peap: Peer indicated complete TLS record size will be 143 bytes (1) eap_peap: Got complete TLS record (143 bytes) (1) eap_peap: [eaptls verify] = length included (1) eap_peap: (other): before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: <<< recv TLS 1.2 [length 008a] (1) eap_peap: TLS_accept: SSLv3/TLS read client hello (1) eap_peap: >>> send TLS 1.2 [length 003d] (1) eap_peap: TLS_accept: SSLv3/TLS write server hello (1) eap_peap: >>> send TLS 1.2 [length 0c06] (1) eap_peap: TLS_accept: SSLv3/TLS write certificate (1) eap_peap: >>> send TLS 1.2 [length 024d] (1) eap_peap: TLS_accept: SSLv3/TLS write key exchange (1) eap_peap: >>> send TLS 1.2 [length 0004] (1) eap_peap: TLS_accept: SSLv3/TLS write server done (1) eap_peap: TLS_accept: Need to read more data: SSLv3/TLS write server done (1) eap_peap: In SSL Handshake Phase (1) eap_peap: In SSL Accept mode (1) eap_peap: [eaptls process] = handled (1) eap: Sending EAP Request (code 1) ID 151 length 1014 (1) eap: EAP session adding &reply:State = 0xdcff01a1dd681842 (1) [eap] = handled (1) } # authenticate = handled (1) Using Post-Auth-Type Challenge (1) Post-Auth-Type sub-section not found. Ignoring. (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) Sent Access-Challenge Id 197 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (1) EAP-Message = 0x019703f619c000000ea8160303003d020000390303cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e00cca8000011ff01000100000b000403000102001700001603030c060b000c02000bff00065f3082065b30820443a0030201020202100b300d06092a864886f70d01 (1) Message-Authenticator = 0x00000000000000000000000000000000 (1) State = 0xdcff01a1dd6818422343d3b59bbb1704 (1) Finished request Waking up in 4.9 seconds. (2) Received Access-Request Id 198 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (2) User-Name = "anonymous" (2) NAS-Identifier = "802aa8d3d475" (2) NAS-Port = 0 (2) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (2) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (2) Framed-MTU = 1400 (2) NAS-Port-Type = Wireless-802.11 (2) Connect-Info = "CONNECT 0Mbps 802.11b" (2) EAP-Message = 0x029700061900 (2) State = 0xdcff01a1dd6818422343d3b59bbb1704 (2) Message-Authenticator = 0xe6bd97dd94d0e74610db361cdabe26f1 (2) session-state: No cached attributes (2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (2) authorize { (2) policy filter_username { (2) if (&User-Name) { (2) if (&User-Name) -> TRUE (2) if (&User-Name) { (2) if (&User-Name =~ / /) { (2) if (&User-Name =~ / /) -> FALSE (2) if (&User-Name =~ /@[^@]*@/ ) { (2) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (2) if (&User-Name =~ /\.\./ ) { (2) if (&User-Name =~ /\.\./ ) -> FALSE (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (2) if (&User-Name =~ /\.$/) { (2) if (&User-Name =~ /\.$/) -> FALSE (2) if (&User-Name =~ /@\./) { (2) if (&User-Name =~ /@\./) -> FALSE (2) } # if (&User-Name) = notfound (2) } # policy filter_username = notfound (2) [preprocess] = ok (2) [chap] = noop (2) [mschap] = noop (2) [digest] = noop (2) suffix: Checking for suffix after "@" (2) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (2) suffix: No such realm "NULL" (2) [suffix] = noop (2) eap: Peer sent EAP Response (code 2) ID 151 length 6 (2) eap: Continuing tunnel setup (2) [eap] = ok (2) } # authorize = ok (2) Found Auth-Type = eap (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) authenticate { (2) eap: Expiring EAP session with state 0xdcff01a1dd681842 (2) eap: Finished EAP session with state 0xdcff01a1dd681842 (2) eap: Previous EAP request found for state 0xdcff01a1dd681842, released from the list (2) eap: Peer sent packet with method EAP PEAP (25) (2) eap: Calling submodule eap_peap to process data (2) eap_peap: Continuing EAP-TLS (2) eap_peap: Peer ACKed our handshake fragment (2) eap_peap: [eaptls verify] = request (2) eap_peap: [eaptls process] = handled (2) eap: Sending EAP Request (code 1) ID 152 length 1010 (2) eap: EAP session adding &reply:State = 0xdcff01a1de671842 (2) [eap] = handled (2) } # authenticate = handled (2) Using Post-Auth-Type Challenge (2) Post-Auth-Type sub-section not found. Ignoring. (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) Sent Access-Challenge Id 198 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (2) EAP-Message = 0x019803f2194081890603551d23048181307f8014f5a4fe043082531ea9c9e8894ce371c0d8b76e0ca15ca45a3058310b30090603550406130241553113301106035504080c0a517565656e736c616e6431153013060355040a0c0c4950414e59414e59204c7464311d301b06035504030c144950414e59 (2) Message-Authenticator = 0x00000000000000000000000000000000 (2) State = 0xdcff01a1de6718422343d3b59bbb1704 (2) Finished request Waking up in 4.9 seconds. (3) Received Access-Request Id 199 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (3) User-Name = "anonymous" (3) NAS-Identifier = "802aa8d3d475" (3) NAS-Port = 0 (3) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (3) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (3) Framed-MTU = 1400 (3) NAS-Port-Type = Wireless-802.11 (3) Connect-Info = "CONNECT 0Mbps 802.11b" (3) EAP-Message = 0x029800061900 (3) State = 0xdcff01a1de6718422343d3b59bbb1704 (3) Message-Authenticator = 0xd4e4a6306a82241636efbaedeb77614e (3) session-state: No cached attributes (3) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (3) authorize { (3) policy filter_username { (3) if (&User-Name) { (3) if (&User-Name) -> TRUE (3) if (&User-Name) { (3) if (&User-Name =~ / /) { (3) if (&User-Name =~ / /) -> FALSE (3) if (&User-Name =~ /@[^@]*@/ ) { (3) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (3) if (&User-Name =~ /\.\./ ) { (3) if (&User-Name =~ /\.\./ ) -> FALSE (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (3) if (&User-Name =~ /\.$/) { (3) if (&User-Name =~ /\.$/) -> FALSE (3) if (&User-Name =~ /@\./) { (3) if (&User-Name =~ /@\./) -> FALSE (3) } # if (&User-Name) = notfound (3) } # policy filter_username = notfound (3) [preprocess] = ok (3) [chap] = noop (3) [mschap] = noop (3) [digest] = noop (3) suffix: Checking for suffix after "@" (3) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (3) suffix: No such realm "NULL" (3) [suffix] = noop (3) eap: Peer sent EAP Response (code 2) ID 152 length 6 (3) eap: Continuing tunnel setup (3) [eap] = ok (3) } # authorize = ok (3) Found Auth-Type = eap (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) authenticate { (3) eap: Expiring EAP session with state 0xdcff01a1de671842 (3) eap: Finished EAP session with state 0xdcff01a1de671842 (3) eap: Previous EAP request found for state 0xdcff01a1de671842, released from the list (3) eap: Peer sent packet with method EAP PEAP (25) (3) eap: Calling submodule eap_peap to process data (3) eap_peap: Continuing EAP-TLS (3) eap_peap: Peer ACKed our handshake fragment (3) eap_peap: [eaptls verify] = request (3) eap_peap: [eaptls process] = handled (3) eap: Sending EAP Request (code 1) ID 153 length 1010 (3) eap: EAP session adding &reply:State = 0xdcff01a1df661842 (3) [eap] = handled (3) } # authenticate = handled (3) Using Post-Auth-Type Challenge (3) Post-Auth-Type sub-section not found. Ignoring. (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) Sent Access-Challenge Id 199 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (3) EAP-Message = 0x019903f219403db777b2ab1db344d5c78cff8c6741f67e95299b96815e5bcb66eb71439eb8a99050aa381ef4d9d7cc65154cbd3dcdc50a20d6f4da6c3eedc4a6c4c4adb072c4d5d71a4e6ed7456e5e0c9f73de1367f00dbd34e027282672811a6dd2aecdebd2cb615ccddf147d02b1c65fde6b28ea22f7 (3) Message-Authenticator = 0x00000000000000000000000000000000 (3) State = 0xdcff01a1df6618422343d3b59bbb1704 (3) Finished request Waking up in 4.8 seconds. (4) Received Access-Request Id 200 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (4) User-Name = "anonymous" (4) NAS-Identifier = "802aa8d3d475" (4) NAS-Port = 0 (4) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (4) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (4) Framed-MTU = 1400 (4) NAS-Port-Type = Wireless-802.11 (4) Connect-Info = "CONNECT 0Mbps 802.11b" (4) EAP-Message = 0x029900061900 (4) State = 0xdcff01a1df6618422343d3b59bbb1704 (4) Message-Authenticator = 0x4a07d878ea0ab40860bd41840d9b53d1 (4) session-state: No cached attributes (4) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (4) authorize { (4) policy filter_username { (4) if (&User-Name) { (4) if (&User-Name) -> TRUE (4) if (&User-Name) { (4) if (&User-Name =~ / /) { (4) if (&User-Name =~ / /) -> FALSE (4) if (&User-Name =~ /@[^@]*@/ ) { (4) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (4) if (&User-Name =~ /\.\./ ) { (4) if (&User-Name =~ /\.\./ ) -> FALSE (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (4) if (&User-Name =~ /\.$/) { (4) if (&User-Name =~ /\.$/) -> FALSE (4) if (&User-Name =~ /@\./) { (4) if (&User-Name =~ /@\./) -> FALSE (4) } # if (&User-Name) = notfound (4) } # policy filter_username = notfound (4) [preprocess] = ok (4) [chap] = noop (4) [mschap] = noop (4) [digest] = noop (4) suffix: Checking for suffix after "@" (4) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (4) suffix: No such realm "NULL" (4) [suffix] = noop (4) eap: Peer sent EAP Response (code 2) ID 153 length 6 (4) eap: Continuing tunnel setup (4) [eap] = ok (4) } # authorize = ok (4) Found Auth-Type = eap (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) authenticate { (4) eap: Expiring EAP session with state 0xdcff01a1df661842 (4) eap: Finished EAP session with state 0xdcff01a1df661842 (4) eap: Previous EAP request found for state 0xdcff01a1df661842, released from the list (4) eap: Peer sent packet with method EAP PEAP (25) (4) eap: Calling submodule eap_peap to process data (4) eap_peap: Continuing EAP-TLS (4) eap_peap: Peer ACKed our handshake fragment (4) eap_peap: [eaptls verify] = request (4) eap_peap: [eaptls process] = handled (4) eap: Sending EAP Request (code 1) ID 154 length 746 (4) eap: EAP session adding &reply:State = 0xdcff01a1d8651842 (4) [eap] = handled (4) } # authenticate = handled (4) Using Post-Auth-Type Challenge (4) Post-Auth-Type sub-section not found. Ignoring. (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) Sent Access-Challenge Id 200 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (4) EAP-Message = 0x019a02ea19008fba9616587fb1ea32ee83f2f0972c1cde589ebb9e94a1deba7339756e56e802e9439eb0c62667a97b0b7771ab622fe5422684d07d5f276180e361a9ab2cb3db23c2705d0c12b7d25b66bcacdff1c531817bd650abe21e1ef3df65ca76f81e5cf091d43d31f95c97e8dcaf3269fbc18cfe (4) Message-Authenticator = 0x00000000000000000000000000000000 (4) State = 0xdcff01a1d86518422343d3b59bbb1704 (4) Finished request Waking up in 4.8 seconds. (5) Received Access-Request Id 201 from 192.168.40.21:46541 to 192.168.8.35:1812 length 295 (5) User-Name = "anonymous" (5) NAS-Identifier = "802aa8d3d475" (5) NAS-Port = 0 (5) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (5) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (5) Framed-MTU = 1400 (5) NAS-Port-Type = Wireless-802.11 (5) Connect-Info = "CONNECT 0Mbps 802.11b" (5) EAP-Message = 0x029a0080198000000076160303004610000042410489c8bd0afbba1b5226f36bba36403153a0adc35a301aad07d58b9688b3371475eacc1ad36aa2fa043d225c347d21f1d8d8581073ea0db0c403ad488a53a8f85d140303000101160303002005961f8818b3e5348683646f8a541de9ea5073ce2efa66 (5) State = 0xdcff01a1d86518422343d3b59bbb1704 (5) Message-Authenticator = 0x3311ca3d5bfb4e1796cc1d6c70cb725c (5) session-state: No cached attributes (5) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (5) authorize { (5) policy filter_username { (5) if (&User-Name) { (5) if (&User-Name) -> TRUE (5) if (&User-Name) { (5) if (&User-Name =~ / /) { (5) if (&User-Name =~ / /) -> FALSE (5) if (&User-Name =~ /@[^@]*@/ ) { (5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (5) if (&User-Name =~ /\.\./ ) { (5) if (&User-Name =~ /\.\./ ) -> FALSE (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (5) if (&User-Name =~ /\.$/) { (5) if (&User-Name =~ /\.$/) -> FALSE (5) if (&User-Name =~ /@\./) { (5) if (&User-Name =~ /@\./) -> FALSE (5) } # if (&User-Name) = notfound (5) } # policy filter_username = notfound (5) [preprocess] = ok (5) [chap] = noop (5) [mschap] = noop (5) [digest] = noop (5) suffix: Checking for suffix after "@" (5) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (5) suffix: No such realm "NULL" (5) [suffix] = noop (5) eap: Peer sent EAP Response (code 2) ID 154 length 128 (5) eap: Continuing tunnel setup (5) [eap] = ok (5) } # authorize = ok (5) Found Auth-Type = eap (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) authenticate { (5) eap: Expiring EAP session with state 0xdcff01a1d8651842 (5) eap: Finished EAP session with state 0xdcff01a1d8651842 (5) eap: Previous EAP request found for state 0xdcff01a1d8651842, released from the list (5) eap: Peer sent packet with method EAP PEAP (25) (5) eap: Calling submodule eap_peap to process data (5) eap_peap: Continuing EAP-TLS (5) eap_peap: Peer indicated complete TLS record size will be 118 bytes (5) eap_peap: Got complete TLS record (118 bytes) (5) eap_peap: [eaptls verify] = length included (5) eap_peap: TLS_accept: SSLv3/TLS write server done (5) eap_peap: <<< recv TLS 1.2 [length 0046] (5) eap_peap: TLS_accept: SSLv3/TLS read client key exchange (5) eap_peap: TLS_accept: SSLv3/TLS read change cipher spec (5) eap_peap: <<< recv TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS read finished (5) eap_peap: >>> send TLS 1.2 [length 0001] (5) eap_peap: TLS_accept: SSLv3/TLS write change cipher spec (5) eap_peap: >>> send TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS write finished (5) eap_peap: (other): SSL negotiation finished successfully (5) eap_peap: SSL Connection Established (5) eap_peap: [eaptls process] = handled (5) eap: Sending EAP Request (code 1) ID 155 length 49 (5) eap: EAP session adding &reply:State = 0xdcff01a1d9641842 (5) [eap] = handled (5) } # authenticate = handled (5) Using Post-Auth-Type Challenge (5) Post-Auth-Type sub-section not found. Ignoring. (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) Sent Access-Challenge Id 201 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (5) EAP-Message = 0x019b003119001403030001011603030020928339ca9a02fb4881ae249f612df4a26df59326e0672ac8e445c34168991d32 (5) Message-Authenticator = 0x00000000000000000000000000000000 (5) State = 0xdcff01a1d96418422343d3b59bbb1704 (5) Finished request Waking up in 4.7 seconds. (6) Received Access-Request Id 202 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (6) User-Name = "anonymous" (6) NAS-Identifier = "802aa8d3d475" (6) NAS-Port = 0 (6) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (6) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (6) Framed-MTU = 1400 (6) NAS-Port-Type = Wireless-802.11 (6) Connect-Info = "CONNECT 0Mbps 802.11b" (6) EAP-Message = 0x029b00061900 (6) State = 0xdcff01a1d96418422343d3b59bbb1704 (6) Message-Authenticator = 0xf6be5cee51e32fdacbbef344781223d3 (6) session-state: No cached attributes (6) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (6) authorize { (6) policy filter_username { (6) if (&User-Name) { (6) if (&User-Name) -> TRUE (6) if (&User-Name) { (6) if (&User-Name =~ / /) { (6) if (&User-Name =~ / /) -> FALSE (6) if (&User-Name =~ /@[^@]*@/ ) { (6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (6) if (&User-Name =~ /\.\./ ) { (6) if (&User-Name =~ /\.\./ ) -> FALSE (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (6) if (&User-Name =~ /\.$/) { (6) if (&User-Name =~ /\.$/) -> FALSE (6) if (&User-Name =~ /@\./) { (6) if (&User-Name =~ /@\./) -> FALSE (6) } # if (&User-Name) = notfound (6) } # policy filter_username = notfound (6) [preprocess] = ok (6) [chap] = noop (6) [mschap] = noop (6) [digest] = noop (6) suffix: Checking for suffix after "@" (6) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (6) suffix: No such realm "NULL" (6) [suffix] = noop (6) eap: Peer sent EAP Response (code 2) ID 155 length 6 (6) eap: Continuing tunnel setup (6) [eap] = ok (6) } # authorize = ok (6) Found Auth-Type = eap (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) authenticate { (6) eap: Expiring EAP session with state 0xdcff01a1d9641842 (6) eap: Finished EAP session with state 0xdcff01a1d9641842 (6) eap: Previous EAP request found for state 0xdcff01a1d9641842, released from the list (6) eap: Peer sent packet with method EAP PEAP (25) (6) eap: Calling submodule eap_peap to process data (6) eap_peap: Continuing EAP-TLS (6) eap_peap: Peer ACKed our handshake fragment. handshake is finished (6) eap_peap: [eaptls verify] = success (6) eap_peap: [eaptls process] = success (6) eap_peap: Session established. Decoding tunneled attributes (6) eap_peap: PEAP state TUNNEL ESTABLISHED (6) eap: Sending EAP Request (code 1) ID 156 length 32 (6) eap: EAP session adding &reply:State = 0xdcff01a1da631842 (6) [eap] = handled (6) } # authenticate = handled (6) Using Post-Auth-Type Challenge (6) Post-Auth-Type sub-section not found. Ignoring. (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) Sent Access-Challenge Id 202 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (6) EAP-Message = 0x019c00201900170303001599b5f4133e2b7766900ad78dd36daf40d396f375f2 (6) Message-Authenticator = 0x00000000000000000000000000000000 (6) State = 0xdcff01a1da6318422343d3b59bbb1704 (6) Finished request Waking up in 4.7 seconds. (7) Received Access-Request Id 203 from 192.168.40.21:46541 to 192.168.8.35:1812 length 203 (7) User-Name = "anonymous" (7) NAS-Identifier = "802aa8d3d475" (7) NAS-Port = 0 (7) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (7) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (7) Framed-MTU = 1400 (7) NAS-Port-Type = Wireless-802.11 (7) Connect-Info = "CONNECT 0Mbps 802.11b" (7) EAP-Message = 0x029c002419001703030019dfbe3664b6ba25228ceeefd1544ec446fce8a53f317c6cdc30 (7) State = 0xdcff01a1da6318422343d3b59bbb1704 (7) Message-Authenticator = 0xe33ca0e8b373f089e411f537f6aa90b8 (7) session-state: No cached attributes (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]*@/ ) { (7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [preprocess] = ok (7) [chap] = noop (7) [mschap] = noop (7) [digest] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 36 (7) eap: Continuing tunnel setup (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) authenticate { (7) eap: Expiring EAP session with state 0xdcff01a1da631842 (7) eap: Finished EAP session with state 0xdcff01a1da631842 (7) eap: Previous EAP request found for state 0xdcff01a1da631842, released from the list (7) eap: Peer sent packet with method EAP PEAP (25) (7) eap: Calling submodule eap_peap to process data (7) eap_peap: Continuing EAP-TLS (7) eap_peap: [eaptls verify] = ok (7) eap_peap: Done initial handshake (7) eap_peap: [eaptls process] = ok (7) eap_peap: Session established. Decoding tunneled attributes (7) eap_peap: PEAP state WAITING FOR INNER IDENTITY (7) eap_peap: Identity - testuser (7) eap_peap: Got inner identity 'testuser' (7) eap_peap: Setting default EAP type for tunneled EAP session (7) eap_peap: Got tunneled request (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: Setting User-Name to testuser (7) eap_peap: Sending tunneled request to inner-tunnel (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (7) eap_peap: User-Name = "testuser" (7) Virtual server inner-tunnel received request (7) EAP-Message = 0x029c000d017465737475736572 (7) FreeRADIUS-Proxied-To = 127.0.0.1 (7) User-Name = "testuser" (7) server inner-tunnel { (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]*@/ ) { (7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [chap] = noop (7) [mschap] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "testuser", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) update control { (7) &Proxy-To-Realm := LOCAL (7) } # update control = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 13 (7) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authenticate { (7) eap: Peer sent packet with method EAP Identity (1) (7) eap: Calling submodule eap_mschapv2 to process data (7) eap_mschapv2: Issuing Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 43 (7) eap: EAP session adding &reply:State = 0x73614bc173fc510e (7) [eap] = handled (7) } # authenticate = handled (7) } # server inner-tunnel (7) Virtual server sending reply (7) EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply RADIUS code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled Access-Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 66 (7) eap: EAP session adding &reply:State = 0xdcff01a1db621842 (7) [eap] = handled (7) } # authenticate = handled (7) Using Post-Auth-Type Challenge (7) Post-Auth-Type sub-section not found. Ignoring. (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) Sent Access-Challenge Id 203 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (7) EAP-Message = 0x019d004219001703030037dffc0f74fbf5c2a1c1b4e813f1bedcd02a226b0d28b1fcd482c11a0c445a5769fb76b4160a1592400e1e3132b40adfcd8487ab156e0774 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0xdcff01a1db6218422343d3b59bbb1704 (7) Finished request Waking up in 4.6 seconds. (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]*@/ ) { (8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8)
I think some of the debug output was truncated in the previous email. Here's the remainder from (8) onwards: (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]*@/ ) { (8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]*@/ ) { (8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [chap] = noop (8) [mschap] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "testuser", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) update control { (8) &Proxy-To-Realm := LOCAL (8) } # update control = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 67 (8) eap: No EAP Start, assuming it's an on-going EAP conversation (8) [eap] = updated (8) files: users: Matched entry testuser at line 98 (8) [files] = ok (8) [expiration] = noop (8) [logintime] = noop (8) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes (8) pap: WARNING: Auth-Type already set. Not setting to PAP (8) [pap] = noop (8) } # authorize = updated (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0x73614bc173fc510e (8) eap: Previous EAP request found for state 0x73614bc173fc510e, released from the list (8) eap: Peer sent packet with method EAP MSCHAPv2 (26) (8) eap: Calling submodule eap_mschapv2 to process data (8) eap_mschapv2: # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) eap_mschapv2: authenticate { (8) mschap: Found NT-Password (8) mschap: Creating challenge hash with username: testuser (8) mschap: Client is using MS-CHAPv2 (8) mschap: Adding MS-CHAPv2 MPPE keys (8) [mschap] = ok (8) } # authenticate = ok (8) MSCHAP Success (8) eap: Sending EAP Request (code 1) ID 158 length 51 (8) eap: EAP session adding &reply:State = 0x73614bc172ff510e (8) [eap] = handled (8) } # authenticate = handled (8) } # server inner-tunnel (8) Virtual server sending reply (8) EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) Message-Authenticator = 0x00000000000000000000000000000000 (8) State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled reply code 11 (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled reply RADIUS code 11 (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled Access-Challenge (8) eap: Sending EAP Request (code 1) ID 158 length 74 (8) eap: EAP session adding &reply:State = 0xdcff01a1d4611842 (8) [eap] = handled (8) } # authenticate = handled (8) Using Post-Auth-Type Challenge (8) Post-Auth-Type sub-section not found. Ignoring. (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) Sent Access-Challenge Id 204 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (8) EAP-Message = 0x019e004a1900170303003ff70a519d23edc920820f3d0be13b93b144017cdec458f0d2c6ead00732bf70fc4d1fb57809b96fae00825ae59bcabe9de9c4c8d49cd95e6e303f7f5bc63083 (8) Message-Authenticator = 0x00000000000000000000000000000000 (8) State = 0xdcff01a1d46118422343d3b59bbb1704 (8) Finished request Waking up in 4.6 seconds. (9) Received Access-Request Id 205 from 192.168.40.21:46541 to 192.168.8.35:1812 length 196 (9) User-Name = "anonymous" (9) NAS-Identifier = "802aa8d3d475" (9) NAS-Port = 0 (9) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (9) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (9) Framed-MTU = 1400 (9) NAS-Port-Type = Wireless-802.11 (9) Connect-Info = "CONNECT 0Mbps 802.11b" (9) EAP-Message = 0x029e001d190017030300124f10e0d106532bbcbddf7ae85d8ddf0c80be (9) State = 0xdcff01a1d46118422343d3b59bbb1704 (9) Message-Authenticator = 0x1c8c0a8453c376fee0859f2286bf5fc2 (9) session-state: No cached attributes (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (9) authorize { (9) policy filter_username { (9) if (&User-Name) { (9) if (&User-Name) -> TRUE (9) if (&User-Name) { (9) if (&User-Name =~ / /) { (9) if (&User-Name =~ / /) -> FALSE (9) if (&User-Name =~ /@[^@]*@/ ) { (9) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (9) if (&User-Name =~ /\.\./ ) { (9) if (&User-Name =~ /\.\./ ) -> FALSE (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (9) if (&User-Name =~ /\.$/) { (9) if (&User-Name =~ /\.$/) -> FALSE (9) if (&User-Name =~ /@\./) { (9) if (&User-Name =~ /@\./) -> FALSE (9) } # if (&User-Name) = notfound (9) } # policy filter_username = notfound (9) [preprocess] = ok (9) [chap] = noop (9) [mschap] = noop (9) [digest] = noop (9) suffix: Checking for suffix after "@" (9) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (9) suffix: No such realm "NULL" (9) [suffix] = noop (9) eap: Peer sent EAP Response (code 2) ID 158 length 29 (9) eap: Continuing tunnel setup (9) [eap] = ok (9) } # authorize = ok (9) Found Auth-Type = eap (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (9) authenticate { (9) eap: Expiring EAP session with state 0x73614bc172ff510e (9) eap: Finished EAP session with state 0xdcff01a1d4611842 (9) eap: Previous EAP request found for state 0xdcff01a1d4611842, released from the list (9) eap: Peer sent packet with method EAP PEAP (25) (9) eap: Calling submodule eap_peap to process data (9) eap_peap: Continuing EAP-TLS (9) eap_peap: [eaptls verify] = ok (9) eap_peap: Done initial handshake (9) eap_peap: [eaptls process] = ok (9) eap_peap: Session established. Decoding tunneled attributes (9) eap_peap: PEAP state phase2 (9) eap_peap: EAP method MSCHAPv2 (26) (9) eap_peap: Got tunneled request (9) eap_peap: EAP-Message = 0x029e00061a03 (9) eap_peap: Setting User-Name to testuser (9) eap_peap: Sending tunneled request to inner-tunnel (9) eap_peap: EAP-Message = 0x029e00061a03 (9) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (9) eap_peap: User-Name = "testuser" (9) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (9) Virtual server inner-tunnel received request (9) EAP-Message = 0x029e00061a03 (9) FreeRADIUS-Proxied-To = 127.0.0.1 (9) User-Name = "testuser" (9) State = 0x73614bc172ff510eb5bcf37c76b9f7ee (9) server inner-tunnel { (9) session-state: No cached attributes (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) authorize { (9) policy filter_username { (9) if (&User-Name) { (9) if (&User-Name) -> TRUE (9) if (&User-Name) { (9) if (&User-Name =~ / /) { (9) if (&User-Name =~ / /) -> FALSE (9) if (&User-Name =~ /@[^@]*@/ ) { (9) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (9) if (&User-Name =~ /\.\./ ) { (9) if (&User-Name =~ /\.\./ ) -> FALSE (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (9) if (&User-Name =~ /\.$/) { (9) if (&User-Name =~ /\.$/) -> FALSE (9) if (&User-Name =~ /@\./) { (9) if (&User-Name =~ /@\./) -> FALSE (9) } # if (&User-Name) = notfound (9) } # policy filter_username = notfound (9) [chap] = noop (9) [mschap] = noop (9) suffix: Checking for suffix after "@" (9) suffix: No '@' in User-Name = "testuser", looking up realm NULL (9) suffix: No such realm "NULL" (9) [suffix] = noop (9) update control { (9) &Proxy-To-Realm := LOCAL (9) } # update control = noop (9) eap: Peer sent EAP Response (code 2) ID 158 length 6 (9) eap: No EAP Start, assuming it's an on-going EAP conversation (9) [eap] = updated (9) files: users: Matched entry testuser at line 98 (9) [files] = ok (9) [expiration] = noop (9) [logintime] = noop (9) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes (9) pap: WARNING: Auth-Type already set. Not setting to PAP (9) [pap] = noop (9) } # authorize = updated (9) Found Auth-Type = eap (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) authenticate { (9) eap: Expiring EAP session with state 0x73614bc172ff510e (9) eap: Finished EAP session with state 0x73614bc172ff510e (9) eap: Previous EAP request found for state 0x73614bc172ff510e, released from the list (9) eap: Peer sent packet with method EAP MSCHAPv2 (26) (9) eap: Calling submodule eap_mschapv2 to process data (9) eap: Sending EAP Success (code 3) ID 158 length 4 (9) eap: Freeing handler (9) [eap] = ok (9) } # authenticate = ok (9) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) post-auth { (9) update { (9) &outer.session-state::MS-MPPE-Encryption-Policy += &reply:MS-MPPE-Encryption-Policy[*] -> Encryption-Allowed (9) &outer.session-state::MS-MPPE-Encryption-Types += &reply:MS-MPPE-Encryption-Types[*] -> RC4-40or128-bit-Allowed (9) &outer.session-state::MS-MPPE-Send-Key += &reply:MS-MPPE-Send-Key[*] -> 0x33046b7deb897ca1ac0495bae9824012 (9) &outer.session-state::MS-MPPE-Recv-Key += &reply:MS-MPPE-Recv-Key[*] -> 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) &outer.session-state::EAP-Message += &reply:EAP-Message[*] -> 0x039e0004 (9) &outer.session-state::Message-Authenticator += &reply:Message-Authenticator[*] -> 0x00000000000000000000000000000000 (9) &outer.session-state::User-Name += &reply:User-Name[*] -> 'testuser' (9) } # update = noop (9) update outer.session-state { (9) MS-MPPE-Encryption-Policy !* ANY (9) MS-MPPE-Encryption-Types !* ANY (9) MS-MPPE-Send-Key !* ANY (9) MS-MPPE-Recv-Key !* ANY (9) Message-Authenticator !* ANY (9) EAP-Message !* ANY (9) Proxy-State !* ANY (9) } # update outer.session-state = noop (9) } # post-auth = noop (9) Login OK: [testuser] (from client BNE-WLAN-UAP1 port 0 via TLS tunnel) (9) } # server inner-tunnel (9) Virtual server sending reply (9) MS-MPPE-Encryption-Policy = Encryption-Allowed (9) MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) EAP-Message = 0x039e0004 (9) Message-Authenticator = 0x00000000000000000000000000000000 (9) User-Name = "testuser" (9) eap_peap: Got tunneled reply code 2 (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) eap_peap: EAP-Message = 0x039e0004 (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (9) eap_peap: User-Name = "testuser" (9) eap_peap: Got tunneled reply RADIUS code 2 (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) eap_peap: EAP-Message = 0x039e0004 (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (9) eap_peap: User-Name = "testuser" (9) eap_peap: Tunneled authentication was successful (9) eap_peap: SUCCESS (9) eap: Sending EAP Request (code 1) ID 159 length 38 (9) eap: EAP session adding &reply:State = 0xdcff01a1d5601842 (9) [eap] = handled (9) } # authenticate = handled (9) Using Post-Auth-Type Challenge (9) Post-Auth-Type sub-section not found. Ignoring. (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (9) session-state: Saving cached attributes (9) User-Name += "testuser" (9) Sent Access-Challenge Id 205 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (9) EAP-Message = 0x019f00261900170303001b8dd194cd37ae97986b82c7a825fd124f9c9f6538e32bc910266c38 (9) Message-Authenticator = 0x00000000000000000000000000000000 (9) State = 0xdcff01a1d56018422343d3b59bbb1704 (9) Finished request Waking up in 4.5 seconds. (10) Received Access-Request Id 206 from 192.168.40.21:46541 to 192.168.8.35:1812 length 205 (10) User-Name = "anonymous" (10) NAS-Identifier = "802aa8d3d475" (10) NAS-Port = 0 (10) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (10) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (10) Framed-MTU = 1400 (10) NAS-Port-Type = Wireless-802.11 (10) Connect-Info = "CONNECT 0Mbps 802.11b" (10) EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870 (10) State = 0xdcff01a1d56018422343d3b59bbb1704 (10) Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81 (10) Restoring &session-state (10) &session-state:User-Name += "testuser" (10) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (10) authorize { (10) policy filter_username { (10) if (&User-Name) { (10) if (&User-Name) -> TRUE (10) if (&User-Name) { (10) if (&User-Name =~ / /) { (10) if (&User-Name =~ / /) -> FALSE (10) if (&User-Name =~ /@[^@]*@/ ) { (10) if (&User-Name =~ /@[^@]*@/ ) -> FALSE (10) if (&User-Name =~ /\.\./ ) { (10) if (&User-Name =~ /\.\./ ) -> FALSE (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (10) if (&User-Name =~ /\.$/) { (10) if (&User-Name =~ /\.$/) -> FALSE (10) if (&User-Name =~ /@\./) { (10) if (&User-Name =~ /@\./) -> FALSE (10) } # if (&User-Name) = notfound (10) } # policy filter_username = notfound (10) [preprocess] = ok (10) [chap] = noop (10) [mschap] = noop (10) [digest] = noop (10) suffix: Checking for suffix after "@" (10) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (10) suffix: No such realm "NULL" (10) [suffix] = noop (10) eap: Peer sent EAP Response (code 2) ID 159 length 38 (10) eap: Continuing tunnel setup (10) [eap] = ok (10) } # authorize = ok (10) Found Auth-Type = eap (10) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (10) authenticate { (10) eap: Expiring EAP session with state 0xdcff01a1d5601842 (10) eap: Finished EAP session with state 0xdcff01a1d5601842 (10) eap: Previous EAP request found for state 0xdcff01a1d5601842, released from the list (10) eap: Peer sent packet with method EAP PEAP (25) (10) eap: Calling submodule eap_peap to process data (10) eap_peap: Continuing EAP-TLS (10) eap_peap: [eaptls verify] = ok (10) eap_peap: Done initial handshake (10) eap_peap: [eaptls process] = ok (10) eap_peap: Session established. Decoding tunneled attributes (10) eap_peap: PEAP state send tlv success (10) eap_peap: Received EAP-TLV response (10) eap_peap: Success (10) eap: Sending EAP Success (code 3) ID 159 length 4 (10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') { (10) Attributes matching "request:" (10) &request:User-Name = anonymous (10) &request:NAS-Identifier = 802aa8d3d475 (10) &request:NAS-Port = 0 (10) &request:Called-Station-Id = 82-2A-A8-D5-D4-75:WLAN (10) &request:Calling-Station-Id = EC-1F-72-7E-BC-BB (10) &request:Framed-MTU = 1400 (10) &request:NAS-Port-Type = Wireless-802.11 (10) &request:Connect-Info = CONNECT 0Mbps 802.11b (10) &request:EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870 (10) &request:State = 0xdcff01a1d56018422343d3b59bbb1704 (10) &request:Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81 (10) &request:Event-Timestamp = Dec 20 2019 16:01:10 AEST (10) &request:NAS-IP-Address = 192.168.40.21 (10) &request:EAP-Type = PEAP (10) EXPAND %{debug_attr:request:} (10) --> (10) if ("%{debug_attr:request:}" == '') -> TRUE (10) if ("%{debug_attr:request:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:request:}" == '') = noop (10) } # policy debug_request = noop (10) policy debug_coa { (10) if ("%{debug_attr:coa:}" == '') { (10) Attributes matching "coa:" (10) WARNING: List "coa" is not available (10) EXPAND %{debug_attr:coa:} (10) --> (10) if ("%{debug_attr:coa:}" == '') -> TRUE (10) if ("%{debug_attr:coa:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:coa:}" == '') = noop (10) } # policy debug_coa = noop (10) policy debug_reply { (10) if ("%{debug_attr:reply:}" == '') { (10) Attributes matching "reply:" (10) &reply:MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e (10) &reply:MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) &reply:EAP-MSK = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491eadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) &reply:EAP-EMSK = 0x68ed4ecf9dba4d63ae95c5226d39f88c5ec2c2a995d3faa4132911ee671b70e9fac2e9a0537612142720f69e17562da9ba9d672355c03d816669777248da35de (10) &reply:EAP-Session-Id = 0x19ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d8345cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e (10) &reply:EAP-Message = 0x039f0004 (10) &reply:Message-Authenticator = 0x00000000000000000000000000000000 (10) &reply:User-Name = anonymous (10) EXPAND %{debug_attr:reply:} (10) --> (10) if ("%{debug_attr:reply:}" == '') -> TRUE (10) if ("%{debug_attr:reply:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:reply:}" == '') = noop (10) } # policy debug_reply = noop (10) policy debug_session_state { (10) if ("%{debug_attr:session-state:}" == '') { (10) Attributes matching "session-state:" (10) &session-state:User-Name += testuser (10) EXPAND %{debug_attr:session-state:} (10) --> (10) if ("%{debug_attr:session-state:}" == '') -> TRUE (10) if ("%{debug_attr:session-state:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:session-state:}" == '') = noop (10) } # policy debug_session_state = noop (10) } # policy debug_all = noop (10) update { (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop (10) Login OK: [anonymous] (from client BNE-WLAN-UAP1 port 0 cli EC-1F-72-7E-BC-BB) (10) Sent Access-Accept Id 206 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (10) MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e (10) MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) EAP-Message = 0x039f0004 (10) Message-Authenticator = 0x00000000000000000000000000000000 (10) User-Name = "anonymous" (10) User-Name += "testuser" (10) Finished request Waking up in 4.5 seconds. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 20, 2019 6:22 AM, S. via Freeradius-Users <freeradius-users@lists.freeradius.org> wrote:
Hi all,
I'm stuck on an issue with FreeRADIUS configuration and after a few days of reading and searching I'm out of ideas. Hopefully it's just a simple mistake which someone can pick up and help me out with.
I've been using FreeRADIUS to handle EAP authentication (both EAP-TLS and EAP-PEAP-MSCHAPv2) and dynamic VLAN assignments for wireless networks and it's been working flawlessly.
Recently I've had to look at making some configuration changes to suit a more complex situation and this is where I'm getting stuck and going around in circles.
Previously I have been defining the dynamic VLAN on a per-user basis within the "users" configuration file as such:
testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = "125" # CLIENT-VPN
This has been working fine and the dynamic VLAN gets assigned as expected.
I need to change this now so that the "users" file only contains the username and password hash and the dynamic VLAN assignment actually happens using unlang logic in the post-auth section of the "/etc/freeradius/3.0/sites-enabled/default" file.
After a bit of reading, it appears that I can create an attribute in the users file which get's added into a control list which I can reference in the post-auth phase. So I try doing that by first defining the attribute in the "dictionary" file:
#tail -n 2 /etc/freeradius/3.0/dictionary ATTRIBUTE VLAN-Name 3000 string
And then I add the attribute (and the desired value) in the users file:
testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", VLAN-Name := "CLIENT-VPN"
I then create the relevant unlang logic. What I'm trying to do with this logic is determine the NAS-IP (WAP) and assigned VLAN-Name for the user. Based on this, I'll send back the approrpiate VLAN-ID.
cat /etc/freeradius/3.0/sites-enabled/default
==============================================
... post-auth { debug_all ... if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "225" } }
The unlang logic works fine just against the NAS-IP-Address however fails when used with the VLAN-Name custom attribute.
Looking through the debugs, I find two areas indicating a problem. The most obvious is the ERROR below indicating a failure to get my attribute:
(10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop
Enabling the "debug_all" option in the post-auth section (to dump all attributes) also reveals that my control list attribute "&control:VLAN-Name" doesn't appear to be available for use. The only control list attribute is "&control:Auth-Type".
(10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') {
Appreciate any help you can provide.
Thank you.
P.S. I've included the full debug output here as requested in the mailing list rules/FAQ:
freeradius -X FreeRADIUS Version 3.0.12 Copyright (C) 1999-2016 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 For more information about these matters, see the file named COPYRIGHT Starting - reading configuration files ... including dictionary file /usr/share/freeradius/dictionary including dictionary file /usr/share/freeradius/dictionary.dhcp including dictionary file /usr/share/freeradius/dictionary.vqp including dictionary file /etc/freeradius/3.0/dictionary including configuration file /etc/freeradius/3.0/radiusd.conf including configuration file /etc/freeradius/3.0/proxy.conf including configuration file /etc/freeradius/3.0/clients.conf including files in directory /etc/freeradius/3.0/mods-enabled/ including configuration file /etc/freeradius/3.0/mods-enabled/always including configuration file /etc/freeradius/3.0/mods-enabled/unpack including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter including configuration file /etc/freeradius/3.0/mods-enabled/realm including configuration file /etc/freeradius/3.0/mods-enabled/detail including configuration file /etc/freeradius/3.0/mods-enabled/utf8 including configuration file /etc/freeradius/3.0/mods-enabled/detail.log including configuration file /etc/freeradius/3.0/mods-enabled/chap including configuration file /etc/freeradius/3.0/mods-enabled/expiration including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients including configuration file /etc/freeradius/3.0/mods-enabled/expr including configuration file /etc/freeradius/3.0/mods-enabled/echo including configuration file /etc/freeradius/3.0/mods-enabled/linelog including configuration file /etc/freeradius/3.0/mods-enabled/preprocess including configuration file /etc/freeradius/3.0/mods-enabled/eap including configuration file /etc/freeradius/3.0/mods-enabled/mschap including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap including configuration file /etc/freeradius/3.0/mods-enabled/replicate including configuration file /etc/freeradius/3.0/mods-enabled/exec including configuration file /etc/freeradius/3.0/mods-enabled/digest including configuration file /etc/freeradius/3.0/mods-enabled/files including configuration file /etc/freeradius/3.0/mods-enabled/soh including configuration file /etc/freeradius/3.0/mods-enabled/pap including configuration file /etc/freeradius/3.0/mods-enabled/unix including configuration file /etc/freeradius/3.0/mods-enabled/radutmp including configuration file /etc/freeradius/3.0/mods-enabled/logintime including configuration file /etc/freeradius/3.0/mods-enabled/passwd including files in directory /etc/freeradius/3.0/policy.d/ including configuration file /etc/freeradius/3.0/policy.d/operator-name including configuration file /etc/freeradius/3.0/policy.d/filter including configuration file /etc/freeradius/3.0/policy.d/canonicalization including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids including configuration file /etc/freeradius/3.0/policy.d/control including configuration file /etc/freeradius/3.0/policy.d/accounting including configuration file /etc/freeradius/3.0/policy.d/dhcp including configuration file /etc/freeradius/3.0/policy.d/debug including configuration file /etc/freeradius/3.0/policy.d/cui including configuration file /etc/freeradius/3.0/policy.d/abfab-tr including configuration file /etc/freeradius/3.0/policy.d/eap including files in directory /etc/freeradius/3.0/sites-enabled/ including configuration file /etc/freeradius/3.0/sites-enabled/default including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel main { security { user = "freerad" group = "freerad" allow_core_dumps = no } name = "freeradius" prefix = "/usr" localstatedir = "/var" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" } main { name = "freeradius" prefix = "/usr" localstatedir = "/var" sbindir = "/usr/sbin" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/freeradius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 16384 pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = yes auth_badpass = no auth_goodpass = no colourise = yes msg_denied = "You are already logged in - access denied" } resources { } security { max_attributes = 200 reject_delay = 1.000000 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 = <<< secret >>> response_window = 20.000000 response_timeouts = 1 max_outstanding = 65536 zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 check_timeout = 4 num_answers_to_alive = 3 revive_interval = 120 limit { max_connections = 16 max_requests = 0 lifetime = 0 idle_timeout = 0 } coa { 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 = <<< secret >>> nas_type = "other" proto = "*" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client localhost_ipv6 { ipv6addr = ::1 require_message_authenticator = no secret = <<< secret >>> limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client GC-WLAN-UAP1 { ipaddr = 192.168.8.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client BNE-WLAN-UAP1 { ipaddr = 192.168.40.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } Debugger not attached
Creating Auth-Type = mschap
============================
Creating Auth-Type = digest
============================
Creating Auth-Type = eap
=========================
Creating Auth-Type = PAP
=========================
Creating Auth-Type = CHAP
==========================
Creating Auth-Type = MS-CHAP
=============================
radiusd: #### Instantiating modules #### modules {
Loaded module rlm_always
=========================
Loading module "reject" from file /etc/freeradius/3.0/mods-enabled/always
==========================================================================
always reject { rcode = "reject" simulcount = 0 mpp = no }
Loading module "fail" from file /etc/freeradius/3.0/mods-enabled/always
========================================================================
always fail { rcode = "fail" simulcount = 0 mpp = no }
Loading module "ok" from file /etc/freeradius/3.0/mods-enabled/always
======================================================================
always ok { rcode = "ok" simulcount = 0 mpp = no }
Loading module "handled" from file /etc/freeradius/3.0/mods-enabled/always
===========================================================================
always handled { rcode = "handled" simulcount = 0 mpp = no }
Loading module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
===========================================================================
always invalid { rcode = "invalid" simulcount = 0 mpp = no }
Loading module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
============================================================================
always userlock { rcode = "userlock" simulcount = 0 mpp = no }
Loading module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
============================================================================
always notfound { rcode = "notfound" simulcount = 0 mpp = no }
Loading module "noop" from file /etc/freeradius/3.0/mods-enabled/always
========================================================================
always noop { rcode = "noop" simulcount = 0 mpp = no }
Loading module "updated" from file /etc/freeradius/3.0/mods-enabled/always
===========================================================================
always updated { rcode = "updated" simulcount = 0 mpp = no }
Loaded module rlm_unpack
=========================
Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack
==========================================================================
Loaded module rlm_exec
=======================
Loading module "ntlm_auth" from file /etc/freeradius/3.0/mods-enabled/ntlm_auth
================================================================================
exec ntlm_auth { wait = yes program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}" shell_escape = yes }
Loaded module rlm_attr_filter
==============================
Loading module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
===============================================================================================
attr_filter attr_filter.post-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy" key = "%{Realm}" relaxed = no }
Loading module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
==============================================================================================
attr_filter attr_filter.pre-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy" key = "%{Realm}" relaxed = no }
Loading module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
==================================================================================================
attr_filter attr_filter.access_reject { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_reject" key = "%{User-Name}" relaxed = no }
Loading module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=====================================================================================================
attr_filter attr_filter.access_challenge { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge" key = "%{User-Name}" relaxed = no }
Loading module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
========================================================================================================
attr_filter attr_filter.accounting_response { filename = "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response" key = "%{User-Name}" relaxed = no }
Loaded module rlm_realm
========================
Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
========================================================================
realm IPASS { format = "prefix" delimiter = "/" ignore_default = no ignore_null = no }
Loading module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
=========================================================================
realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no }
Loading module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
===============================================================================
realm realmpercent { format = "suffix" delimiter = "%" ignore_default = no ignore_null = no }
Loading module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
===========================================================================
realm ntdomain { format = "prefix" delimiter = "\\" ignore_default = no ignore_null = no }
Loaded module rlm_detail
=========================
Loading module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
==========================================================================
detail { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no }
Loaded module rlm_utf8
=======================
Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
======================================================================
Loading module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
================================================================================
detail auth_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no }
Loading module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
=================================================================================
detail reply_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no }
Loading module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
=====================================================================================
detail pre_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no }
Loading module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
======================================================================================
detail post_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no }
Loaded module rlm_chap
=======================
Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
======================================================================
Loaded module rlm_expiration
=============================
Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
==================================================================================
Loaded module rlm_radutmp
==========================
Loading module "sradutmp" from file /etc/freeradius/3.0/mods-enabled/sradutmp
==============================================================================
radutmp sradutmp { filename = "/var/log/freeradius/sradutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 420 caller_id = no }
Loaded module rlm_dynamic_clients
==================================
Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients
============================================================================================
Loaded module rlm_expr
=======================
Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
======================================================================
expr { safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ" }
Loading module "echo" from file /etc/freeradius/3.0/mods-enabled/echo
======================================================================
exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = "request" output_pairs = "reply" shell_escape = yes }
Loaded module rlm_linelog
==========================
Loading module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
============================================================================
linelog { filename = "/var/log/freeradius/linelog" escape_filenames = no syslog_severity = "info" permissions = 384 format = "This is a log message for %{User-Name}" reference = "messages.%{%{reply:Packet-Type}:-default}" }
Loading module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
===================================================================================
linelog log_accounting { filename = "/var/log/freeradius/linelog-accounting" escape_filenames = no syslog_severity = "info" permissions = 384 format = "" reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}" }
Loaded module rlm_preprocess
=============================
Loading module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
==================================================================================
preprocess { huntgroups = "/etc/freeradius/3.0/mods-config/preprocess/huntgroups" hints = "/etc/freeradius/3.0/mods-config/preprocess/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 }
Loaded module rlm_eap
======================
Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
====================================================================
eap { default_eap_type = "peap" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 16384 }
Loaded module rlm_mschap
=========================
Loading module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
==========================================================================
mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = yes passchange { } allow_retry = yes }
Loaded module rlm_cache
========================
Loading module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
================================================================================
cache cache_eap { driver = "rlm_cache_rbtree" key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}" ttl = 15 max_entries = 0 epoch = 0 add_stats = no }
Loaded module rlm_replicate
============================
Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate
================================================================================
Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec
======================================================================
exec { wait = no input_pairs = "request" shell_escape = yes timeout = 10 }
Loaded module rlm_digest
=========================
Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest
==========================================================================
Loaded module rlm_files
========================
Loading module "files" from file /etc/freeradius/3.0/mods-enabled/files
========================================================================
files { filename = "/etc/freeradius/3.0/mods-config/files/authorize" acctusersfile = "/etc/freeradius/3.0/mods-config/files/accounting" preproxy_usersfile = "/etc/freeradius/3.0/mods-config/files/pre-proxy" }
Loaded module rlm_soh
======================
Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
====================================================================
soh { dhcp = yes }
Loaded module rlm_pap
======================
Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
====================================================================
pap { normalise = yes }
Loaded module rlm_unix
=======================
Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix
======================================================================
unix { radwtmp = "/var/log/freeradius/radwtmp" } Creating attribute Unix-Group
Loading module "radutmp" from file /etc/freeradius/3.0/mods-enabled/radutmp
============================================================================
radutmp { filename = "/var/log/freeradius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 384 caller_id = yes }
Loaded module rlm_logintime
============================
Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
================================================================================
logintime { minimum_timeout = 60 }
Loaded module rlm_passwd
=========================
Loading module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
==============================================================================
passwd etc_passwd { filename = "/etc/passwd" format = "*User-Name:Crypt-Password:" delimiter = ":" ignore_nislike = no ignore_empty = yes allow_multiple_keys = no hash_size = 100 } instantiate { }
Instantiating module "reject" from file /etc/freeradius/3.0/mods-enabled/always
================================================================================
Instantiating module "fail" from file /etc/freeradius/3.0/mods-enabled/always
==============================================================================
Instantiating module "ok" from file /etc/freeradius/3.0/mods-enabled/always
============================================================================
Instantiating module "handled" from file /etc/freeradius/3.0/mods-enabled/always
=================================================================================
Instantiating module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
=================================================================================
Instantiating module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
==================================================================================
Instantiating module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
==================================================================================
Instantiating module "noop" from file /etc/freeradius/3.0/mods-enabled/always
==============================================================================
Instantiating module "updated" from file /etc/freeradius/3.0/mods-enabled/always
=================================================================================
Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=====================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/post-proxy
Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
====================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy
Instantiating module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
========================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_reject [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT". [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay-USec" found in filter list for realm "DEFAULT".
Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
===========================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_challenge
Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
==============================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/accounting_response
Instantiating module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
==============================================================================
Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
===============================================================================
Instantiating module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
=====================================================================================
Instantiating module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
=================================================================================
Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
================================================================================
Instantiating module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
======================================================================================
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
Instantiating module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
=======================================================================================
Instantiating module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
===========================================================================================
Instantiating module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
============================================================================================
Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
========================================================================================
Instantiating module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
==================================================================================
Instantiating module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
=========================================================================================
Instantiating module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
========================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/huntgroups reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/hints
Instantiating module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
==========================================================================
Linked to sub-module rlm_eap_gtc
=================================
gtc { challenge = "Password: " auth_type = "PAP" }
Linked to sub-module rlm_eap_tls
=================================
tls { tls = "tls-common" } tls-config tls-common { verify_depth = 0 ca_path = "/etc/freeradius/3.0/certs" pem_file_type = yes private_key_file = "/etc/ssl/private/XXXXXX.key.pem" certificate_file = "/etc/ssl/certs/XXXXXX.cert.pem" ca_file = "/etc/ssl/certs/ca-certificates.crt" dh_file = "/etc/freeradius/3.0/certs/dh" fragment_size = 1024 include_length = yes auto_chain = yes check_crl = no check_all_crl = no cipher_list = "HIGH" ecdh_curve = "prime256v1" cache { enable = yes lifetime = 24 max_entries = 255 } verify { skip_if_ocsp_ok = no } ocsp { enable = no override_cert_url = yes url = "http://127.0.0.1/ocsp/" use_nonce = yes timeout = 0 softfail = no } }
Linked to sub-module rlm_eap_peap
==================================
peap { tls = "tls-common" default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" soh = no require_client_cert = no } tls: Using cached TLS configuration from previous invocation
Linked to sub-module rlm_eap_mschapv2
======================================
mschapv2 { with_ntdomain_hack = no send_error = no }
Instantiating module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
================================================================================
rlm_mschap (mschap): using internal authentication
Instantiating module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
======================================================================================
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
Instantiating module "files" from file /etc/freeradius/3.0/mods-enabled/files
==============================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize reading pairlist file /etc/freeradius/3.0/mods-config/files/accounting reading pairlist file /etc/freeradius/3.0/mods-config/files/pre-proxy
Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
==========================================================================
Instantiating module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
======================================================================================
Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
====================================================================================
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no } # modules radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/3.0/radiusd.conf } # server server default { # from file /etc/freeradius/3.0/sites-enabled/default
Loading authenticate {...}
===========================
Loading authorize {...}
========================
Ignoring "sql" (see raddb/mods-available/README.rst) Ignoring "ldap" (see raddb/mods-available/README.rst)
Loading preacct {...}
======================
Loading accounting {...}
=========================
Loading post-proxy {...}
=========================
Loading post-auth {...}
========================
} # server default server inner-tunnel { # from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
Loading authenticate {...}
===========================
Loading authorize {...}
========================
Loading session {...}
======================
Loading post-proxy {...}
=========================
Loading post-auth {...}
========================
} # server inner-tunnel radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipaddr = 127.0.0.1 port = 18120 } Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on proxy address * port 53109 Listening on proxy address :: port 50014 Ready to process requests (0) Received Access-Request Id 196 from 192.168.40.21:46541 to 192.168.8.35:1812 length 163 (0) User-Name = "anonymous" (0) NAS-Identifier = "802aa8d3d475" (0) NAS-Port = 0 (0) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (0) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (0) Framed-MTU = 1400 (0) NAS-Port-Type = Wireless-802.11 (0) Connect-Info = "CONNECT 0Mbps 802.11b" (0) EAP-Message = 0x0295000e01616e6f6e796d6f7573 (0) Message-Authenticator = 0x39e811b49e0603269b2b13734db8c4d3 (0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (0) authorize { (0) policy filter_username { (0) if (&User-Name) { (0) if (&User-Name) -> TRUE (0) if (&User-Name) { (0) if (&User-Name =~ / /) { (0) if (&User-Name =~ / /) -> FALSE (0) if (&User-Name =~ /@[^@]@/ ) { (0) if (&User-Name =~ /@[^@]@/ ) -> FALSE(0) if (&User-Name =~ /\.\./ ) { (0) if (&User-Name =~ /\.\./ ) -> FALSE (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (0) if (&User-Name =~ /\.$/) { (0) if (&User-Name =~ /\.$/) -> FALSE (0) if (&User-Name =~ /@\./) { (0) if (&User-Name =~ /@\./) -> FALSE (0) } # if (&User-Name) = notfound (0) } # policy filter_username = notfound (0) [preprocess] = ok (0) [chap] = noop (0) [mschap] = noop (0) [digest] = noop (0) suffix: Checking for suffix after "@" (0) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (0) suffix: No such realm "NULL" (0) [suffix] = noop (0) eap: Peer sent EAP Response (code 2) ID 149 length 14 (0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (0) [eap] = ok (0) } # authorize = ok (0) Found Auth-Type = eap (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) authenticate { (0) eap: Peer sent packet with method EAP Identity (1) (0) eap: Calling submodule eap_peap to process data (0) eap_peap: Initiating new EAP-TLS session (0) eap_peap: [eaptls start] = request (0) eap: Sending EAP Request (code 1) ID 150 length 6 (0) eap: EAP session adding &reply:State = 0xdcff01a1dc691842 (0) [eap] = handled (0) } # authenticate = handled (0) Using Post-Auth-Type Challenge (0) Post-Auth-Type sub-section not found. Ignoring. (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) Sent Access-Challenge Id 196 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (0) EAP-Message = 0x019600061920 (0) Message-Authenticator = 0x00000000000000000000000000000000 (0) State = 0xdcff01a1dc6918422343d3b59bbb1704 (0) Finished request Waking up in 4.9 seconds. (1) Received Access-Request Id 197 from 192.168.40.21:46541 to 192.168.8.35:1812 length 320 (1) User-Name = "anonymous" (1) NAS-Identifier = "802aa8d3d475" (1) NAS-Port = 0 (1) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (1) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (1) Framed-MTU = 1400 (1) NAS-Port-Type = Wireless-802.11 (1) Connect-Info = "CONNECT 0Mbps 802.11b" (1) EAP-Message = 0x0296009919800000008f160301008a010000860303ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d834500002acca9cca8c02bc02fc02cc030c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a01000033ff0100010000170000000d001400120403 (1) State = 0xdcff01a1dc6918422343d3b59bbb1704 (1) Message-Authenticator = 0x76ea1adde71a5cdad501da5ad77f89a2 (1) session-state: No cached attributes (1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (1) authorize { (1) policy filter_username { (1) if (&User-Name) { (1) if (&User-Name) -> TRUE (1) if (&User-Name) { (1) if (&User-Name =~ / /) { (1) if (&User-Name =~ / /) -> FALSE (1) if (&User-Name =~ /@[^@]@/ ) { (1) if (&User-Name =~ /@[^@]@/ ) -> FALSE(1) if (&User-Name =~ /\.\./ ) { (1) if (&User-Name =~ /\.\./ ) -> FALSE (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (1) if (&User-Name =~ /\.$/) { (1) if (&User-Name =~ /\.$/) -> FALSE (1) if (&User-Name =~ /@\./) { (1) if (&User-Name =~ /@\./) -> FALSE (1) } # if (&User-Name) = notfound (1) } # policy filter_username = notfound (1) [preprocess] = ok (1) [chap] = noop (1) [mschap] = noop (1) [digest] = noop (1) suffix: Checking for suffix after "@" (1) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (1) suffix: No such realm "NULL" (1) [suffix] = noop (1) eap: Peer sent EAP Response (code 2) ID 150 length 153 (1) eap: Continuing tunnel setup (1) [eap] = ok (1) } # authorize = ok (1) Found Auth-Type = eap (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) authenticate { (1) eap: Expiring EAP session with state 0xdcff01a1dc691842 (1) eap: Finished EAP session with state 0xdcff01a1dc691842 (1) eap: Previous EAP request found for state 0xdcff01a1dc691842, released from the list (1) eap: Peer sent packet with method EAP PEAP (25) (1) eap: Calling submodule eap_peap to process data (1) eap_peap: Continuing EAP-TLS (1) eap_peap: Peer indicated complete TLS record size will be 143 bytes (1) eap_peap: Got complete TLS record (143 bytes) (1) eap_peap: [eaptls verify] = length included (1) eap_peap: (other): before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: <<< recv TLS 1.2 [length 008a] (1) eap_peap: TLS_accept: SSLv3/TLS read client hello (1) eap_peap: >>> send TLS 1.2 [length 003d] (1) eap_peap: TLS_accept: SSLv3/TLS write server hello (1) eap_peap: >>> send TLS 1.2 [length 0c06] (1) eap_peap: TLS_accept: SSLv3/TLS write certificate (1) eap_peap: >>> send TLS 1.2 [length 024d] (1) eap_peap: TLS_accept: SSLv3/TLS write key exchange (1) eap_peap: >>> send TLS 1.2 [length 0004] (1) eap_peap: TLS_accept: SSLv3/TLS write server done (1) eap_peap: TLS_accept: Need to read more data: SSLv3/TLS write server done (1) eap_peap: In SSL Handshake Phase (1) eap_peap: In SSL Accept mode (1) eap_peap: [eaptls process] = handled (1) eap: Sending EAP Request (code 1) ID 151 length 1014 (1) eap: EAP session adding &reply:State = 0xdcff01a1dd681842 (1) [eap] = handled (1) } # authenticate = handled (1) Using Post-Auth-Type Challenge (1) Post-Auth-Type sub-section not found. Ignoring. (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) Sent Access-Challenge Id 197 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (1) EAP-Message = 0x019703f619c000000ea8160303003d020000390303cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e00cca8000011ff01000100000b000403000102001700001603030c060b000c02000bff00065f3082065b30820443a0030201020202100b300d06092a864886f70d01 (1) Message-Authenticator = 0x00000000000000000000000000000000 (1) State = 0xdcff01a1dd6818422343d3b59bbb1704 (1) Finished request Waking up in 4.9 seconds. (2) Received Access-Request Id 198 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (2) User-Name = "anonymous" (2) NAS-Identifier = "802aa8d3d475" (2) NAS-Port = 0 (2) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (2) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (2) Framed-MTU = 1400 (2) NAS-Port-Type = Wireless-802.11 (2) Connect-Info = "CONNECT 0Mbps 802.11b" (2) EAP-Message = 0x029700061900 (2) State = 0xdcff01a1dd6818422343d3b59bbb1704 (2) Message-Authenticator = 0xe6bd97dd94d0e74610db361cdabe26f1 (2) session-state: No cached attributes (2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (2) authorize { (2) policy filter_username { (2) if (&User-Name) { (2) if (&User-Name) -> TRUE (2) if (&User-Name) { (2) if (&User-Name =~ / /) { (2) if (&User-Name =~ / /) -> FALSE (2) if (&User-Name =~ /@[^@]@/ ) { (2) if (&User-Name =~ /@[^@]@/ ) -> FALSE(2) if (&User-Name =~ /\.\./ ) { (2) if (&User-Name =~ /\.\./ ) -> FALSE (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (2) if (&User-Name =~ /\.$/) { (2) if (&User-Name =~ /\.$/) -> FALSE (2) if (&User-Name =~ /@\./) { (2) if (&User-Name =~ /@\./) -> FALSE (2) } # if (&User-Name) = notfound (2) } # policy filter_username = notfound (2) [preprocess] = ok (2) [chap] = noop (2) [mschap] = noop (2) [digest] = noop (2) suffix: Checking for suffix after "@" (2) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (2) suffix: No such realm "NULL" (2) [suffix] = noop (2) eap: Peer sent EAP Response (code 2) ID 151 length 6 (2) eap: Continuing tunnel setup (2) [eap] = ok (2) } # authorize = ok (2) Found Auth-Type = eap (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) authenticate { (2) eap: Expiring EAP session with state 0xdcff01a1dd681842 (2) eap: Finished EAP session with state 0xdcff01a1dd681842 (2) eap: Previous EAP request found for state 0xdcff01a1dd681842, released from the list (2) eap: Peer sent packet with method EAP PEAP (25) (2) eap: Calling submodule eap_peap to process data (2) eap_peap: Continuing EAP-TLS (2) eap_peap: Peer ACKed our handshake fragment (2) eap_peap: [eaptls verify] = request (2) eap_peap: [eaptls process] = handled (2) eap: Sending EAP Request (code 1) ID 152 length 1010 (2) eap: EAP session adding &reply:State = 0xdcff01a1de671842 (2) [eap] = handled (2) } # authenticate = handled (2) Using Post-Auth-Type Challenge (2) Post-Auth-Type sub-section not found. Ignoring. (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) Sent Access-Challenge Id 198 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (2) EAP-Message = 0x019803f2194081890603551d23048181307f8014f5a4fe043082531ea9c9e8894ce371c0d8b76e0ca15ca45a3058310b30090603550406130241553113301106035504080c0a517565656e736c616e6431153013060355040a0c0c4950414e59414e59204c7464311d301b06035504030c144950414e59 (2) Message-Authenticator = 0x00000000000000000000000000000000 (2) State = 0xdcff01a1de6718422343d3b59bbb1704 (2) Finished request Waking up in 4.9 seconds. (3) Received Access-Request Id 199 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (3) User-Name = "anonymous" (3) NAS-Identifier = "802aa8d3d475" (3) NAS-Port = 0 (3) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (3) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (3) Framed-MTU = 1400 (3) NAS-Port-Type = Wireless-802.11 (3) Connect-Info = "CONNECT 0Mbps 802.11b" (3) EAP-Message = 0x029800061900 (3) State = 0xdcff01a1de6718422343d3b59bbb1704 (3) Message-Authenticator = 0xd4e4a6306a82241636efbaedeb77614e (3) session-state: No cached attributes (3) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (3) authorize { (3) policy filter_username { (3) if (&User-Name) { (3) if (&User-Name) -> TRUE (3) if (&User-Name) { (3) if (&User-Name =~ / /) { (3) if (&User-Name =~ / /) -> FALSE (3) if (&User-Name =~ /@[^@]@/ ) { (3) if (&User-Name =~ /@[^@]@/ ) -> FALSE(3) if (&User-Name =~ /\.\./ ) { (3) if (&User-Name =~ /\.\./ ) -> FALSE (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (3) if (&User-Name =~ /\.$/) { (3) if (&User-Name =~ /\.$/) -> FALSE (3) if (&User-Name =~ /@\./) { (3) if (&User-Name =~ /@\./) -> FALSE (3) } # if (&User-Name) = notfound (3) } # policy filter_username = notfound (3) [preprocess] = ok (3) [chap] = noop (3) [mschap] = noop (3) [digest] = noop (3) suffix: Checking for suffix after "@" (3) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (3) suffix: No such realm "NULL" (3) [suffix] = noop (3) eap: Peer sent EAP Response (code 2) ID 152 length 6 (3) eap: Continuing tunnel setup (3) [eap] = ok (3) } # authorize = ok (3) Found Auth-Type = eap (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) authenticate { (3) eap: Expiring EAP session with state 0xdcff01a1de671842 (3) eap: Finished EAP session with state 0xdcff01a1de671842 (3) eap: Previous EAP request found for state 0xdcff01a1de671842, released from the list (3) eap: Peer sent packet with method EAP PEAP (25) (3) eap: Calling submodule eap_peap to process data (3) eap_peap: Continuing EAP-TLS (3) eap_peap: Peer ACKed our handshake fragment (3) eap_peap: [eaptls verify] = request (3) eap_peap: [eaptls process] = handled (3) eap: Sending EAP Request (code 1) ID 153 length 1010 (3) eap: EAP session adding &reply:State = 0xdcff01a1df661842 (3) [eap] = handled (3) } # authenticate = handled (3) Using Post-Auth-Type Challenge (3) Post-Auth-Type sub-section not found. Ignoring. (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) Sent Access-Challenge Id 199 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (3) EAP-Message = 0x019903f219403db777b2ab1db344d5c78cff8c6741f67e95299b96815e5bcb66eb71439eb8a99050aa381ef4d9d7cc65154cbd3dcdc50a20d6f4da6c3eedc4a6c4c4adb072c4d5d71a4e6ed7456e5e0c9f73de1367f00dbd34e027282672811a6dd2aecdebd2cb615ccddf147d02b1c65fde6b28ea22f7 (3) Message-Authenticator = 0x00000000000000000000000000000000 (3) State = 0xdcff01a1df6618422343d3b59bbb1704 (3) Finished request Waking up in 4.8 seconds. (4) Received Access-Request Id 200 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (4) User-Name = "anonymous" (4) NAS-Identifier = "802aa8d3d475" (4) NAS-Port = 0 (4) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (4) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (4) Framed-MTU = 1400 (4) NAS-Port-Type = Wireless-802.11 (4) Connect-Info = "CONNECT 0Mbps 802.11b" (4) EAP-Message = 0x029900061900 (4) State = 0xdcff01a1df6618422343d3b59bbb1704 (4) Message-Authenticator = 0x4a07d878ea0ab40860bd41840d9b53d1 (4) session-state: No cached attributes (4) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (4) authorize { (4) policy filter_username { (4) if (&User-Name) { (4) if (&User-Name) -> TRUE (4) if (&User-Name) { (4) if (&User-Name =~ / /) { (4) if (&User-Name =~ / /) -> FALSE (4) if (&User-Name =~ /@[^@]@/ ) { (4) if (&User-Name =~ /@[^@]@/ ) -> FALSE(4) if (&User-Name =~ /\.\./ ) { (4) if (&User-Name =~ /\.\./ ) -> FALSE (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (4) if (&User-Name =~ /\.$/) { (4) if (&User-Name =~ /\.$/) -> FALSE (4) if (&User-Name =~ /@\./) { (4) if (&User-Name =~ /@\./) -> FALSE (4) } # if (&User-Name) = notfound (4) } # policy filter_username = notfound (4) [preprocess] = ok (4) [chap] = noop (4) [mschap] = noop (4) [digest] = noop (4) suffix: Checking for suffix after "@" (4) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (4) suffix: No such realm "NULL" (4) [suffix] = noop (4) eap: Peer sent EAP Response (code 2) ID 153 length 6 (4) eap: Continuing tunnel setup (4) [eap] = ok (4) } # authorize = ok (4) Found Auth-Type = eap (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) authenticate { (4) eap: Expiring EAP session with state 0xdcff01a1df661842 (4) eap: Finished EAP session with state 0xdcff01a1df661842 (4) eap: Previous EAP request found for state 0xdcff01a1df661842, released from the list (4) eap: Peer sent packet with method EAP PEAP (25) (4) eap: Calling submodule eap_peap to process data (4) eap_peap: Continuing EAP-TLS (4) eap_peap: Peer ACKed our handshake fragment (4) eap_peap: [eaptls verify] = request (4) eap_peap: [eaptls process] = handled (4) eap: Sending EAP Request (code 1) ID 154 length 746 (4) eap: EAP session adding &reply:State = 0xdcff01a1d8651842 (4) [eap] = handled (4) } # authenticate = handled (4) Using Post-Auth-Type Challenge (4) Post-Auth-Type sub-section not found. Ignoring. (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) Sent Access-Challenge Id 200 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (4) EAP-Message = 0x019a02ea19008fba9616587fb1ea32ee83f2f0972c1cde589ebb9e94a1deba7339756e56e802e9439eb0c62667a97b0b7771ab622fe5422684d07d5f276180e361a9ab2cb3db23c2705d0c12b7d25b66bcacdff1c531817bd650abe21e1ef3df65ca76f81e5cf091d43d31f95c97e8dcaf3269fbc18cfe (4) Message-Authenticator = 0x00000000000000000000000000000000 (4) State = 0xdcff01a1d86518422343d3b59bbb1704 (4) Finished request Waking up in 4.8 seconds. (5) Received Access-Request Id 201 from 192.168.40.21:46541 to 192.168.8.35:1812 length 295 (5) User-Name = "anonymous" (5) NAS-Identifier = "802aa8d3d475" (5) NAS-Port = 0 (5) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (5) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (5) Framed-MTU = 1400 (5) NAS-Port-Type = Wireless-802.11 (5) Connect-Info = "CONNECT 0Mbps 802.11b" (5) EAP-Message = 0x029a0080198000000076160303004610000042410489c8bd0afbba1b5226f36bba36403153a0adc35a301aad07d58b9688b3371475eacc1ad36aa2fa043d225c347d21f1d8d8581073ea0db0c403ad488a53a8f85d140303000101160303002005961f8818b3e5348683646f8a541de9ea5073ce2efa66 (5) State = 0xdcff01a1d86518422343d3b59bbb1704 (5) Message-Authenticator = 0x3311ca3d5bfb4e1796cc1d6c70cb725c (5) session-state: No cached attributes (5) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (5) authorize { (5) policy filter_username { (5) if (&User-Name) { (5) if (&User-Name) -> TRUE (5) if (&User-Name) { (5) if (&User-Name =~ / /) { (5) if (&User-Name =~ / /) -> FALSE (5) if (&User-Name =~ /@[^@]@/ ) { (5) if (&User-Name =~ /@[^@]@/ ) -> FALSE(5) if (&User-Name =~ /\.\./ ) { (5) if (&User-Name =~ /\.\./ ) -> FALSE (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (5) if (&User-Name =~ /\.$/) { (5) if (&User-Name =~ /\.$/) -> FALSE (5) if (&User-Name =~ /@\./) { (5) if (&User-Name =~ /@\./) -> FALSE (5) } # if (&User-Name) = notfound (5) } # policy filter_username = notfound (5) [preprocess] = ok (5) [chap] = noop (5) [mschap] = noop (5) [digest] = noop (5) suffix: Checking for suffix after "@" (5) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (5) suffix: No such realm "NULL" (5) [suffix] = noop (5) eap: Peer sent EAP Response (code 2) ID 154 length 128 (5) eap: Continuing tunnel setup (5) [eap] = ok (5) } # authorize = ok (5) Found Auth-Type = eap (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) authenticate { (5) eap: Expiring EAP session with state 0xdcff01a1d8651842 (5) eap: Finished EAP session with state 0xdcff01a1d8651842 (5) eap: Previous EAP request found for state 0xdcff01a1d8651842, released from the list (5) eap: Peer sent packet with method EAP PEAP (25) (5) eap: Calling submodule eap_peap to process data (5) eap_peap: Continuing EAP-TLS (5) eap_peap: Peer indicated complete TLS record size will be 118 bytes (5) eap_peap: Got complete TLS record (118 bytes) (5) eap_peap: [eaptls verify] = length included (5) eap_peap: TLS_accept: SSLv3/TLS write server done (5) eap_peap: <<< recv TLS 1.2 [length 0046] (5) eap_peap: TLS_accept: SSLv3/TLS read client key exchange (5) eap_peap: TLS_accept: SSLv3/TLS read change cipher spec (5) eap_peap: <<< recv TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS read finished (5) eap_peap: >>> send TLS 1.2 [length 0001] (5) eap_peap: TLS_accept: SSLv3/TLS write change cipher spec (5) eap_peap: >>> send TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS write finished (5) eap_peap: (other): SSL negotiation finished successfully (5) eap_peap: SSL Connection Established (5) eap_peap: [eaptls process] = handled (5) eap: Sending EAP Request (code 1) ID 155 length 49 (5) eap: EAP session adding &reply:State = 0xdcff01a1d9641842 (5) [eap] = handled (5) } # authenticate = handled (5) Using Post-Auth-Type Challenge (5) Post-Auth-Type sub-section not found. Ignoring. (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) Sent Access-Challenge Id 201 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (5) EAP-Message = 0x019b003119001403030001011603030020928339ca9a02fb4881ae249f612df4a26df59326e0672ac8e445c34168991d32 (5) Message-Authenticator = 0x00000000000000000000000000000000 (5) State = 0xdcff01a1d96418422343d3b59bbb1704 (5) Finished request Waking up in 4.7 seconds. (6) Received Access-Request Id 202 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (6) User-Name = "anonymous" (6) NAS-Identifier = "802aa8d3d475" (6) NAS-Port = 0 (6) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (6) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (6) Framed-MTU = 1400 (6) NAS-Port-Type = Wireless-802.11 (6) Connect-Info = "CONNECT 0Mbps 802.11b" (6) EAP-Message = 0x029b00061900 (6) State = 0xdcff01a1d96418422343d3b59bbb1704 (6) Message-Authenticator = 0xf6be5cee51e32fdacbbef344781223d3 (6) session-state: No cached attributes (6) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (6) authorize { (6) policy filter_username { (6) if (&User-Name) { (6) if (&User-Name) -> TRUE (6) if (&User-Name) { (6) if (&User-Name =~ / /) { (6) if (&User-Name =~ / /) -> FALSE (6) if (&User-Name =~ /@[^@]@/ ) { (6) if (&User-Name =~ /@[^@]@/ ) -> FALSE(6) if (&User-Name =~ /\.\./ ) { (6) if (&User-Name =~ /\.\./ ) -> FALSE (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (6) if (&User-Name =~ /\.$/) { (6) if (&User-Name =~ /\.$/) -> FALSE (6) if (&User-Name =~ /@\./) { (6) if (&User-Name =~ /@\./) -> FALSE (6) } # if (&User-Name) = notfound (6) } # policy filter_username = notfound (6) [preprocess] = ok (6) [chap] = noop (6) [mschap] = noop (6) [digest] = noop (6) suffix: Checking for suffix after "@" (6) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (6) suffix: No such realm "NULL" (6) [suffix] = noop (6) eap: Peer sent EAP Response (code 2) ID 155 length 6 (6) eap: Continuing tunnel setup (6) [eap] = ok (6) } # authorize = ok (6) Found Auth-Type = eap (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) authenticate { (6) eap: Expiring EAP session with state 0xdcff01a1d9641842 (6) eap: Finished EAP session with state 0xdcff01a1d9641842 (6) eap: Previous EAP request found for state 0xdcff01a1d9641842, released from the list (6) eap: Peer sent packet with method EAP PEAP (25) (6) eap: Calling submodule eap_peap to process data (6) eap_peap: Continuing EAP-TLS (6) eap_peap: Peer ACKed our handshake fragment. handshake is finished (6) eap_peap: [eaptls verify] = success (6) eap_peap: [eaptls process] = success (6) eap_peap: Session established. Decoding tunneled attributes (6) eap_peap: PEAP state TUNNEL ESTABLISHED (6) eap: Sending EAP Request (code 1) ID 156 length 32 (6) eap: EAP session adding &reply:State = 0xdcff01a1da631842 (6) [eap] = handled (6) } # authenticate = handled (6) Using Post-Auth-Type Challenge (6) Post-Auth-Type sub-section not found. Ignoring. (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) Sent Access-Challenge Id 202 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (6) EAP-Message = 0x019c00201900170303001599b5f4133e2b7766900ad78dd36daf40d396f375f2 (6) Message-Authenticator = 0x00000000000000000000000000000000 (6) State = 0xdcff01a1da6318422343d3b59bbb1704 (6) Finished request Waking up in 4.7 seconds. (7) Received Access-Request Id 203 from 192.168.40.21:46541 to 192.168.8.35:1812 length 203 (7) User-Name = "anonymous" (7) NAS-Identifier = "802aa8d3d475" (7) NAS-Port = 0 (7) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (7) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (7) Framed-MTU = 1400 (7) NAS-Port-Type = Wireless-802.11 (7) Connect-Info = "CONNECT 0Mbps 802.11b" (7) EAP-Message = 0x029c002419001703030019dfbe3664b6ba25228ceeefd1544ec446fce8a53f317c6cdc30 (7) State = 0xdcff01a1da6318422343d3b59bbb1704 (7) Message-Authenticator = 0xe33ca0e8b373f089e411f537f6aa90b8 (7) session-state: No cached attributes (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]@/ ) { (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [preprocess] = ok (7) [chap] = noop (7) [mschap] = noop (7) [digest] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 36 (7) eap: Continuing tunnel setup (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) authenticate { (7) eap: Expiring EAP session with state 0xdcff01a1da631842 (7) eap: Finished EAP session with state 0xdcff01a1da631842 (7) eap: Previous EAP request found for state 0xdcff01a1da631842, released from the list (7) eap: Peer sent packet with method EAP PEAP (25) (7) eap: Calling submodule eap_peap to process data (7) eap_peap: Continuing EAP-TLS (7) eap_peap: [eaptls verify] = ok (7) eap_peap: Done initial handshake (7) eap_peap: [eaptls process] = ok (7) eap_peap: Session established. Decoding tunneled attributes (7) eap_peap: PEAP state WAITING FOR INNER IDENTITY (7) eap_peap: Identity - testuser (7) eap_peap: Got inner identity 'testuser' (7) eap_peap: Setting default EAP type for tunneled EAP session (7) eap_peap: Got tunneled request (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: Setting User-Name to testuser (7) eap_peap: Sending tunneled request to inner-tunnel (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (7) eap_peap: User-Name = "testuser" (7) Virtual server inner-tunnel received request (7) EAP-Message = 0x029c000d017465737475736572 (7) FreeRADIUS-Proxied-To = 127.0.0.1 (7) User-Name = "testuser" (7) server inner-tunnel { (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]@/ ) { (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [chap] = noop (7) [mschap] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "testuser", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) update control { (7) &Proxy-To-Realm := LOCAL (7) } # update control = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 13 (7) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authenticate { (7) eap: Peer sent packet with method EAP Identity (1) (7) eap: Calling submodule eap_mschapv2 to process data (7) eap_mschapv2: Issuing Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 43 (7) eap: EAP session adding &reply:State = 0x73614bc173fc510e (7) [eap] = handled (7) } # authenticate = handled (7) } # server inner-tunnel (7) Virtual server sending reply (7) EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply RADIUS code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled Access-Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 66 (7) eap: EAP session adding &reply:State = 0xdcff01a1db621842 (7) [eap] = handled (7) } # authenticate = handled (7) Using Post-Auth-Type Challenge (7) Post-Auth-Type sub-section not found. Ignoring. (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) Sent Access-Challenge Id 203 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (7) EAP-Message = 0x019d004219001703030037dffc0f74fbf5c2a1c1b4e813f1bedcd02a226b0d28b1fcd482c11a0c445a5769fb76b4160a1592400e1e3132b40adfcd8487ab156e0774 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0xdcff01a1db6218422343d3b59bbb1704 (7) Finished request Waking up in 4.6 seconds. (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE
(8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
I finally managed to get this figured out. Man, what a mission. I've post my findings here for anyone who may be searching in the future. The trick was to place the unlang programming logic in the correct files. For handling EAP-TLS clients, the default site configuration file was the correct file (/etc/freeradius/3.0/sites-enabled/default). For EAP-TTLS or EAP-PEAP clients, the "inner-tunnel" configuration file (/etc/freeradius/3.0/sites-enabled/default) was the correct file and to access some of the attributes, a prefix of "outer" was required. Running the debugs with the "debug_all" option enabled in the "post-auth" section of the above configuration files revealed that the custom control list attribute was available and I was thus able to use it" My working test configuration (in the post-auth section) ended up looking like the following: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-v # cat /etc/freeradius/3.0/sites-enabled/default #EAP-TLS Clients ... .. . if ((&request:NAS-IP-Address == 192.168.X.X) && (&request:EAP-Type == "TLS") && (&control:VLAN-Name == "CLIENT-Secure-WLAN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "100" } } elsif ((&request:NAS-IP-Address == 192.168.Y.Y) && (&request:EAP-Type == "TLS") && (&control:VLAN-Name == "CLIENT-Secure-WLAN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "200" } } +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-v # cat less /etc/freeradius/3.0/sites-enabled/inner-tunnel #EAP-TTLS and EAP-PEAP Clients ... .. . if (&outer.request:NAS-IP-Address == 192.168.X.X) { switch &control:VLAN-Name { case "CLIENT-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "111" } } case "CLIENT-VPN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "121" } } case "GUEST-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "131" } } case "GUEST-WLAN-VPN1" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "141" } } } } elsif (&outer.request:NAS-IP-Address == 192.168.Y.Y) { switch &control:VLAN-Name { case "CLIENT-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "211" } } case "CLIENT-VPN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "221" } } case "GUEST-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "231" } } case "GUEST-WLAN-VPN1" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "241" } } } } Hope that helps. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 20, 2019 6:38 AM, S. <sandeep81@protonmail.com> wrote:
I think some of the debug output was truncated in the previous email. Here's the remainder from (8) onwards:
(8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [chap] = noop (8) [mschap] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "testuser", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) update control { (8) &Proxy-To-Realm := LOCAL (8) } # update control = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 67 (8) eap: No EAP Start, assuming it's an on-going EAP conversation (8) [eap] = updated (8) files: users: Matched entry testuser at line 98 (8) [files] = ok (8) [expiration] = noop (8) [logintime] = noop (8) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes (8) pap: WARNING: Auth-Type already set. Not setting to PAP (8) [pap] = noop (8) } # authorize = updated (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0x73614bc173fc510e (8) eap: Previous EAP request found for state 0x73614bc173fc510e, released from the list (8) eap: Peer sent packet with method EAP MSCHAPv2 (26) (8) eap: Calling submodule eap_mschapv2 to process data (8) eap_mschapv2: # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) eap_mschapv2: authenticate { (8) mschap: Found NT-Password (8) mschap: Creating challenge hash with username: testuser (8) mschap: Client is using MS-CHAPv2 (8) mschap: Adding MS-CHAPv2 MPPE keys (8) [mschap] = ok (8) } # authenticate = ok (8) MSCHAP Success (8) eap: Sending EAP Request (code 1) ID 158 length 51 (8) eap: EAP session adding &reply:State = 0x73614bc172ff510e (8) [eap] = handled (8) } # authenticate = handled (8) } # server inner-tunnel (8) Virtual server sending reply (8) EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) Message-Authenticator = 0x00000000000000000000000000000000 (8) State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled reply code 11 (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled reply RADIUS code 11 (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled Access-Challenge (8) eap: Sending EAP Request (code 1) ID 158 length 74 (8) eap: EAP session adding &reply:State = 0xdcff01a1d4611842 (8) [eap] = handled (8) } # authenticate = handled (8) Using Post-Auth-Type Challenge (8) Post-Auth-Type sub-section not found. Ignoring. (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) Sent Access-Challenge Id 204 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (8) EAP-Message = 0x019e004a1900170303003ff70a519d23edc920820f3d0be13b93b144017cdec458f0d2c6ead00732bf70fc4d1fb57809b96fae00825ae59bcabe9de9c4c8d49cd95e6e303f7f5bc63083 (8) Message-Authenticator = 0x00000000000000000000000000000000 (8) State = 0xdcff01a1d46118422343d3b59bbb1704 (8) Finished request Waking up in 4.6 seconds. (9) Received Access-Request Id 205 from 192.168.40.21:46541 to 192.168.8.35:1812 length 196 (9) User-Name = "anonymous" (9) NAS-Identifier = "802aa8d3d475" (9) NAS-Port = 0 (9) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (9) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (9) Framed-MTU = 1400 (9) NAS-Port-Type = Wireless-802.11 (9) Connect-Info = "CONNECT 0Mbps 802.11b" (9) EAP-Message = 0x029e001d190017030300124f10e0d106532bbcbddf7ae85d8ddf0c80be (9) State = 0xdcff01a1d46118422343d3b59bbb1704 (9) Message-Authenticator = 0x1c8c0a8453c376fee0859f2286bf5fc2 (9) session-state: No cached attributes (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (9) authorize { (9) policy filter_username { (9) if (&User-Name) { (9) if (&User-Name) -> TRUE (9) if (&User-Name) { (9) if (&User-Name =~ / /) { (9) if (&User-Name =~ / /) -> FALSE (9) if (&User-Name =~ /@[^@]@/ ) { (9) if (&User-Name =~ /@[^@]@/ ) -> FALSE(9) if (&User-Name =~ /\.\./ ) { (9) if (&User-Name =~ /\.\./ ) -> FALSE (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (9) if (&User-Name =~ /\.$/) { (9) if (&User-Name =~ /\.$/) -> FALSE (9) if (&User-Name =~ /@\./) { (9) if (&User-Name =~ /@\./) -> FALSE (9) } # if (&User-Name) = notfound (9) } # policy filter_username = notfound (9) [preprocess] = ok (9) [chap] = noop (9) [mschap] = noop (9) [digest] = noop (9) suffix: Checking for suffix after "@" (9) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (9) suffix: No such realm "NULL" (9) [suffix] = noop (9) eap: Peer sent EAP Response (code 2) ID 158 length 29 (9) eap: Continuing tunnel setup (9) [eap] = ok (9) } # authorize = ok (9) Found Auth-Type = eap (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (9) authenticate { (9) eap: Expiring EAP session with state 0x73614bc172ff510e (9) eap: Finished EAP session with state 0xdcff01a1d4611842 (9) eap: Previous EAP request found for state 0xdcff01a1d4611842, released from the list (9) eap: Peer sent packet with method EAP PEAP (25) (9) eap: Calling submodule eap_peap to process data (9) eap_peap: Continuing EAP-TLS (9) eap_peap: [eaptls verify] = ok (9) eap_peap: Done initial handshake (9) eap_peap: [eaptls process] = ok (9) eap_peap: Session established. Decoding tunneled attributes (9) eap_peap: PEAP state phase2 (9) eap_peap: EAP method MSCHAPv2 (26) (9) eap_peap: Got tunneled request (9) eap_peap: EAP-Message = 0x029e00061a03 (9) eap_peap: Setting User-Name to testuser (9) eap_peap: Sending tunneled request to inner-tunnel (9) eap_peap: EAP-Message = 0x029e00061a03 (9) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (9) eap_peap: User-Name = "testuser" (9) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (9) Virtual server inner-tunnel received request (9) EAP-Message = 0x029e00061a03 (9) FreeRADIUS-Proxied-To = 127.0.0.1 (9) User-Name = "testuser" (9) State = 0x73614bc172ff510eb5bcf37c76b9f7ee (9) server inner-tunnel { (9) session-state: No cached attributes (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) authorize { (9) policy filter_username { (9) if (&User-Name) { (9) if (&User-Name) -> TRUE (9) if (&User-Name) { (9) if (&User-Name =~ / /) { (9) if (&User-Name =~ / /) -> FALSE (9) if (&User-Name =~ /@[^@]@/ ) { (9) if (&User-Name =~ /@[^@]@/ ) -> FALSE(9) if (&User-Name =~ /\.\./ ) { (9) if (&User-Name =~ /\.\./ ) -> FALSE (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (9) if (&User-Name =~ /\.$/) { (9) if (&User-Name =~ /\.$/) -> FALSE (9) if (&User-Name =~ /@\./) { (9) if (&User-Name =~ /@\./) -> FALSE (9) } # if (&User-Name) = notfound (9) } # policy filter_username = notfound (9) [chap] = noop (9) [mschap] = noop (9) suffix: Checking for suffix after "@" (9) suffix: No '@' in User-Name = "testuser", looking up realm NULL (9) suffix: No such realm "NULL" (9) [suffix] = noop (9) update control { (9) &Proxy-To-Realm := LOCAL (9) } # update control = noop (9) eap: Peer sent EAP Response (code 2) ID 158 length 6 (9) eap: No EAP Start, assuming it's an on-going EAP conversation (9) [eap] = updated (9) files: users: Matched entry testuser at line 98 (9) [files] = ok (9) [expiration] = noop (9) [logintime] = noop (9) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes (9) pap: WARNING: Auth-Type already set. Not setting to PAP (9) [pap] = noop (9) } # authorize = updated (9) Found Auth-Type = eap (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) authenticate { (9) eap: Expiring EAP session with state 0x73614bc172ff510e (9) eap: Finished EAP session with state 0x73614bc172ff510e (9) eap: Previous EAP request found for state 0x73614bc172ff510e, released from the list (9) eap: Peer sent packet with method EAP MSCHAPv2 (26) (9) eap: Calling submodule eap_mschapv2 to process data (9) eap: Sending EAP Success (code 3) ID 158 length 4 (9) eap: Freeing handler (9) [eap] = ok (9) } # authenticate = ok (9) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) post-auth { (9) update { (9) &outer.session-state::MS-MPPE-Encryption-Policy += &reply:MS-MPPE-Encryption-Policy[*] -> Encryption-Allowed (9) &outer.session-state::MS-MPPE-Encryption-Types += &reply:MS-MPPE-Encryption-Types[*] -> RC4-40or128-bit-Allowed (9) &outer.session-state::MS-MPPE-Send-Key += &reply:MS-MPPE-Send-Key[*] -> 0x33046b7deb897ca1ac0495bae9824012 (9) &outer.session-state::MS-MPPE-Recv-Key += &reply:MS-MPPE-Recv-Key[*] -> 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) &outer.session-state::EAP-Message += &reply:EAP-Message[*] -> 0x039e0004 (9) &outer.session-state::Message-Authenticator += &reply:Message-Authenticator[*] -> 0x00000000000000000000000000000000 (9) &outer.session-state::User-Name += &reply:User-Name[*] -> 'testuser' (9) } # update = noop (9) update outer.session-state { (9) MS-MPPE-Encryption-Policy !* ANY (9) MS-MPPE-Encryption-Types !* ANY (9) MS-MPPE-Send-Key !* ANY (9) MS-MPPE-Recv-Key !* ANY (9) Message-Authenticator !* ANY (9) EAP-Message !* ANY (9) Proxy-State !* ANY (9) } # update outer.session-state = noop (9) } # post-auth = noop (9) Login OK: [testuser] (from client BNE-WLAN-UAP1 port 0 via TLS tunnel) (9) } # server inner-tunnel (9) Virtual server sending reply (9) MS-MPPE-Encryption-Policy = Encryption-Allowed (9) MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) EAP-Message = 0x039e0004 (9) Message-Authenticator = 0x00000000000000000000000000000000 (9) User-Name = "testuser" (9) eap_peap: Got tunneled reply code 2 (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) eap_peap: EAP-Message = 0x039e0004 (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (9) eap_peap: User-Name = "testuser" (9) eap_peap: Got tunneled reply RADIUS code 2 (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) eap_peap: EAP-Message = 0x039e0004 (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (9) eap_peap: User-Name = "testuser" (9) eap_peap: Tunneled authentication was successful (9) eap_peap: SUCCESS (9) eap: Sending EAP Request (code 1) ID 159 length 38 (9) eap: EAP session adding &reply:State = 0xdcff01a1d5601842 (9) [eap] = handled (9) } # authenticate = handled (9) Using Post-Auth-Type Challenge (9) Post-Auth-Type sub-section not found. Ignoring. (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (9) session-state: Saving cached attributes (9) User-Name += "testuser" (9) Sent Access-Challenge Id 205 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (9) EAP-Message = 0x019f00261900170303001b8dd194cd37ae97986b82c7a825fd124f9c9f6538e32bc910266c38 (9) Message-Authenticator = 0x00000000000000000000000000000000 (9) State = 0xdcff01a1d56018422343d3b59bbb1704 (9) Finished request Waking up in 4.5 seconds. (10) Received Access-Request Id 206 from 192.168.40.21:46541 to 192.168.8.35:1812 length 205 (10) User-Name = "anonymous" (10) NAS-Identifier = "802aa8d3d475" (10) NAS-Port = 0 (10) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (10) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (10) Framed-MTU = 1400 (10) NAS-Port-Type = Wireless-802.11 (10) Connect-Info = "CONNECT 0Mbps 802.11b" (10) EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870 (10) State = 0xdcff01a1d56018422343d3b59bbb1704 (10) Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81 (10) Restoring &session-state (10) &session-state:User-Name += "testuser" (10) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (10) authorize { (10) policy filter_username { (10) if (&User-Name) { (10) if (&User-Name) -> TRUE (10) if (&User-Name) { (10) if (&User-Name =~ / /) { (10) if (&User-Name =~ / /) -> FALSE (10) if (&User-Name =~ /@[^@]@/ ) { (10) if (&User-Name =~ /@[^@]@/ ) -> FALSE(10) if (&User-Name =~ /\.\./ ) { (10) if (&User-Name =~ /\.\./ ) -> FALSE (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (10) if (&User-Name =~ /\.$/) { (10) if (&User-Name =~ /\.$/) -> FALSE (10) if (&User-Name =~ /@\./) { (10) if (&User-Name =~ /@\./) -> FALSE (10) } # if (&User-Name) = notfound (10) } # policy filter_username = notfound (10) [preprocess] = ok (10) [chap] = noop (10) [mschap] = noop (10) [digest] = noop (10) suffix: Checking for suffix after "@" (10) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (10) suffix: No such realm "NULL" (10) [suffix] = noop (10) eap: Peer sent EAP Response (code 2) ID 159 length 38 (10) eap: Continuing tunnel setup (10) [eap] = ok (10) } # authorize = ok (10) Found Auth-Type = eap (10) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (10) authenticate { (10) eap: Expiring EAP session with state 0xdcff01a1d5601842 (10) eap: Finished EAP session with state 0xdcff01a1d5601842 (10) eap: Previous EAP request found for state 0xdcff01a1d5601842, released from the list (10) eap: Peer sent packet with method EAP PEAP (25) (10) eap: Calling submodule eap_peap to process data (10) eap_peap: Continuing EAP-TLS (10) eap_peap: [eaptls verify] = ok (10) eap_peap: Done initial handshake (10) eap_peap: [eaptls process] = ok (10) eap_peap: Session established. Decoding tunneled attributes (10) eap_peap: PEAP state send tlv success (10) eap_peap: Received EAP-TLV response (10) eap_peap: Success (10) eap: Sending EAP Success (code 3) ID 159 length 4 (10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') { (10) Attributes matching "request:" (10) &request:User-Name = anonymous (10) &request:NAS-Identifier = 802aa8d3d475 (10) &request:NAS-Port = 0 (10) &request:Called-Station-Id = 82-2A-A8-D5-D4-75:WLAN (10) &request:Calling-Station-Id = EC-1F-72-7E-BC-BB (10) &request:Framed-MTU = 1400 (10) &request:NAS-Port-Type = Wireless-802.11 (10) &request:Connect-Info = CONNECT 0Mbps 802.11b (10) &request:EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870 (10) &request:State = 0xdcff01a1d56018422343d3b59bbb1704 (10) &request:Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81 (10) &request:Event-Timestamp = Dec 20 2019 16:01:10 AEST (10) &request:NAS-IP-Address = 192.168.40.21 (10) &request:EAP-Type = PEAP (10) EXPAND %{debug_attr:request:} (10) --> (10) if ("%{debug_attr:request:}" == '') -> TRUE (10) if ("%{debug_attr:request:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:request:}" == '') = noop (10) } # policy debug_request = noop (10) policy debug_coa { (10) if ("%{debug_attr:coa:}" == '') { (10) Attributes matching "coa:" (10) WARNING: List "coa" is not available (10) EXPAND %{debug_attr:coa:} (10) --> (10) if ("%{debug_attr:coa:}" == '') -> TRUE (10) if ("%{debug_attr:coa:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:coa:}" == '') = noop (10) } # policy debug_coa = noop (10) policy debug_reply { (10) if ("%{debug_attr:reply:}" == '') { (10) Attributes matching "reply:" (10) &reply:MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e (10) &reply:MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) &reply:EAP-MSK = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491eadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) &reply:EAP-EMSK = 0x68ed4ecf9dba4d63ae95c5226d39f88c5ec2c2a995d3faa4132911ee671b70e9fac2e9a0537612142720f69e17562da9ba9d672355c03d816669777248da35de (10) &reply:EAP-Session-Id = 0x19ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d8345cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e (10) &reply:EAP-Message = 0x039f0004 (10) &reply:Message-Authenticator = 0x00000000000000000000000000000000 (10) &reply:User-Name = anonymous (10) EXPAND %{debug_attr:reply:} (10) --> (10) if ("%{debug_attr:reply:}" == '') -> TRUE (10) if ("%{debug_attr:reply:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:reply:}" == '') = noop (10) } # policy debug_reply = noop (10) policy debug_session_state { (10) if ("%{debug_attr:session-state:}" == '') { (10) Attributes matching "session-state:" (10) &session-state:User-Name += testuser (10) EXPAND %{debug_attr:session-state:} (10) --> (10) if ("%{debug_attr:session-state:}" == '') -> TRUE (10) if ("%{debug_attr:session-state:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:session-state:}" == '') = noop (10) } # policy debug_session_state = noop (10) } # policy debug_all = noop (10) update { (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop (10) Login OK: [anonymous] (from client BNE-WLAN-UAP1 port 0 cli EC-1F-72-7E-BC-BB) (10) Sent Access-Accept Id 206 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (10) MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e (10) MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) EAP-Message = 0x039f0004 (10) Message-Authenticator = 0x00000000000000000000000000000000 (10) User-Name = "anonymous" (10) User-Name += "testuser" (10) Finished request Waking up in 4.5 seconds.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 20, 2019 6:22 AM, S. via Freeradius-Users freeradius-users@lists.freeradius.org wrote:
Hi all, I'm stuck on an issue with FreeRADIUS configuration and after a few days of reading and searching I'm out of ideas. Hopefully it's just a simple mistake which someone can pick up and help me out with. I've been using FreeRADIUS to handle EAP authentication (both EAP-TLS and EAP-PEAP-MSCHAPv2) and dynamic VLAN assignments for wireless networks and it's been working flawlessly. Recently I've had to look at making some configuration changes to suit a more complex situation and this is where I'm getting stuck and going around in circles. Previously I have been defining the dynamic VLAN on a per-user basis within the "users" configuration file as such: testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = "125" # CLIENT-VPN This has been working fine and the dynamic VLAN gets assigned as expected. I need to change this now so that the "users" file only contains the username and password hash and the dynamic VLAN assignment actually happens using unlang logic in the post-auth section of the "/etc/freeradius/3.0/sites-enabled/default" file. After a bit of reading, it appears that I can create an attribute in the users file which get's added into a control list which I can reference in the post-auth phase. So I try doing that by first defining the attribute in the "dictionary" file: #tail -n 2 /etc/freeradius/3.0/dictionary ATTRIBUTE VLAN-Name 3000 string And then I add the attribute (and the desired value) in the users file: testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", VLAN-Name := "CLIENT-VPN" I then create the relevant unlang logic. What I'm trying to do with this logic is determine the NAS-IP (WAP) and assigned VLAN-Name for the user. Based on this, I'll send back the approrpiate VLAN-ID. cat /etc/freeradius/3.0/sites-enabled/default ============================================== ... post-auth { debug_all ... if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "225" } } The unlang logic works fine just against the NAS-IP-Address however fails when used with the VLAN-Name custom attribute. Looking through the debugs, I find two areas indicating a problem. The most obvious is the ERROR below indicating a failure to get my attribute: (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop Enabling the "debug_all" option in the post-auth section (to dump all attributes) also reveals that my control list attribute "&control:VLAN-Name" doesn't appear to be available for use. The only control list attribute is "&control:Auth-Type". (10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') { Appreciate any help you can provide. Thank you. P.S. I've included the full debug output here as requested in the mailing list rules/FAQ: freeradius -X FreeRADIUS Version 3.0.12 Copyright (C) 1999-2016 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 For more information about these matters, see the file named COPYRIGHT Starting - reading configuration files ... including dictionary file /usr/share/freeradius/dictionary including dictionary file /usr/share/freeradius/dictionary.dhcp including dictionary file /usr/share/freeradius/dictionary.vqp including dictionary file /etc/freeradius/3.0/dictionary including configuration file /etc/freeradius/3.0/radiusd.conf including configuration file /etc/freeradius/3.0/proxy.conf including configuration file /etc/freeradius/3.0/clients.conf including files in directory /etc/freeradius/3.0/mods-enabled/ including configuration file /etc/freeradius/3.0/mods-enabled/always including configuration file /etc/freeradius/3.0/mods-enabled/unpack including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter including configuration file /etc/freeradius/3.0/mods-enabled/realm including configuration file /etc/freeradius/3.0/mods-enabled/detail including configuration file /etc/freeradius/3.0/mods-enabled/utf8 including configuration file /etc/freeradius/3.0/mods-enabled/detail.log including configuration file /etc/freeradius/3.0/mods-enabled/chap including configuration file /etc/freeradius/3.0/mods-enabled/expiration including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients including configuration file /etc/freeradius/3.0/mods-enabled/expr including configuration file /etc/freeradius/3.0/mods-enabled/echo including configuration file /etc/freeradius/3.0/mods-enabled/linelog including configuration file /etc/freeradius/3.0/mods-enabled/preprocess including configuration file /etc/freeradius/3.0/mods-enabled/eap including configuration file /etc/freeradius/3.0/mods-enabled/mschap including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap including configuration file /etc/freeradius/3.0/mods-enabled/replicate including configuration file /etc/freeradius/3.0/mods-enabled/exec including configuration file /etc/freeradius/3.0/mods-enabled/digest including configuration file /etc/freeradius/3.0/mods-enabled/files including configuration file /etc/freeradius/3.0/mods-enabled/soh including configuration file /etc/freeradius/3.0/mods-enabled/pap including configuration file /etc/freeradius/3.0/mods-enabled/unix including configuration file /etc/freeradius/3.0/mods-enabled/radutmp including configuration file /etc/freeradius/3.0/mods-enabled/logintime including configuration file /etc/freeradius/3.0/mods-enabled/passwd including files in directory /etc/freeradius/3.0/policy.d/ including configuration file /etc/freeradius/3.0/policy.d/operator-name including configuration file /etc/freeradius/3.0/policy.d/filter including configuration file /etc/freeradius/3.0/policy.d/canonicalization including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids including configuration file /etc/freeradius/3.0/policy.d/control including configuration file /etc/freeradius/3.0/policy.d/accounting including configuration file /etc/freeradius/3.0/policy.d/dhcp including configuration file /etc/freeradius/3.0/policy.d/debug including configuration file /etc/freeradius/3.0/policy.d/cui including configuration file /etc/freeradius/3.0/policy.d/abfab-tr including configuration file /etc/freeradius/3.0/policy.d/eap including files in directory /etc/freeradius/3.0/sites-enabled/ including configuration file /etc/freeradius/3.0/sites-enabled/default including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel main { security { user = "freerad" group = "freerad" allow_core_dumps = no } name = "freeradius" prefix = "/usr" localstatedir = "/var" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" } main { name = "freeradius" prefix = "/usr" localstatedir = "/var" sbindir = "/usr/sbin" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/freeradius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 16384 pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = yes auth_badpass = no auth_goodpass = no colourise = yes msg_denied = "You are already logged in - access denied" } resources { } security { max_attributes = 200 reject_delay = 1.000000 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 = <<< secret >>> response_window = 20.000000 response_timeouts = 1 max_outstanding = 65536 zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 check_timeout = 4 num_answers_to_alive = 3 revive_interval = 120 limit { max_connections = 16 max_requests = 0 lifetime = 0 idle_timeout = 0 } coa { 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 = <<< secret >>> nas_type = "other" proto = "*" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client localhost_ipv6 { ipv6addr = ::1 require_message_authenticator = no secret = <<< secret >>> limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client GC-WLAN-UAP1 { ipaddr = 192.168.8.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client BNE-WLAN-UAP1 { ipaddr = 192.168.40.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } Debugger not attached Creating Auth-Type = mschap ============================ Creating Auth-Type = digest ============================ Creating Auth-Type = eap ========================= Creating Auth-Type = PAP ========================= Creating Auth-Type = CHAP ========================== Creating Auth-Type = MS-CHAP ============================= radiusd: #### Instantiating modules #### modules { Loaded module rlm_always ========================= Loading module "reject" from file /etc/freeradius/3.0/mods-enabled/always ========================================================================== always reject { rcode = "reject" simulcount = 0 mpp = no } Loading module "fail" from file /etc/freeradius/3.0/mods-enabled/always ======================================================================== always fail { rcode = "fail" simulcount = 0 mpp = no } Loading module "ok" from file /etc/freeradius/3.0/mods-enabled/always ====================================================================== always ok { rcode = "ok" simulcount = 0 mpp = no } Loading module "handled" from file /etc/freeradius/3.0/mods-enabled/always =========================================================================== always handled { rcode = "handled" simulcount = 0 mpp = no } Loading module "invalid" from file /etc/freeradius/3.0/mods-enabled/always =========================================================================== always invalid { rcode = "invalid" simulcount = 0 mpp = no } Loading module "userlock" from file /etc/freeradius/3.0/mods-enabled/always ============================================================================ always userlock { rcode = "userlock" simulcount = 0 mpp = no } Loading module "notfound" from file /etc/freeradius/3.0/mods-enabled/always ============================================================================ always notfound { rcode = "notfound" simulcount = 0 mpp = no } Loading module "noop" from file /etc/freeradius/3.0/mods-enabled/always ======================================================================== always noop { rcode = "noop" simulcount = 0 mpp = no } Loading module "updated" from file /etc/freeradius/3.0/mods-enabled/always =========================================================================== always updated { rcode = "updated" simulcount = 0 mpp = no } Loaded module rlm_unpack ========================= Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack ========================================================================== Loaded module rlm_exec ======================= Loading module "ntlm_auth" from file /etc/freeradius/3.0/mods-enabled/ntlm_auth ================================================================================ exec ntlm_auth { wait = yes program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}" shell_escape = yes } Loaded module rlm_attr_filter ============================== Loading module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter =============================================================================================== attr_filter attr_filter.post-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy" key = "%{Realm}" relaxed = no } Loading module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter ============================================================================================== attr_filter attr_filter.pre-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy" key = "%{Realm}" relaxed = no } Loading module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter ================================================================================================== attr_filter attr_filter.access_reject { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_reject" key = "%{User-Name}" relaxed = no } Loading module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter ===================================================================================================== attr_filter attr_filter.access_challenge { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge" key = "%{User-Name}" relaxed = no } Loading module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter ======================================================================================================== attr_filter attr_filter.accounting_response { filename = "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response" key = "%{User-Name}" relaxed = no } Loaded module rlm_realm ======================== Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm ======================================================================== realm IPASS { format = "prefix" delimiter = "/" ignore_default = no ignore_null = no } Loading module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm ========================================================================= realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Loading module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm =============================================================================== realm realmpercent { format = "suffix" delimiter = "%" ignore_default = no ignore_null = no } Loading module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm =========================================================================== realm ntdomain { format = "prefix" delimiter = "\\" ignore_default = no ignore_null = no } Loaded module rlm_detail ========================= Loading module "detail" from file /etc/freeradius/3.0/mods-enabled/detail ========================================================================== detail { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loaded module rlm_utf8 ======================= Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8 ====================================================================== Loading module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ================================================================================ detail auth_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loading module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ================================================================================= detail reply_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loading module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ===================================================================================== detail pre_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loading module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ====================================================================================== detail post_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loaded module rlm_chap ======================= Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap ====================================================================== Loaded module rlm_expiration ============================= Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration ================================================================================== Loaded module rlm_radutmp ========================== Loading module "sradutmp" from file /etc/freeradius/3.0/mods-enabled/sradutmp ============================================================================== radutmp sradutmp { filename = "/var/log/freeradius/sradutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 420 caller_id = no } Loaded module rlm_dynamic_clients ================================== Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients ============================================================================================ Loaded module rlm_expr ======================= Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr ====================================================================== expr { safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ" } Loading module "echo" from file /etc/freeradius/3.0/mods-enabled/echo ====================================================================== exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = "request" output_pairs = "reply" shell_escape = yes } Loaded module rlm_linelog ========================== Loading module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog ============================================================================ linelog { filename = "/var/log/freeradius/linelog" escape_filenames = no syslog_severity = "info" permissions = 384 format = "This is a log message for %{User-Name}" reference = "messages.%{%{reply:Packet-Type}:-default}" } Loading module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog =================================================================================== linelog log_accounting { filename = "/var/log/freeradius/linelog-accounting" escape_filenames = no syslog_severity = "info" permissions = 384 format = "" reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}" } Loaded module rlm_preprocess ============================= Loading module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess ================================================================================== preprocess { huntgroups = "/etc/freeradius/3.0/mods-config/preprocess/huntgroups" hints = "/etc/freeradius/3.0/mods-config/preprocess/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 } Loaded module rlm_eap ====================== Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap ==================================================================== eap { default_eap_type = "peap" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 16384 } Loaded module rlm_mschap ========================= Loading module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap ========================================================================== mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = yes passchange { } allow_retry = yes } Loaded module rlm_cache ======================== Loading module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap ================================================================================ cache cache_eap { driver = "rlm_cache_rbtree" key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}" ttl = 15 max_entries = 0 epoch = 0 add_stats = no } Loaded module rlm_replicate ============================ Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate ================================================================================ Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec ====================================================================== exec { wait = no input_pairs = "request" shell_escape = yes timeout = 10 } Loaded module rlm_digest ========================= Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest ========================================================================== Loaded module rlm_files ======================== Loading module "files" from file /etc/freeradius/3.0/mods-enabled/files ======================================================================== files { filename = "/etc/freeradius/3.0/mods-config/files/authorize" acctusersfile = "/etc/freeradius/3.0/mods-config/files/accounting" preproxy_usersfile = "/etc/freeradius/3.0/mods-config/files/pre-proxy" } Loaded module rlm_soh ====================== Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh ==================================================================== soh { dhcp = yes } Loaded module rlm_pap ====================== Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap ==================================================================== pap { normalise = yes } Loaded module rlm_unix ======================= Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix ====================================================================== unix { radwtmp = "/var/log/freeradius/radwtmp" } Creating attribute Unix-Group Loading module "radutmp" from file /etc/freeradius/3.0/mods-enabled/radutmp ============================================================================ radutmp { filename = "/var/log/freeradius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 384 caller_id = yes } Loaded module rlm_logintime ============================ Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime ================================================================================ logintime { minimum_timeout = 60 } Loaded module rlm_passwd ========================= Loading module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd ============================================================================== passwd etc_passwd { filename = "/etc/passwd" format = "*User-Name:Crypt-Password:" delimiter = ":" ignore_nislike = no ignore_empty = yes allow_multiple_keys = no hash_size = 100 } instantiate { } Instantiating module "reject" from file /etc/freeradius/3.0/mods-enabled/always ================================================================================ Instantiating module "fail" from file /etc/freeradius/3.0/mods-enabled/always ============================================================================== Instantiating module "ok" from file /etc/freeradius/3.0/mods-enabled/always ============================================================================ Instantiating module "handled" from file /etc/freeradius/3.0/mods-enabled/always ================================================================================= Instantiating module "invalid" from file /etc/freeradius/3.0/mods-enabled/always ================================================================================= Instantiating module "userlock" from file /etc/freeradius/3.0/mods-enabled/always ================================================================================== Instantiating module "notfound" from file /etc/freeradius/3.0/mods-enabled/always ================================================================================== Instantiating module "noop" from file /etc/freeradius/3.0/mods-enabled/always ============================================================================== Instantiating module "updated" from file /etc/freeradius/3.0/mods-enabled/always ================================================================================= Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter ===================================================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/post-proxy Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter ==================================================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy Instantiating module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter ======================================================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_reject [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT". [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay-USec" found in filter list for realm "DEFAULT". Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter =========================================================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_challenge Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter ============================================================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/accounting_response Instantiating module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm ============================================================================== Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm =============================================================================== Instantiating module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm ===================================================================================== Instantiating module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm ================================================================================= Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail ================================================================================ Instantiating module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ====================================================================================== rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output Instantiating module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ======================================================================================= Instantiating module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log =========================================================================================== Instantiating module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log ============================================================================================ Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration ======================================================================================== Instantiating module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog ================================================================================== Instantiating module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog ========================================================================================= Instantiating module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess ======================================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/huntgroups reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/hints Instantiating module "eap" from file /etc/freeradius/3.0/mods-enabled/eap ========================================================================== Linked to sub-module rlm_eap_gtc ================================= gtc { challenge = "Password: " auth_type = "PAP" } Linked to sub-module rlm_eap_tls ================================= tls { tls = "tls-common" } tls-config tls-common { verify_depth = 0 ca_path = "/etc/freeradius/3.0/certs" pem_file_type = yes private_key_file = "/etc/ssl/private/XXXXXX.key.pem" certificate_file = "/etc/ssl/certs/XXXXXX.cert.pem" ca_file = "/etc/ssl/certs/ca-certificates.crt" dh_file = "/etc/freeradius/3.0/certs/dh" fragment_size = 1024 include_length = yes auto_chain = yes check_crl = no check_all_crl = no cipher_list = "HIGH" ecdh_curve = "prime256v1" cache { enable = yes lifetime = 24 max_entries = 255 } verify { skip_if_ocsp_ok = no } ocsp { enable = no override_cert_url = yes url = "http://127.0.0.1/ocsp/" use_nonce = yes timeout = 0 softfail = no } } Linked to sub-module rlm_eap_peap ================================== peap { tls = "tls-common" default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" soh = no require_client_cert = no } tls: Using cached TLS configuration from previous invocation Linked to sub-module rlm_eap_mschapv2 ====================================== mschapv2 { with_ntdomain_hack = no send_error = no } Instantiating module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap ================================================================================ rlm_mschap (mschap): using internal authentication Instantiating module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap ====================================================================================== rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked Instantiating module "files" from file /etc/freeradius/3.0/mods-enabled/files ============================================================================== reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize reading pairlist file /etc/freeradius/3.0/mods-config/files/accounting reading pairlist file /etc/freeradius/3.0/mods-config/files/pre-proxy Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap ========================================================================== Instantiating module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime ====================================================================================== Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd ==================================================================================== rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no } # modules radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/3.0/radiusd.conf } # server server default { # from file /etc/freeradius/3.0/sites-enabled/default Loading authenticate {...} =========================== Loading authorize {...} ======================== Ignoring "sql" (see raddb/mods-available/README.rst) Ignoring "ldap" (see raddb/mods-available/README.rst) Loading preacct {...} ====================== Loading accounting {...} ========================= Loading post-proxy {...} ========================= Loading post-auth {...} ======================== } # server default server inner-tunnel { # from file /etc/freeradius/3.0/sites-enabled/inner-tunnel Loading authenticate {...} =========================== Loading authorize {...} ======================== Loading session {...} ====================== Loading post-proxy {...} ========================= Loading post-auth {...} ======================== } # server inner-tunnel radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipaddr = 127.0.0.1 port = 18120 } Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on proxy address * port 53109 Listening on proxy address :: port 50014 Ready to process requests (0) Received Access-Request Id 196 from 192.168.40.21:46541 to 192.168.8.35:1812 length 163 (0) User-Name = "anonymous" (0) NAS-Identifier = "802aa8d3d475" (0) NAS-Port = 0 (0) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (0) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (0) Framed-MTU = 1400 (0) NAS-Port-Type = Wireless-802.11 (0) Connect-Info = "CONNECT 0Mbps 802.11b" (0) EAP-Message = 0x0295000e01616e6f6e796d6f7573 (0) Message-Authenticator = 0x39e811b49e0603269b2b13734db8c4d3 (0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (0) authorize { (0) policy filter_username { (0) if (&User-Name) { (0) if (&User-Name) -> TRUE (0) if (&User-Name) { (0) if (&User-Name =~ / /) { (0) if (&User-Name =~ / /) -> FALSE (0) if (&User-Name =~ /@[^@]@/ ) { (0) if (&User-Name =~ /@[^@]@/ ) -> FALSE(0) if (&User-Name =~ /\.\./ ) { (0) if (&User-Name =~ /\.\./ ) -> FALSE (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (0) if (&User-Name =~ /\.$/) { (0) if (&User-Name =~ /\.$/) -> FALSE (0) if (&User-Name =~ /@\./) { (0) if (&User-Name =~ /@\./) -> FALSE (0) } # if (&User-Name) = notfound (0) } # policy filter_username = notfound (0) [preprocess] = ok (0) [chap] = noop (0) [mschap] = noop (0) [digest] = noop (0) suffix: Checking for suffix after "@" (0) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (0) suffix: No such realm "NULL" (0) [suffix] = noop (0) eap: Peer sent EAP Response (code 2) ID 149 length 14 (0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (0) [eap] = ok (0) } # authorize = ok (0) Found Auth-Type = eap (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) authenticate { (0) eap: Peer sent packet with method EAP Identity (1) (0) eap: Calling submodule eap_peap to process data (0) eap_peap: Initiating new EAP-TLS session (0) eap_peap: [eaptls start] = request (0) eap: Sending EAP Request (code 1) ID 150 length 6 (0) eap: EAP session adding &reply:State = 0xdcff01a1dc691842 (0) [eap] = handled (0) } # authenticate = handled (0) Using Post-Auth-Type Challenge (0) Post-Auth-Type sub-section not found. Ignoring. (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) Sent Access-Challenge Id 196 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (0) EAP-Message = 0x019600061920 (0) Message-Authenticator = 0x00000000000000000000000000000000 (0) State = 0xdcff01a1dc6918422343d3b59bbb1704 (0) Finished request Waking up in 4.9 seconds. (1) Received Access-Request Id 197 from 192.168.40.21:46541 to 192.168.8.35:1812 length 320 (1) User-Name = "anonymous" (1) NAS-Identifier = "802aa8d3d475" (1) NAS-Port = 0 (1) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (1) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (1) Framed-MTU = 1400 (1) NAS-Port-Type = Wireless-802.11 (1) Connect-Info = "CONNECT 0Mbps 802.11b" (1) EAP-Message = 0x0296009919800000008f160301008a010000860303ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d834500002acca9cca8c02bc02fc02cc030c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a01000033ff0100010000170000000d001400120403 (1) State = 0xdcff01a1dc6918422343d3b59bbb1704 (1) Message-Authenticator = 0x76ea1adde71a5cdad501da5ad77f89a2 (1) session-state: No cached attributes (1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (1) authorize { (1) policy filter_username { (1) if (&User-Name) { (1) if (&User-Name) -> TRUE (1) if (&User-Name) { (1) if (&User-Name =~ / /) { (1) if (&User-Name =~ / /) -> FALSE (1) if (&User-Name =~ /@[^@]@/ ) { (1) if (&User-Name =~ /@[^@]@/ ) -> FALSE(1) if (&User-Name =~ /\.\./ ) { (1) if (&User-Name =~ /\.\./ ) -> FALSE (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (1) if (&User-Name =~ /\.$/) { (1) if (&User-Name =~ /\.$/) -> FALSE (1) if (&User-Name =~ /@\./) { (1) if (&User-Name =~ /@\./) -> FALSE (1) } # if (&User-Name) = notfound (1) } # policy filter_username = notfound (1) [preprocess] = ok (1) [chap] = noop (1) [mschap] = noop (1) [digest] = noop (1) suffix: Checking for suffix after "@" (1) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (1) suffix: No such realm "NULL" (1) [suffix] = noop (1) eap: Peer sent EAP Response (code 2) ID 150 length 153 (1) eap: Continuing tunnel setup (1) [eap] = ok (1) } # authorize = ok (1) Found Auth-Type = eap (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) authenticate { (1) eap: Expiring EAP session with state 0xdcff01a1dc691842 (1) eap: Finished EAP session with state 0xdcff01a1dc691842 (1) eap: Previous EAP request found for state 0xdcff01a1dc691842, released from the list (1) eap: Peer sent packet with method EAP PEAP (25) (1) eap: Calling submodule eap_peap to process data (1) eap_peap: Continuing EAP-TLS (1) eap_peap: Peer indicated complete TLS record size will be 143 bytes (1) eap_peap: Got complete TLS record (143 bytes) (1) eap_peap: [eaptls verify] = length included (1) eap_peap: (other): before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: <<< recv TLS 1.2 [length 008a] (1) eap_peap: TLS_accept: SSLv3/TLS read client hello (1) eap_peap: >>> send TLS 1.2 [length 003d] (1) eap_peap: TLS_accept: SSLv3/TLS write server hello (1) eap_peap: >>> send TLS 1.2 [length 0c06] (1) eap_peap: TLS_accept: SSLv3/TLS write certificate (1) eap_peap: >>> send TLS 1.2 [length 024d] (1) eap_peap: TLS_accept: SSLv3/TLS write key exchange (1) eap_peap: >>> send TLS 1.2 [length 0004] (1) eap_peap: TLS_accept: SSLv3/TLS write server done (1) eap_peap: TLS_accept: Need to read more data: SSLv3/TLS write server done (1) eap_peap: In SSL Handshake Phase (1) eap_peap: In SSL Accept mode (1) eap_peap: [eaptls process] = handled (1) eap: Sending EAP Request (code 1) ID 151 length 1014 (1) eap: EAP session adding &reply:State = 0xdcff01a1dd681842 (1) [eap] = handled (1) } # authenticate = handled (1) Using Post-Auth-Type Challenge (1) Post-Auth-Type sub-section not found. Ignoring. (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) Sent Access-Challenge Id 197 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (1) EAP-Message = 0x019703f619c000000ea8160303003d020000390303cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e00cca8000011ff01000100000b000403000102001700001603030c060b000c02000bff00065f3082065b30820443a0030201020202100b300d06092a864886f70d01 (1) Message-Authenticator = 0x00000000000000000000000000000000 (1) State = 0xdcff01a1dd6818422343d3b59bbb1704 (1) Finished request Waking up in 4.9 seconds. (2) Received Access-Request Id 198 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (2) User-Name = "anonymous" (2) NAS-Identifier = "802aa8d3d475" (2) NAS-Port = 0 (2) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (2) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (2) Framed-MTU = 1400 (2) NAS-Port-Type = Wireless-802.11 (2) Connect-Info = "CONNECT 0Mbps 802.11b" (2) EAP-Message = 0x029700061900 (2) State = 0xdcff01a1dd6818422343d3b59bbb1704 (2) Message-Authenticator = 0xe6bd97dd94d0e74610db361cdabe26f1 (2) session-state: No cached attributes (2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (2) authorize { (2) policy filter_username { (2) if (&User-Name) { (2) if (&User-Name) -> TRUE (2) if (&User-Name) { (2) if (&User-Name =~ / /) { (2) if (&User-Name =~ / /) -> FALSE (2) if (&User-Name =~ /@[^@]@/ ) { (2) if (&User-Name =~ /@[^@]@/ ) -> FALSE(2) if (&User-Name =~ /\.\./ ) { (2) if (&User-Name =~ /\.\./ ) -> FALSE (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (2) if (&User-Name =~ /\.$/) { (2) if (&User-Name =~ /\.$/) -> FALSE (2) if (&User-Name =~ /@\./) { (2) if (&User-Name =~ /@\./) -> FALSE (2) } # if (&User-Name) = notfound (2) } # policy filter_username = notfound (2) [preprocess] = ok (2) [chap] = noop (2) [mschap] = noop (2) [digest] = noop (2) suffix: Checking for suffix after "@" (2) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (2) suffix: No such realm "NULL" (2) [suffix] = noop (2) eap: Peer sent EAP Response (code 2) ID 151 length 6 (2) eap: Continuing tunnel setup (2) [eap] = ok (2) } # authorize = ok (2) Found Auth-Type = eap (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) authenticate { (2) eap: Expiring EAP session with state 0xdcff01a1dd681842 (2) eap: Finished EAP session with state 0xdcff01a1dd681842 (2) eap: Previous EAP request found for state 0xdcff01a1dd681842, released from the list (2) eap: Peer sent packet with method EAP PEAP (25) (2) eap: Calling submodule eap_peap to process data (2) eap_peap: Continuing EAP-TLS (2) eap_peap: Peer ACKed our handshake fragment (2) eap_peap: [eaptls verify] = request (2) eap_peap: [eaptls process] = handled (2) eap: Sending EAP Request (code 1) ID 152 length 1010 (2) eap: EAP session adding &reply:State = 0xdcff01a1de671842 (2) [eap] = handled (2) } # authenticate = handled (2) Using Post-Auth-Type Challenge (2) Post-Auth-Type sub-section not found. Ignoring. (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) Sent Access-Challenge Id 198 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (2) EAP-Message = 0x019803f2194081890603551d23048181307f8014f5a4fe043082531ea9c9e8894ce371c0d8b76e0ca15ca45a3058310b30090603550406130241553113301106035504080c0a517565656e736c616e6431153013060355040a0c0c4950414e59414e59204c7464311d301b06035504030c144950414e59 (2) Message-Authenticator = 0x00000000000000000000000000000000 (2) State = 0xdcff01a1de6718422343d3b59bbb1704 (2) Finished request Waking up in 4.9 seconds. (3) Received Access-Request Id 199 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (3) User-Name = "anonymous" (3) NAS-Identifier = "802aa8d3d475" (3) NAS-Port = 0 (3) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (3) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (3) Framed-MTU = 1400 (3) NAS-Port-Type = Wireless-802.11 (3) Connect-Info = "CONNECT 0Mbps 802.11b" (3) EAP-Message = 0x029800061900 (3) State = 0xdcff01a1de6718422343d3b59bbb1704 (3) Message-Authenticator = 0xd4e4a6306a82241636efbaedeb77614e (3) session-state: No cached attributes (3) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (3) authorize { (3) policy filter_username { (3) if (&User-Name) { (3) if (&User-Name) -> TRUE (3) if (&User-Name) { (3) if (&User-Name =~ / /) { (3) if (&User-Name =~ / /) -> FALSE (3) if (&User-Name =~ /@[^@]@/ ) { (3) if (&User-Name =~ /@[^@]@/ ) -> FALSE(3) if (&User-Name =~ /\.\./ ) { (3) if (&User-Name =~ /\.\./ ) -> FALSE (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (3) if (&User-Name =~ /\.$/) { (3) if (&User-Name =~ /\.$/) -> FALSE (3) if (&User-Name =~ /@\./) { (3) if (&User-Name =~ /@\./) -> FALSE (3) } # if (&User-Name) = notfound (3) } # policy filter_username = notfound (3) [preprocess] = ok (3) [chap] = noop (3) [mschap] = noop (3) [digest] = noop (3) suffix: Checking for suffix after "@" (3) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (3) suffix: No such realm "NULL" (3) [suffix] = noop (3) eap: Peer sent EAP Response (code 2) ID 152 length 6 (3) eap: Continuing tunnel setup (3) [eap] = ok (3) } # authorize = ok (3) Found Auth-Type = eap (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) authenticate { (3) eap: Expiring EAP session with state 0xdcff01a1de671842 (3) eap: Finished EAP session with state 0xdcff01a1de671842 (3) eap: Previous EAP request found for state 0xdcff01a1de671842, released from the list (3) eap: Peer sent packet with method EAP PEAP (25) (3) eap: Calling submodule eap_peap to process data (3) eap_peap: Continuing EAP-TLS (3) eap_peap: Peer ACKed our handshake fragment (3) eap_peap: [eaptls verify] = request (3) eap_peap: [eaptls process] = handled (3) eap: Sending EAP Request (code 1) ID 153 length 1010 (3) eap: EAP session adding &reply:State = 0xdcff01a1df661842 (3) [eap] = handled (3) } # authenticate = handled (3) Using Post-Auth-Type Challenge (3) Post-Auth-Type sub-section not found. Ignoring. (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) Sent Access-Challenge Id 199 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (3) EAP-Message = 0x019903f219403db777b2ab1db344d5c78cff8c6741f67e95299b96815e5bcb66eb71439eb8a99050aa381ef4d9d7cc65154cbd3dcdc50a20d6f4da6c3eedc4a6c4c4adb072c4d5d71a4e6ed7456e5e0c9f73de1367f00dbd34e027282672811a6dd2aecdebd2cb615ccddf147d02b1c65fde6b28ea22f7 (3) Message-Authenticator = 0x00000000000000000000000000000000 (3) State = 0xdcff01a1df6618422343d3b59bbb1704 (3) Finished request Waking up in 4.8 seconds. (4) Received Access-Request Id 200 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (4) User-Name = "anonymous" (4) NAS-Identifier = "802aa8d3d475" (4) NAS-Port = 0 (4) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (4) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (4) Framed-MTU = 1400 (4) NAS-Port-Type = Wireless-802.11 (4) Connect-Info = "CONNECT 0Mbps 802.11b" (4) EAP-Message = 0x029900061900 (4) State = 0xdcff01a1df6618422343d3b59bbb1704 (4) Message-Authenticator = 0x4a07d878ea0ab40860bd41840d9b53d1 (4) session-state: No cached attributes (4) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (4) authorize { (4) policy filter_username { (4) if (&User-Name) { (4) if (&User-Name) -> TRUE (4) if (&User-Name) { (4) if (&User-Name =~ / /) { (4) if (&User-Name =~ / /) -> FALSE (4) if (&User-Name =~ /@[^@]@/ ) { (4) if (&User-Name =~ /@[^@]@/ ) -> FALSE(4) if (&User-Name =~ /\.\./ ) { (4) if (&User-Name =~ /\.\./ ) -> FALSE (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (4) if (&User-Name =~ /\.$/) { (4) if (&User-Name =~ /\.$/) -> FALSE (4) if (&User-Name =~ /@\./) { (4) if (&User-Name =~ /@\./) -> FALSE (4) } # if (&User-Name) = notfound (4) } # policy filter_username = notfound (4) [preprocess] = ok (4) [chap] = noop (4) [mschap] = noop (4) [digest] = noop (4) suffix: Checking for suffix after "@" (4) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (4) suffix: No such realm "NULL" (4) [suffix] = noop (4) eap: Peer sent EAP Response (code 2) ID 153 length 6 (4) eap: Continuing tunnel setup (4) [eap] = ok (4) } # authorize = ok (4) Found Auth-Type = eap (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) authenticate { (4) eap: Expiring EAP session with state 0xdcff01a1df661842 (4) eap: Finished EAP session with state 0xdcff01a1df661842 (4) eap: Previous EAP request found for state 0xdcff01a1df661842, released from the list (4) eap: Peer sent packet with method EAP PEAP (25) (4) eap: Calling submodule eap_peap to process data (4) eap_peap: Continuing EAP-TLS (4) eap_peap: Peer ACKed our handshake fragment (4) eap_peap: [eaptls verify] = request (4) eap_peap: [eaptls process] = handled (4) eap: Sending EAP Request (code 1) ID 154 length 746 (4) eap: EAP session adding &reply:State = 0xdcff01a1d8651842 (4) [eap] = handled (4) } # authenticate = handled (4) Using Post-Auth-Type Challenge (4) Post-Auth-Type sub-section not found. Ignoring. (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) Sent Access-Challenge Id 200 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (4) EAP-Message = 0x019a02ea19008fba9616587fb1ea32ee83f2f0972c1cde589ebb9e94a1deba7339756e56e802e9439eb0c62667a97b0b7771ab622fe5422684d07d5f276180e361a9ab2cb3db23c2705d0c12b7d25b66bcacdff1c531817bd650abe21e1ef3df65ca76f81e5cf091d43d31f95c97e8dcaf3269fbc18cfe (4) Message-Authenticator = 0x00000000000000000000000000000000 (4) State = 0xdcff01a1d86518422343d3b59bbb1704 (4) Finished request Waking up in 4.8 seconds. (5) Received Access-Request Id 201 from 192.168.40.21:46541 to 192.168.8.35:1812 length 295 (5) User-Name = "anonymous" (5) NAS-Identifier = "802aa8d3d475" (5) NAS-Port = 0 (5) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (5) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (5) Framed-MTU = 1400 (5) NAS-Port-Type = Wireless-802.11 (5) Connect-Info = "CONNECT 0Mbps 802.11b" (5) EAP-Message = 0x029a0080198000000076160303004610000042410489c8bd0afbba1b5226f36bba36403153a0adc35a301aad07d58b9688b3371475eacc1ad36aa2fa043d225c347d21f1d8d8581073ea0db0c403ad488a53a8f85d140303000101160303002005961f8818b3e5348683646f8a541de9ea5073ce2efa66 (5) State = 0xdcff01a1d86518422343d3b59bbb1704 (5) Message-Authenticator = 0x3311ca3d5bfb4e1796cc1d6c70cb725c (5) session-state: No cached attributes (5) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (5) authorize { (5) policy filter_username { (5) if (&User-Name) { (5) if (&User-Name) -> TRUE (5) if (&User-Name) { (5) if (&User-Name =~ / /) { (5) if (&User-Name =~ / /) -> FALSE (5) if (&User-Name =~ /@[^@]@/ ) { (5) if (&User-Name =~ /@[^@]@/ ) -> FALSE(5) if (&User-Name =~ /\.\./ ) { (5) if (&User-Name =~ /\.\./ ) -> FALSE (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (5) if (&User-Name =~ /\.$/) { (5) if (&User-Name =~ /\.$/) -> FALSE (5) if (&User-Name =~ /@\./) { (5) if (&User-Name =~ /@\./) -> FALSE (5) } # if (&User-Name) = notfound (5) } # policy filter_username = notfound (5) [preprocess] = ok (5) [chap] = noop (5) [mschap] = noop (5) [digest] = noop (5) suffix: Checking for suffix after "@" (5) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (5) suffix: No such realm "NULL" (5) [suffix] = noop (5) eap: Peer sent EAP Response (code 2) ID 154 length 128 (5) eap: Continuing tunnel setup (5) [eap] = ok (5) } # authorize = ok (5) Found Auth-Type = eap (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) authenticate { (5) eap: Expiring EAP session with state 0xdcff01a1d8651842 (5) eap: Finished EAP session with state 0xdcff01a1d8651842 (5) eap: Previous EAP request found for state 0xdcff01a1d8651842, released from the list (5) eap: Peer sent packet with method EAP PEAP (25) (5) eap: Calling submodule eap_peap to process data (5) eap_peap: Continuing EAP-TLS (5) eap_peap: Peer indicated complete TLS record size will be 118 bytes (5) eap_peap: Got complete TLS record (118 bytes) (5) eap_peap: [eaptls verify] = length included (5) eap_peap: TLS_accept: SSLv3/TLS write server done (5) eap_peap: <<< recv TLS 1.2 [length 0046] (5) eap_peap: TLS_accept: SSLv3/TLS read client key exchange (5) eap_peap: TLS_accept: SSLv3/TLS read change cipher spec (5) eap_peap: <<< recv TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS read finished (5) eap_peap: >>> send TLS 1.2 [length 0001] (5) eap_peap: TLS_accept: SSLv3/TLS write change cipher spec (5) eap_peap: >>> send TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS write finished (5) eap_peap: (other): SSL negotiation finished successfully (5) eap_peap: SSL Connection Established (5) eap_peap: [eaptls process] = handled (5) eap: Sending EAP Request (code 1) ID 155 length 49 (5) eap: EAP session adding &reply:State = 0xdcff01a1d9641842 (5) [eap] = handled (5) } # authenticate = handled (5) Using Post-Auth-Type Challenge (5) Post-Auth-Type sub-section not found. Ignoring. (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) Sent Access-Challenge Id 201 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (5) EAP-Message = 0x019b003119001403030001011603030020928339ca9a02fb4881ae249f612df4a26df59326e0672ac8e445c34168991d32 (5) Message-Authenticator = 0x00000000000000000000000000000000 (5) State = 0xdcff01a1d96418422343d3b59bbb1704 (5) Finished request Waking up in 4.7 seconds. (6) Received Access-Request Id 202 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (6) User-Name = "anonymous" (6) NAS-Identifier = "802aa8d3d475" (6) NAS-Port = 0 (6) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (6) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (6) Framed-MTU = 1400 (6) NAS-Port-Type = Wireless-802.11 (6) Connect-Info = "CONNECT 0Mbps 802.11b" (6) EAP-Message = 0x029b00061900 (6) State = 0xdcff01a1d96418422343d3b59bbb1704 (6) Message-Authenticator = 0xf6be5cee51e32fdacbbef344781223d3 (6) session-state: No cached attributes (6) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (6) authorize { (6) policy filter_username { (6) if (&User-Name) { (6) if (&User-Name) -> TRUE (6) if (&User-Name) { (6) if (&User-Name =~ / /) { (6) if (&User-Name =~ / /) -> FALSE (6) if (&User-Name =~ /@[^@]@/ ) { (6) if (&User-Name =~ /@[^@]@/ ) -> FALSE(6) if (&User-Name =~ /\.\./ ) { (6) if (&User-Name =~ /\.\./ ) -> FALSE (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (6) if (&User-Name =~ /\.$/) { (6) if (&User-Name =~ /\.$/) -> FALSE (6) if (&User-Name =~ /@\./) { (6) if (&User-Name =~ /@\./) -> FALSE (6) } # if (&User-Name) = notfound (6) } # policy filter_username = notfound (6) [preprocess] = ok (6) [chap] = noop (6) [mschap] = noop (6) [digest] = noop (6) suffix: Checking for suffix after "@" (6) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (6) suffix: No such realm "NULL" (6) [suffix] = noop (6) eap: Peer sent EAP Response (code 2) ID 155 length 6 (6) eap: Continuing tunnel setup (6) [eap] = ok (6) } # authorize = ok (6) Found Auth-Type = eap (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) authenticate { (6) eap: Expiring EAP session with state 0xdcff01a1d9641842 (6) eap: Finished EAP session with state 0xdcff01a1d9641842 (6) eap: Previous EAP request found for state 0xdcff01a1d9641842, released from the list (6) eap: Peer sent packet with method EAP PEAP (25) (6) eap: Calling submodule eap_peap to process data (6) eap_peap: Continuing EAP-TLS (6) eap_peap: Peer ACKed our handshake fragment. handshake is finished (6) eap_peap: [eaptls verify] = success (6) eap_peap: [eaptls process] = success (6) eap_peap: Session established. Decoding tunneled attributes (6) eap_peap: PEAP state TUNNEL ESTABLISHED (6) eap: Sending EAP Request (code 1) ID 156 length 32 (6) eap: EAP session adding &reply:State = 0xdcff01a1da631842 (6) [eap] = handled (6) } # authenticate = handled (6) Using Post-Auth-Type Challenge (6) Post-Auth-Type sub-section not found. Ignoring. (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) Sent Access-Challenge Id 202 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (6) EAP-Message = 0x019c00201900170303001599b5f4133e2b7766900ad78dd36daf40d396f375f2 (6) Message-Authenticator = 0x00000000000000000000000000000000 (6) State = 0xdcff01a1da6318422343d3b59bbb1704 (6) Finished request Waking up in 4.7 seconds. (7) Received Access-Request Id 203 from 192.168.40.21:46541 to 192.168.8.35:1812 length 203 (7) User-Name = "anonymous" (7) NAS-Identifier = "802aa8d3d475" (7) NAS-Port = 0 (7) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (7) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (7) Framed-MTU = 1400 (7) NAS-Port-Type = Wireless-802.11 (7) Connect-Info = "CONNECT 0Mbps 802.11b" (7) EAP-Message = 0x029c002419001703030019dfbe3664b6ba25228ceeefd1544ec446fce8a53f317c6cdc30 (7) State = 0xdcff01a1da6318422343d3b59bbb1704 (7) Message-Authenticator = 0xe33ca0e8b373f089e411f537f6aa90b8 (7) session-state: No cached attributes (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]@/ ) { (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [preprocess] = ok (7) [chap] = noop (7) [mschap] = noop (7) [digest] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 36 (7) eap: Continuing tunnel setup (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) authenticate { (7) eap: Expiring EAP session with state 0xdcff01a1da631842 (7) eap: Finished EAP session with state 0xdcff01a1da631842 (7) eap: Previous EAP request found for state 0xdcff01a1da631842, released from the list (7) eap: Peer sent packet with method EAP PEAP (25) (7) eap: Calling submodule eap_peap to process data (7) eap_peap: Continuing EAP-TLS (7) eap_peap: [eaptls verify] = ok (7) eap_peap: Done initial handshake (7) eap_peap: [eaptls process] = ok (7) eap_peap: Session established. Decoding tunneled attributes (7) eap_peap: PEAP state WAITING FOR INNER IDENTITY (7) eap_peap: Identity - testuser (7) eap_peap: Got inner identity 'testuser' (7) eap_peap: Setting default EAP type for tunneled EAP session (7) eap_peap: Got tunneled request (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: Setting User-Name to testuser (7) eap_peap: Sending tunneled request to inner-tunnel (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (7) eap_peap: User-Name = "testuser" (7) Virtual server inner-tunnel received request (7) EAP-Message = 0x029c000d017465737475736572 (7) FreeRADIUS-Proxied-To = 127.0.0.1 (7) User-Name = "testuser" (7) server inner-tunnel { (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]@/ ) { (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [chap] = noop (7) [mschap] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "testuser", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) update control { (7) &Proxy-To-Realm := LOCAL (7) } # update control = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 13 (7) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authenticate { (7) eap: Peer sent packet with method EAP Identity (1) (7) eap: Calling submodule eap_mschapv2 to process data (7) eap_mschapv2: Issuing Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 43 (7) eap: EAP session adding &reply:State = 0x73614bc173fc510e (7) [eap] = handled (7) } # authenticate = handled (7) } # server inner-tunnel (7) Virtual server sending reply (7) EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply RADIUS code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled Access-Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 66 (7) eap: EAP session adding &reply:State = 0xdcff01a1db621842 (7) [eap] = handled (7) } # authenticate = handled (7) Using Post-Auth-Type Challenge (7) Post-Auth-Type sub-section not found. Ignoring. (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) Sent Access-Challenge Id 203 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (7) EAP-Message = 0x019d004219001703030037dffc0f74fbf5c2a1c1b4e813f1bedcd02a226b0d28b1fcd482c11a0c445a5769fb76b4160a1592400e1e3132b40adfcd8487ab156e0774 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0xdcff01a1db6218422343d3b59bbb1704 (7) Finished request Waking up in 4.6 seconds. (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8)
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Sorry, note the below correction in the file name: [*For EAP-TTLS or EAP-PEAP clients, the "inner-tunnel" configuration file (/etc/freeradius/3.0/sites-enabled/inner-tunnel) was the correct file and to access some of the attributes, a prefix of "outer" was required.] ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 20, 2019 7:58 PM, S. <sandeep81@protonmail.com> wrote:
I finally managed to get this figured out. Man, what a mission. I've post my findings here for anyone who may be searching in the future.
The trick was to place the unlang programming logic in the correct files.
For handling EAP-TLS clients, the default site configuration file was the correct file (/etc/freeradius/3.0/sites-enabled/default).
For EAP-TTLS or EAP-PEAP clients, the "inner-tunnel" configuration file (/etc/freeradius/3.0/sites-enabled/default) was the correct file and to access some of the attributes, a prefix of "outer" was required.
Running the debugs with the "debug_all" option enabled in the "post-auth" section of the above configuration files revealed that the custom control list attribute was available and I was thus able to use it"
My working test configuration (in the post-auth section) ended up looking like the following:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-v
cat /etc/freeradius/3.0/sites-enabled/default #EAP-TLS Clients
===============================================================
... .. . if ((&request:NAS-IP-Address == 192.168.X.X) && (&request:EAP-Type == "TLS") && (&control:VLAN-Name == "CLIENT-Secure-WLAN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "100" } } elsif ((&request:NAS-IP-Address == 192.168.Y.Y) && (&request:EAP-Type == "TLS") && (&control:VLAN-Name == "CLIENT-Secure-WLAN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "200" } }
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-v
cat less /etc/freeradius/3.0/sites-enabled/inner-tunnel #EAP-TTLS and EAP-PEAP Clients
=======================================================================================
... .. . if (&outer.request:NAS-IP-Address == 192.168.X.X) { switch &control:VLAN-Name { case "CLIENT-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "111" } } case "CLIENT-VPN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "121" } }
case "GUEST-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "131" } } case "GUEST-WLAN-VPN1" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "141" } } } } elsif (&outer.request:NAS-IP-Address == 192.168.Y.Y) { switch &control:VLAN-Name { case "CLIENT-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "211" } } case "CLIENT-VPN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "221" } } case "GUEST-WLAN" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "231" } } case "GUEST-WLAN-VPN1" { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "241" } } } }
Hope that helps.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 20, 2019 6:38 AM, S. sandeep81@protonmail.com wrote:
I think some of the debug output was truncated in the previous email. Here's the remainder from (8) onwards: (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [chap] = noop (8) [mschap] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "testuser", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) update control { (8) &Proxy-To-Realm := LOCAL (8) } # update control = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 67 (8) eap: No EAP Start, assuming it's an on-going EAP conversation (8) [eap] = updated (8) files: users: Matched entry testuser at line 98 (8) [files] = ok (8) [expiration] = noop (8) [logintime] = noop (8) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes (8) pap: WARNING: Auth-Type already set. Not setting to PAP (8) [pap] = noop (8) } # authorize = updated (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0x73614bc173fc510e (8) eap: Previous EAP request found for state 0x73614bc173fc510e, released from the list (8) eap: Peer sent packet with method EAP MSCHAPv2 (26) (8) eap: Calling submodule eap_mschapv2 to process data (8) eap_mschapv2: # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) eap_mschapv2: authenticate { (8) mschap: Found NT-Password (8) mschap: Creating challenge hash with username: testuser (8) mschap: Client is using MS-CHAPv2 (8) mschap: Adding MS-CHAPv2 MPPE keys (8) [mschap] = ok (8) } # authenticate = ok (8) MSCHAP Success (8) eap: Sending EAP Request (code 1) ID 158 length 51 (8) eap: EAP session adding &reply:State = 0x73614bc172ff510e (8) [eap] = handled (8) } # authenticate = handled (8) } # server inner-tunnel (8) Virtual server sending reply (8) EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) Message-Authenticator = 0x00000000000000000000000000000000 (8) State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled reply code 11 (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled reply RADIUS code 11 (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246 (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (8) eap_peap: Got tunneled Access-Challenge (8) eap: Sending EAP Request (code 1) ID 158 length 74 (8) eap: EAP session adding &reply:State = 0xdcff01a1d4611842 (8) [eap] = handled (8) } # authenticate = handled (8) Using Post-Auth-Type Challenge (8) Post-Auth-Type sub-section not found. Ignoring. (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) Sent Access-Challenge Id 204 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (8) EAP-Message = 0x019e004a1900170303003ff70a519d23edc920820f3d0be13b93b144017cdec458f0d2c6ead00732bf70fc4d1fb57809b96fae00825ae59bcabe9de9c4c8d49cd95e6e303f7f5bc63083 (8) Message-Authenticator = 0x00000000000000000000000000000000 (8) State = 0xdcff01a1d46118422343d3b59bbb1704 (8) Finished request Waking up in 4.6 seconds. (9) Received Access-Request Id 205 from 192.168.40.21:46541 to 192.168.8.35:1812 length 196 (9) User-Name = "anonymous" (9) NAS-Identifier = "802aa8d3d475" (9) NAS-Port = 0 (9) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (9) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (9) Framed-MTU = 1400 (9) NAS-Port-Type = Wireless-802.11 (9) Connect-Info = "CONNECT 0Mbps 802.11b" (9) EAP-Message = 0x029e001d190017030300124f10e0d106532bbcbddf7ae85d8ddf0c80be (9) State = 0xdcff01a1d46118422343d3b59bbb1704 (9) Message-Authenticator = 0x1c8c0a8453c376fee0859f2286bf5fc2 (9) session-state: No cached attributes (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (9) authorize { (9) policy filter_username { (9) if (&User-Name) { (9) if (&User-Name) -> TRUE (9) if (&User-Name) { (9) if (&User-Name =~ / /) { (9) if (&User-Name =~ / /) -> FALSE (9) if (&User-Name =~ /@[^@]@/ ) { (9) if (&User-Name =~ /@[^@]@/ ) -> FALSE(9) if (&User-Name =~ /\.\./ ) { (9) if (&User-Name =~ /\.\./ ) -> FALSE (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (9) if (&User-Name =~ /\.$/) { (9) if (&User-Name =~ /\.$/) -> FALSE (9) if (&User-Name =~ /@\./) { (9) if (&User-Name =~ /@\./) -> FALSE (9) } # if (&User-Name) = notfound (9) } # policy filter_username = notfound (9) [preprocess] = ok (9) [chap] = noop (9) [mschap] = noop (9) [digest] = noop (9) suffix: Checking for suffix after "@" (9) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (9) suffix: No such realm "NULL" (9) [suffix] = noop (9) eap: Peer sent EAP Response (code 2) ID 158 length 29 (9) eap: Continuing tunnel setup (9) [eap] = ok (9) } # authorize = ok (9) Found Auth-Type = eap (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (9) authenticate { (9) eap: Expiring EAP session with state 0x73614bc172ff510e (9) eap: Finished EAP session with state 0xdcff01a1d4611842 (9) eap: Previous EAP request found for state 0xdcff01a1d4611842, released from the list (9) eap: Peer sent packet with method EAP PEAP (25) (9) eap: Calling submodule eap_peap to process data (9) eap_peap: Continuing EAP-TLS (9) eap_peap: [eaptls verify] = ok (9) eap_peap: Done initial handshake (9) eap_peap: [eaptls process] = ok (9) eap_peap: Session established. Decoding tunneled attributes (9) eap_peap: PEAP state phase2 (9) eap_peap: EAP method MSCHAPv2 (26) (9) eap_peap: Got tunneled request (9) eap_peap: EAP-Message = 0x029e00061a03 (9) eap_peap: Setting User-Name to testuser (9) eap_peap: Sending tunneled request to inner-tunnel (9) eap_peap: EAP-Message = 0x029e00061a03 (9) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (9) eap_peap: User-Name = "testuser" (9) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee (9) Virtual server inner-tunnel received request (9) EAP-Message = 0x029e00061a03 (9) FreeRADIUS-Proxied-To = 127.0.0.1 (9) User-Name = "testuser" (9) State = 0x73614bc172ff510eb5bcf37c76b9f7ee (9) server inner-tunnel { (9) session-state: No cached attributes (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) authorize { (9) policy filter_username { (9) if (&User-Name) { (9) if (&User-Name) -> TRUE (9) if (&User-Name) { (9) if (&User-Name =~ / /) { (9) if (&User-Name =~ / /) -> FALSE (9) if (&User-Name =~ /@[^@]@/ ) { (9) if (&User-Name =~ /@[^@]@/ ) -> FALSE(9) if (&User-Name =~ /\.\./ ) { (9) if (&User-Name =~ /\.\./ ) -> FALSE (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (9) if (&User-Name =~ /\.$/) { (9) if (&User-Name =~ /\.$/) -> FALSE (9) if (&User-Name =~ /@\./) { (9) if (&User-Name =~ /@\./) -> FALSE (9) } # if (&User-Name) = notfound (9) } # policy filter_username = notfound (9) [chap] = noop (9) [mschap] = noop (9) suffix: Checking for suffix after "@" (9) suffix: No '@' in User-Name = "testuser", looking up realm NULL (9) suffix: No such realm "NULL" (9) [suffix] = noop (9) update control { (9) &Proxy-To-Realm := LOCAL (9) } # update control = noop (9) eap: Peer sent EAP Response (code 2) ID 158 length 6 (9) eap: No EAP Start, assuming it's an on-going EAP conversation (9) [eap] = updated (9) files: users: Matched entry testuser at line 98 (9) [files] = ok (9) [expiration] = noop (9) [logintime] = noop (9) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes (9) pap: WARNING: Auth-Type already set. Not setting to PAP (9) [pap] = noop (9) } # authorize = updated (9) Found Auth-Type = eap (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) authenticate { (9) eap: Expiring EAP session with state 0x73614bc172ff510e (9) eap: Finished EAP session with state 0x73614bc172ff510e (9) eap: Previous EAP request found for state 0x73614bc172ff510e, released from the list (9) eap: Peer sent packet with method EAP MSCHAPv2 (26) (9) eap: Calling submodule eap_mschapv2 to process data (9) eap: Sending EAP Success (code 3) ID 158 length 4 (9) eap: Freeing handler (9) [eap] = ok (9) } # authenticate = ok (9) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (9) post-auth { (9) update { (9) &outer.session-state::MS-MPPE-Encryption-Policy += &reply:MS-MPPE-Encryption-Policy[] -> Encryption-Allowed (9) &outer.session-state::MS-MPPE-Encryption-Types += &reply:MS-MPPE-Encryption-Types[] -> RC4-40or128-bit-Allowed(9) &outer.session-state::MS-MPPE-Send-Key += &reply:MS-MPPE-Send-Key[] -> 0x33046b7deb897ca1ac0495bae9824012 (9) &outer.session-state::MS-MPPE-Recv-Key += &reply:MS-MPPE-Recv-Key[] -> 0x53cb2180b174fddc9bd6bee5cb0a3f0d(9) &outer.session-state::EAP-Message += &reply:EAP-Message[] -> 0x039e0004 (9) &outer.session-state::Message-Authenticator += &reply:Message-Authenticator[] -> 0x00000000000000000000000000000000(9) &outer.session-state::User-Name += &reply:User-Name[] -> 'testuser' (9) } # update = noop (9) update outer.session-state { (9) MS-MPPE-Encryption-Policy ! ANY(9) MS-MPPE-Encryption-Types !* ANY (9) MS-MPPE-Send-Key !* ANY (9) MS-MPPE-Recv-Key !* ANY (9) Message-Authenticator !* ANY (9) EAP-Message !* ANY (9) Proxy-State !* ANY (9) } # update outer.session-state = noop (9) } # post-auth = noop (9) Login OK: [testuser] (from client BNE-WLAN-UAP1 port 0 via TLS tunnel) (9) } # server inner-tunnel (9) Virtual server sending reply (9) MS-MPPE-Encryption-Policy = Encryption-Allowed (9) MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) EAP-Message = 0x039e0004 (9) Message-Authenticator = 0x00000000000000000000000000000000 (9) User-Name = "testuser" (9) eap_peap: Got tunneled reply code 2 (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) eap_peap: EAP-Message = 0x039e0004 (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (9) eap_peap: User-Name = "testuser" (9) eap_peap: Got tunneled reply RADIUS code 2 (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012 (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d (9) eap_peap: EAP-Message = 0x039e0004 (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (9) eap_peap: User-Name = "testuser" (9) eap_peap: Tunneled authentication was successful (9) eap_peap: SUCCESS (9) eap: Sending EAP Request (code 1) ID 159 length 38 (9) eap: EAP session adding &reply:State = 0xdcff01a1d5601842 (9) [eap] = handled (9) } # authenticate = handled (9) Using Post-Auth-Type Challenge (9) Post-Auth-Type sub-section not found. Ignoring. (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (9) session-state: Saving cached attributes (9) User-Name += "testuser" (9) Sent Access-Challenge Id 205 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (9) EAP-Message = 0x019f00261900170303001b8dd194cd37ae97986b82c7a825fd124f9c9f6538e32bc910266c38 (9) Message-Authenticator = 0x00000000000000000000000000000000 (9) State = 0xdcff01a1d56018422343d3b59bbb1704 (9) Finished request Waking up in 4.5 seconds. (10) Received Access-Request Id 206 from 192.168.40.21:46541 to 192.168.8.35:1812 length 205 (10) User-Name = "anonymous" (10) NAS-Identifier = "802aa8d3d475" (10) NAS-Port = 0 (10) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (10) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (10) Framed-MTU = 1400 (10) NAS-Port-Type = Wireless-802.11 (10) Connect-Info = "CONNECT 0Mbps 802.11b" (10) EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870 (10) State = 0xdcff01a1d56018422343d3b59bbb1704 (10) Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81 (10) Restoring &session-state (10) &session-state:User-Name += "testuser" (10) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (10) authorize { (10) policy filter_username { (10) if (&User-Name) { (10) if (&User-Name) -> TRUE (10) if (&User-Name) { (10) if (&User-Name =~ / /) { (10) if (&User-Name =~ / /) -> FALSE (10) if (&User-Name =~ /@[^@]@/ ) { (10) if (&User-Name =~ /@[^@]@/ ) -> FALSE(10) if (&User-Name =~ /\.\./ ) { (10) if (&User-Name =~ /\.\./ ) -> FALSE (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (10) if (&User-Name =~ /\.$/) { (10) if (&User-Name =~ /\.$/) -> FALSE (10) if (&User-Name =~ /@\./) { (10) if (&User-Name =~ /@\./) -> FALSE (10) } # if (&User-Name) = notfound (10) } # policy filter_username = notfound (10) [preprocess] = ok (10) [chap] = noop (10) [mschap] = noop (10) [digest] = noop (10) suffix: Checking for suffix after "@" (10) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (10) suffix: No such realm "NULL" (10) [suffix] = noop (10) eap: Peer sent EAP Response (code 2) ID 159 length 38 (10) eap: Continuing tunnel setup (10) [eap] = ok (10) } # authorize = ok (10) Found Auth-Type = eap (10) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (10) authenticate { (10) eap: Expiring EAP session with state 0xdcff01a1d5601842 (10) eap: Finished EAP session with state 0xdcff01a1d5601842 (10) eap: Previous EAP request found for state 0xdcff01a1d5601842, released from the list (10) eap: Peer sent packet with method EAP PEAP (25) (10) eap: Calling submodule eap_peap to process data (10) eap_peap: Continuing EAP-TLS (10) eap_peap: [eaptls verify] = ok (10) eap_peap: Done initial handshake (10) eap_peap: [eaptls process] = ok (10) eap_peap: Session established. Decoding tunneled attributes (10) eap_peap: PEAP state send tlv success (10) eap_peap: Received EAP-TLV response (10) eap_peap: Success (10) eap: Sending EAP Success (code 3) ID 159 length 4 (10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') { (10) Attributes matching "request:" (10) &request:User-Name = anonymous (10) &request:NAS-Identifier = 802aa8d3d475 (10) &request:NAS-Port = 0 (10) &request:Called-Station-Id = 82-2A-A8-D5-D4-75:WLAN (10) &request:Calling-Station-Id = EC-1F-72-7E-BC-BB (10) &request:Framed-MTU = 1400 (10) &request:NAS-Port-Type = Wireless-802.11 (10) &request:Connect-Info = CONNECT 0Mbps 802.11b (10) &request:EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870 (10) &request:State = 0xdcff01a1d56018422343d3b59bbb1704 (10) &request:Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81 (10) &request:Event-Timestamp = Dec 20 2019 16:01:10 AEST (10) &request:NAS-IP-Address = 192.168.40.21 (10) &request:EAP-Type = PEAP (10) EXPAND %{debug_attr:request:} (10) --> (10) if ("%{debug_attr:request:}" == '') -> TRUE (10) if ("%{debug_attr:request:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:request:}" == '') = noop (10) } # policy debug_request = noop (10) policy debug_coa { (10) if ("%{debug_attr:coa:}" == '') { (10) Attributes matching "coa:" (10) WARNING: List "coa" is not available (10) EXPAND %{debug_attr:coa:} (10) --> (10) if ("%{debug_attr:coa:}" == '') -> TRUE (10) if ("%{debug_attr:coa:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:coa:}" == '') = noop (10) } # policy debug_coa = noop (10) policy debug_reply { (10) if ("%{debug_attr:reply:}" == '') { (10) Attributes matching "reply:" (10) &reply:MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e (10) &reply:MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) &reply:EAP-MSK = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491eadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) &reply:EAP-EMSK = 0x68ed4ecf9dba4d63ae95c5226d39f88c5ec2c2a995d3faa4132911ee671b70e9fac2e9a0537612142720f69e17562da9ba9d672355c03d816669777248da35de (10) &reply:EAP-Session-Id = 0x19ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d8345cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e (10) &reply:EAP-Message = 0x039f0004 (10) &reply:Message-Authenticator = 0x00000000000000000000000000000000 (10) &reply:User-Name = anonymous (10) EXPAND %{debug_attr:reply:} (10) --> (10) if ("%{debug_attr:reply:}" == '') -> TRUE (10) if ("%{debug_attr:reply:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:reply:}" == '') = noop (10) } # policy debug_reply = noop (10) policy debug_session_state { (10) if ("%{debug_attr:session-state:}" == '') { (10) Attributes matching "session-state:" (10) &session-state:User-Name += testuser (10) EXPAND %{debug_attr:session-state:} (10) --> (10) if ("%{debug_attr:session-state:}" == '') -> TRUE (10) if ("%{debug_attr:session-state:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:session-state:}" == '') = noop (10) } # policy debug_session_state = noop (10) } # policy debug_all = noop (10) update { (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop (10) Login OK: [anonymous] (from client BNE-WLAN-UAP1 port 0 cli EC-1F-72-7E-BC-BB) (10) Sent Access-Accept Id 206 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (10) MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e (10) MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138 (10) EAP-Message = 0x039f0004 (10) Message-Authenticator = 0x00000000000000000000000000000000 (10) User-Name = "anonymous" (10) User-Name += "testuser" (10) Finished request Waking up in 4.5 seconds. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 20, 2019 6:22 AM, S. via Freeradius-Users freeradius-users@lists.freeradius.org wrote:
Hi all, I'm stuck on an issue with FreeRADIUS configuration and after a few days of reading and searching I'm out of ideas. Hopefully it's just a simple mistake which someone can pick up and help me out with. I've been using FreeRADIUS to handle EAP authentication (both EAP-TLS and EAP-PEAP-MSCHAPv2) and dynamic VLAN assignments for wireless networks and it's been working flawlessly. Recently I've had to look at making some configuration changes to suit a more complex situation and this is where I'm getting stuck and going around in circles. Previously I have been defining the dynamic VLAN on a per-user basis within the "users" configuration file as such: testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = "125" # CLIENT-VPN This has been working fine and the dynamic VLAN gets assigned as expected. I need to change this now so that the "users" file only contains the username and password hash and the dynamic VLAN assignment actually happens using unlang logic in the post-auth section of the "/etc/freeradius/3.0/sites-enabled/default" file. After a bit of reading, it appears that I can create an attribute in the users file which get's added into a control list which I can reference in the post-auth phase. So I try doing that by first defining the attribute in the "dictionary" file: #tail -n 2 /etc/freeradius/3.0/dictionary ATTRIBUTE VLAN-Name 3000 string And then I add the attribute (and the desired value) in the users file: testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", VLAN-Name := "CLIENT-VPN" I then create the relevant unlang logic. What I'm trying to do with this logic is determine the NAS-IP (WAP) and assigned VLAN-Name for the user. Based on this, I'll send back the approrpiate VLAN-ID. cat /etc/freeradius/3.0/sites-enabled/default
================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
... post-auth { debug_all ... if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { update reply { &Tunnel-Type := VLAN &Tunnel-Medium-Type := IEEE-802 &Tunnel-Private-Group-Id := "225" } } The unlang logic works fine just against the NAS-IP-Address however fails when used with the VLAN-Name custom attribute. Looking through the debugs, I find two areas indicating a problem. The most obvious is the ERROR below indicating a failure to get my attribute: (10) &reply::User-Name += &session-state:User-Name[] -> 'testuser' (10) } # update = noop (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) { (10) ERROR: Failed retrieving values required to evaluate condition (10) [exec] = noop (10) policy remove_reply_message_if_eap { (10) if (&reply:EAP-Message && &reply:Reply-Message) { (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (10) else { (10) [noop] = noop (10) } # else = noop (10) } # policy remove_reply_message_if_eap = noop (10) } # post-auth = noop Enabling the "debug_all" option in the post-auth section (to dump all attributes) also reveals that my control list attribute "&control:VLAN-Name" doesn't appear to be available for use. The only control list attribute is "&control:Auth-Type". (10) eap: Freeing handler (10) [eap] = ok (10) } # authenticate = ok (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default (10) post-auth { (10) policy debug_all { (10) policy debug_control { (10) if ("%{debug_attr:control:}" == '') { (10) Attributes matching "control:" (10) &control:Auth-Type = eap (10) EXPAND %{debug_attr:control:} (10) --> (10) if ("%{debug_attr:control:}" == '') -> TRUE (10) if ("%{debug_attr:control:}" == '') { (10) [noop] = noop (10) } # if ("%{debug_attr:control:}" == '') = noop (10) } # policy debug_control = noop (10) policy debug_request { (10) if ("%{debug_attr:request:}" == '') { Appreciate any help you can provide. Thank you. P.S. I've included the full debug output here as requested in the mailing list rules/FAQ: freeradius -X FreeRADIUS Version 3.0.12 Copyright (C) 1999-2016 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 For more information about these matters, see the file named COPYRIGHT Starting - reading configuration files ... including dictionary file /usr/share/freeradius/dictionary including dictionary file /usr/share/freeradius/dictionary.dhcp including dictionary file /usr/share/freeradius/dictionary.vqp including dictionary file /etc/freeradius/3.0/dictionary including configuration file /etc/freeradius/3.0/radiusd.conf including configuration file /etc/freeradius/3.0/proxy.conf including configuration file /etc/freeradius/3.0/clients.conf including files in directory /etc/freeradius/3.0/mods-enabled/ including configuration file /etc/freeradius/3.0/mods-enabled/always including configuration file /etc/freeradius/3.0/mods-enabled/unpack including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter including configuration file /etc/freeradius/3.0/mods-enabled/realm including configuration file /etc/freeradius/3.0/mods-enabled/detail including configuration file /etc/freeradius/3.0/mods-enabled/utf8 including configuration file /etc/freeradius/3.0/mods-enabled/detail.log including configuration file /etc/freeradius/3.0/mods-enabled/chap including configuration file /etc/freeradius/3.0/mods-enabled/expiration including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients including configuration file /etc/freeradius/3.0/mods-enabled/expr including configuration file /etc/freeradius/3.0/mods-enabled/echo including configuration file /etc/freeradius/3.0/mods-enabled/linelog including configuration file /etc/freeradius/3.0/mods-enabled/preprocess including configuration file /etc/freeradius/3.0/mods-enabled/eap including configuration file /etc/freeradius/3.0/mods-enabled/mschap including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap including configuration file /etc/freeradius/3.0/mods-enabled/replicate including configuration file /etc/freeradius/3.0/mods-enabled/exec including configuration file /etc/freeradius/3.0/mods-enabled/digest including configuration file /etc/freeradius/3.0/mods-enabled/files including configuration file /etc/freeradius/3.0/mods-enabled/soh including configuration file /etc/freeradius/3.0/mods-enabled/pap including configuration file /etc/freeradius/3.0/mods-enabled/unix including configuration file /etc/freeradius/3.0/mods-enabled/radutmp including configuration file /etc/freeradius/3.0/mods-enabled/logintime including configuration file /etc/freeradius/3.0/mods-enabled/passwd including files in directory /etc/freeradius/3.0/policy.d/ including configuration file /etc/freeradius/3.0/policy.d/operator-name including configuration file /etc/freeradius/3.0/policy.d/filter including configuration file /etc/freeradius/3.0/policy.d/canonicalization including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids including configuration file /etc/freeradius/3.0/policy.d/control including configuration file /etc/freeradius/3.0/policy.d/accounting including configuration file /etc/freeradius/3.0/policy.d/dhcp including configuration file /etc/freeradius/3.0/policy.d/debug including configuration file /etc/freeradius/3.0/policy.d/cui including configuration file /etc/freeradius/3.0/policy.d/abfab-tr including configuration file /etc/freeradius/3.0/policy.d/eap including files in directory /etc/freeradius/3.0/sites-enabled/ including configuration file /etc/freeradius/3.0/sites-enabled/default including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel main { security { user = "freerad" group = "freerad" allow_core_dumps = no } name = "freeradius" prefix = "/usr" localstatedir = "/var" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" } main { name = "freeradius" prefix = "/usr" localstatedir = "/var" sbindir = "/usr/sbin" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/freeradius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 16384 pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = yes auth_badpass = no auth_goodpass = no colourise = yes msg_denied = "You are already logged in - access denied" } resources { } security { max_attributes = 200 reject_delay = 1.000000 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 = <<< secret >>> response_window = 20.000000 response_timeouts = 1 max_outstanding = 65536 zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 check_timeout = 4 num_answers_to_alive = 3 revive_interval = 120 limit { max_connections = 16 max_requests = 0 lifetime = 0 idle_timeout = 0 } coa { 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 = <<< secret >>> nas_type = "other" proto = ""limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client localhost_ipv6 { ipv6addr = ::1 require_message_authenticator = no secret = <<< secret >>> limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client GC-WLAN-UAP1 { ipaddr = 192.168.8.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client BNE-WLAN-UAP1 { ipaddr = 192.168.40.21 require_message_authenticator = no secret = <<< secret >>> nas_type = "other" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } Debugger not attached Creating Auth-Type = mschap
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Creating Auth-Type = digest
============================
Creating Auth-Type = eap
=========================
Creating Auth-Type = PAP
=========================
Creating Auth-Type = CHAP
==========================
Creating Auth-Type = MS-CHAP
=============================
radiusd: #### Instantiating modules #### modules { Loaded module rlm_always
============================================================================
Loading module "reject" from file /etc/freeradius/3.0/mods-enabled/always
==========================================================================
always reject { rcode = "reject" simulcount = 0 mpp = no } Loading module "fail" from file /etc/freeradius/3.0/mods-enabled/always
===================================================================================================================================
always fail { rcode = "fail" simulcount = 0 mpp = no } Loading module "ok" from file /etc/freeradius/3.0/mods-enabled/always
=============================================================================================================================
always ok { rcode = "ok" simulcount = 0 mpp = no } Loading module "handled" from file /etc/freeradius/3.0/mods-enabled/always
==============================================================================================================================
always handled { rcode = "handled" simulcount = 0 mpp = no } Loading module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
========================================================================================================================================
always invalid { rcode = "invalid" simulcount = 0 mpp = no } Loading module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
=========================================================================================================================================
always userlock { rcode = "userlock" simulcount = 0 mpp = no } Loading module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
===========================================================================================================================================
always notfound { rcode = "notfound" simulcount = 0 mpp = no } Loading module "noop" from file /etc/freeradius/3.0/mods-enabled/always
=======================================================================================================================================
always noop { rcode = "noop" simulcount = 0 mpp = no } Loading module "updated" from file /etc/freeradius/3.0/mods-enabled/always
==================================================================================================================================
always updated { rcode = "updated" simulcount = 0 mpp = no } Loaded module rlm_unpack
======================================================================================
Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack
==========================================================================
Loaded module rlm_exec
=======================
Loading module "ntlm_auth" from file /etc/freeradius/3.0/mods-enabled/ntlm_auth
================================================================================
exec ntlm_auth { wait = yes program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}" shell_escape = yes } Loaded module rlm_attr_filter
============================================================================================================================================================================================================
Loading module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
===============================================================================================
attr_filter attr_filter.post-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy" key = "%{Realm}" relaxed = no } Loading module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=======================================================================================================================================================================================================================================
attr_filter attr_filter.pre-proxy { filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy" key = "%{Realm}" relaxed = no } Loading module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=========================================================================================================================================================================================================================================
attr_filter attr_filter.access_reject { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_reject" key = "%{User-Name}" relaxed = no } Loading module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
========================================================================================================================================================================================================================================================
attr_filter attr_filter.access_challenge { filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge" key = "%{User-Name}" relaxed = no } Loading module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=================================================================================================================================================================================================================================================================
attr_filter attr_filter.accounting_response { filename = "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response" key = "%{User-Name}" relaxed = no } Loaded module rlm_realm
=======================================================================================================================================================================================
Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
========================================================================
realm IPASS { format = "prefix" delimiter = "/" ignore_default = no ignore_null = no } Loading module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
================================================================================================================================================================
realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Loading module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
=======================================================================================================================================================================
realm realmpercent { format = "suffix" delimiter = "%" ignore_default = no ignore_null = no } Loading module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
=========================================================================================================================================================================
realm ntdomain { format = "prefix" delimiter = "\\" ignore_default = no ignore_null = no } Loaded module rlm_detail
====================================================================================================================
Loading module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
==========================================================================
detail { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loaded module rlm_utf8
===========================================================================================================================================================================================================================================
Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
======================================================================
Loading module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
================================================================================
detail auth_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loading module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
===================================================================================================================================================================================================================================================================================================================
detail reply_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loading module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
=========================================================================================================================================================================================================================================================================================================================
detail pre_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loading module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
==================================================================================================================================================================================================================================================================================================================================
detail post_proxy_log { filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d" header = "%t" permissions = 384 locking = no escape_filenames = no log_packet_header = no } Loaded module rlm_chap
=====================================================================================================================================================================================================================================================================
Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
======================================================================
Loaded module rlm_expiration
=============================
Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
==================================================================================
Loaded module rlm_radutmp
==========================
Loading module "sradutmp" from file /etc/freeradius/3.0/mods-enabled/sradutmp
==============================================================================
radutmp sradutmp { filename = "/var/log/freeradius/sradutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 420 caller_id = no } Loaded module rlm_dynamic_clients
======================================================================================================================================================================================================
Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients
============================================================================================
Loaded module rlm_expr
=======================
Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
======================================================================
expr { safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ" } Loading module "echo" from file /etc/freeradius/3.0/mods-enabled/echo
===================================================================================================================================================================================================================
exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = "request" output_pairs = "reply" shell_escape = yes } Loaded module rlm_linelog
========================================================================================================================================================
Loading module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
============================================================================
linelog { filename = "/var/log/freeradius/linelog" escape_filenames = no syslog_severity = "info" permissions = 384 format = "This is a log message for %{User-Name}" reference = "messages.%{%{reply:Packet-Type}:-default}" } Loading module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
===================================================================================================================================================================================================================================================================================================================
linelog log_accounting { filename = "/var/log/freeradius/linelog-accounting" escape_filenames = no syslog_severity = "info" permissions = 384 format = "" reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}" } Loaded module rlm_preprocess
==========================================================================================================================================================================================================================================================
Loading module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
==================================================================================
preprocess { huntgroups = "/etc/freeradius/3.0/mods-config/preprocess/huntgroups" hints = "/etc/freeradius/3.0/mods-config/preprocess/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 } Loaded module rlm_eap
=========================================================================================================================================================================================================================================================================================================================================
Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
====================================================================
eap { default_eap_type = "peap" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 16384 } Loaded module rlm_mschap
===================================================================================================================================================================
Loading module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
==========================================================================
mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = yes passchange { } allow_retry = yes } Loaded module rlm_cache
========================================================================================================================================================
Loading module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
================================================================================
cache cache_eap { driver = "rlm_cache_rbtree" key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}" ttl = 15 max_entries = 0 epoch = 0 add_stats = no } Loaded module rlm_replicate
=======================================================================================================================================================================================
Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate
================================================================================
Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec
======================================================================
exec { wait = no input_pairs = "request" shell_escape = yes timeout = 10 } Loaded module rlm_digest
====================================================================================================
Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest
==========================================================================
Loaded module rlm_files
========================
Loading module "files" from file /etc/freeradius/3.0/mods-enabled/files
========================================================================
files { filename = "/etc/freeradius/3.0/mods-config/files/authorize" acctusersfile = "/etc/freeradius/3.0/mods-config/files/accounting" preproxy_usersfile = "/etc/freeradius/3.0/mods-config/files/pre-proxy" } Loaded module rlm_soh
=======================================================================================================================================================================================================================================
Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
====================================================================
soh { dhcp = yes } Loaded module rlm_pap
=========================================
Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
====================================================================
pap { normalise = yes } Loaded module rlm_unix
===============================================
Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix
======================================================================
unix { radwtmp = "/var/log/freeradius/radwtmp" } Creating attribute Unix-Group Loading module "radutmp" from file /etc/freeradius/3.0/mods-enabled/radutmp
===========================================================================================================================================================
radutmp { filename = "/var/log/freeradius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes permissions = 384 caller_id = yes } Loaded module rlm_logintime
=======================================================================================================================================================================================
Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
================================================================================
logintime { minimum_timeout = 60 } Loaded module rlm_passwd
============================================================
Loading module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
==============================================================================
passwd etc_passwd { filename = "/etc/passwd" format = "*User-Name:Crypt-Password:" delimiter = ":" ignore_nislike = no ignore_empty = yes allow_multiple_keys = no hash_size = 100 } instantiate { } Instantiating module "reject" from file /etc/freeradius/3.0/mods-enabled/always
=====================================================================================================================================================================================================================================================================================
Instantiating module "fail" from file /etc/freeradius/3.0/mods-enabled/always
==============================================================================
Instantiating module "ok" from file /etc/freeradius/3.0/mods-enabled/always
============================================================================
Instantiating module "handled" from file /etc/freeradius/3.0/mods-enabled/always
=================================================================================
Instantiating module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
=================================================================================
Instantiating module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
==================================================================================
Instantiating module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
==================================================================================
Instantiating module "noop" from file /etc/freeradius/3.0/mods-enabled/always
==============================================================================
Instantiating module "updated" from file /etc/freeradius/3.0/mods-enabled/always
=================================================================================
Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=====================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/post-proxy Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=================================================================================================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy Instantiating module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
====================================================================================================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_reject [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT". [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay-USec" found in filter list for realm "DEFAULT". Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_challenge Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
=================================================================================================================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/accounting_response Instantiating module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
====================================================================================================================================================================
Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
===============================================================================
Instantiating module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
=====================================================================================
Instantiating module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
=================================================================================
Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
================================================================================
Instantiating module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
======================================================================================
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output Instantiating module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
===========================================================================================================================================================================
Instantiating module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
===========================================================================================
Instantiating module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
============================================================================================
Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
========================================================================================
Instantiating module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
==================================================================================
Instantiating module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
=========================================================================================
Instantiating module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
========================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/huntgroups reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/hints Instantiating module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
=============================================================================================================================================================================================================================
Linked to sub-module rlm_eap_gtc
=================================
gtc { challenge = "Password: " auth_type = "PAP" } Linked to sub-module rlm_eap_tls
====================================================================================
tls { tls = "tls-common" } tls-config tls-common { verify_depth = 0 ca_path = "/etc/freeradius/3.0/certs" pem_file_type = yes private_key_file = "/etc/ssl/private/XXXXXX.key.pem" certificate_file = "/etc/ssl/certs/XXXXXX.cert.pem" ca_file = "/etc/ssl/certs/ca-certificates.crt" dh_file = "/etc/freeradius/3.0/certs/dh" fragment_size = 1024 include_length = yes auto_chain = yes check_crl = no check_all_crl = no cipher_list = "HIGH" ecdh_curve = "prime256v1" cache { enable = yes lifetime = 24 max_entries = 255 } verify { skip_if_ocsp_ok = no } ocsp { enable = no override_cert_url = yes url = "http://127.0.0.1/ocsp/" use_nonce = yes timeout = 0 softfail = no } } Linked to sub-module rlm_eap_peap
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
peap { tls = "tls-common" default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" soh = no require_client_cert = no } tls: Using cached TLS configuration from previous invocation Linked to sub-module rlm_eap_mschapv2
=======================================================================================================================================================================================================================================================================================================================
mschapv2 { with_ntdomain_hack = no send_error = no } Instantiating module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
=====================================================================================================================================
rlm_mschap (mschap): using internal authentication Instantiating module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
=========================================================================================================================================
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked Instantiating module "files" from file /etc/freeradius/3.0/mods-enabled/files
=========================================================================================================================================================================
reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize reading pairlist file /etc/freeradius/3.0/mods-config/files/accounting reading pairlist file /etc/freeradius/3.0/mods-config/files/pre-proxy Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
=============================================================================================================================================================================================================================================================================================
Instantiating module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
======================================================================================
Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
====================================================================================
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no } # modules radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/3.0/radiusd.conf } # server server default { # from file /etc/freeradius/3.0/sites-enabled/default Loading authenticate {...}
====================================================================================================================================================================================================================================================================================
Loading authorize {...}
========================
Ignoring "sql" (see raddb/mods-available/README.rst) Ignoring "ldap" (see raddb/mods-available/README.rst) Loading preacct {...}
=================================================================================================================================
Loading accounting {...}
=========================
Loading post-proxy {...}
=========================
Loading post-auth {...}
========================
} # server default server inner-tunnel { # from file /etc/freeradius/3.0/sites-enabled/inner-tunnel Loading authenticate {...}
===============================================================================================================================
Loading authorize {...}
========================
Loading session {...}
======================
Loading post-proxy {...}
=========================
Loading post-auth {...}
========================
} # server inner-tunnel radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipaddr = * port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "acct" ipv6addr = :: port = 0 limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } listen { type = "auth" ipaddr = 127.0.0.1 port = 18120 } Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on proxy address * port 53109 Listening on proxy address :: port 50014 Ready to process requests (0) Received Access-Request Id 196 from 192.168.40.21:46541 to 192.168.8.35:1812 length 163 (0) User-Name = "anonymous" (0) NAS-Identifier = "802aa8d3d475" (0) NAS-Port = 0 (0) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (0) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (0) Framed-MTU = 1400 (0) NAS-Port-Type = Wireless-802.11 (0) Connect-Info = "CONNECT 0Mbps 802.11b" (0) EAP-Message = 0x0295000e01616e6f6e796d6f7573 (0) Message-Authenticator = 0x39e811b49e0603269b2b13734db8c4d3 (0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (0) authorize { (0) policy filter_username { (0) if (&User-Name) { (0) if (&User-Name) -> TRUE (0) if (&User-Name) { (0) if (&User-Name =~ / /) { (0) if (&User-Name =~ / /) -> FALSE (0) if (&User-Name =~ /@[^@]@/ ) { (0) if (&User-Name =~ /@[^@]@/ ) -> FALSE(0) if (&User-Name =~ /\.\./ ) { (0) if (&User-Name =~ /\.\./ ) -> FALSE (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (0) if (&User-Name =~ /\.$/) { (0) if (&User-Name =~ /\.$/) -> FALSE (0) if (&User-Name =~ /@\./) { (0) if (&User-Name =~ /@\./) -> FALSE (0) } # if (&User-Name) = notfound (0) } # policy filter_username = notfound (0) [preprocess] = ok (0) [chap] = noop (0) [mschap] = noop (0) [digest] = noop (0) suffix: Checking for suffix after "@" (0) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (0) suffix: No such realm "NULL" (0) [suffix] = noop (0) eap: Peer sent EAP Response (code 2) ID 149 length 14 (0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (0) [eap] = ok (0) } # authorize = ok (0) Found Auth-Type = eap (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) authenticate { (0) eap: Peer sent packet with method EAP Identity (1) (0) eap: Calling submodule eap_peap to process data (0) eap_peap: Initiating new EAP-TLS session (0) eap_peap: [eaptls start] = request (0) eap: Sending EAP Request (code 1) ID 150 length 6 (0) eap: EAP session adding &reply:State = 0xdcff01a1dc691842 (0) [eap] = handled (0) } # authenticate = handled (0) Using Post-Auth-Type Challenge (0) Post-Auth-Type sub-section not found. Ignoring. (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (0) Sent Access-Challenge Id 196 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (0) EAP-Message = 0x019600061920 (0) Message-Authenticator = 0x00000000000000000000000000000000 (0) State = 0xdcff01a1dc6918422343d3b59bbb1704 (0) Finished request Waking up in 4.9 seconds. (1) Received Access-Request Id 197 from 192.168.40.21:46541 to 192.168.8.35:1812 length 320 (1) User-Name = "anonymous" (1) NAS-Identifier = "802aa8d3d475" (1) NAS-Port = 0 (1) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (1) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (1) Framed-MTU = 1400 (1) NAS-Port-Type = Wireless-802.11 (1) Connect-Info = "CONNECT 0Mbps 802.11b" (1) EAP-Message = 0x0296009919800000008f160301008a010000860303ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d834500002acca9cca8c02bc02fc02cc030c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a01000033ff0100010000170000000d001400120403 (1) State = 0xdcff01a1dc6918422343d3b59bbb1704 (1) Message-Authenticator = 0x76ea1adde71a5cdad501da5ad77f89a2 (1) session-state: No cached attributes (1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (1) authorize { (1) policy filter_username { (1) if (&User-Name) { (1) if (&User-Name) -> TRUE (1) if (&User-Name) { (1) if (&User-Name =~ / /) { (1) if (&User-Name =~ / /) -> FALSE (1) if (&User-Name =~ /@[^@]@/ ) { (1) if (&User-Name =~ /@[^@]@/ ) -> FALSE(1) if (&User-Name =~ /\.\./ ) { (1) if (&User-Name =~ /\.\./ ) -> FALSE (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (1) if (&User-Name =~ /\.$/) { (1) if (&User-Name =~ /\.$/) -> FALSE (1) if (&User-Name =~ /@\./) { (1) if (&User-Name =~ /@\./) -> FALSE (1) } # if (&User-Name) = notfound (1) } # policy filter_username = notfound (1) [preprocess] = ok (1) [chap] = noop (1) [mschap] = noop (1) [digest] = noop (1) suffix: Checking for suffix after "@" (1) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (1) suffix: No such realm "NULL" (1) [suffix] = noop (1) eap: Peer sent EAP Response (code 2) ID 150 length 153 (1) eap: Continuing tunnel setup (1) [eap] = ok (1) } # authorize = ok (1) Found Auth-Type = eap (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) authenticate { (1) eap: Expiring EAP session with state 0xdcff01a1dc691842 (1) eap: Finished EAP session with state 0xdcff01a1dc691842 (1) eap: Previous EAP request found for state 0xdcff01a1dc691842, released from the list (1) eap: Peer sent packet with method EAP PEAP (25) (1) eap: Calling submodule eap_peap to process data (1) eap_peap: Continuing EAP-TLS (1) eap_peap: Peer indicated complete TLS record size will be 143 bytes (1) eap_peap: Got complete TLS record (143 bytes) (1) eap_peap: [eaptls verify] = length included (1) eap_peap: (other): before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: TLS_accept: before SSL initialization (1) eap_peap: <<< recv TLS 1.2 [length 008a] (1) eap_peap: TLS_accept: SSLv3/TLS read client hello (1) eap_peap: >>> send TLS 1.2 [length 003d] (1) eap_peap: TLS_accept: SSLv3/TLS write server hello (1) eap_peap: >>> send TLS 1.2 [length 0c06] (1) eap_peap: TLS_accept: SSLv3/TLS write certificate (1) eap_peap: >>> send TLS 1.2 [length 024d] (1) eap_peap: TLS_accept: SSLv3/TLS write key exchange (1) eap_peap: >>> send TLS 1.2 [length 0004] (1) eap_peap: TLS_accept: SSLv3/TLS write server done (1) eap_peap: TLS_accept: Need to read more data: SSLv3/TLS write server done (1) eap_peap: In SSL Handshake Phase (1) eap_peap: In SSL Accept mode (1) eap_peap: [eaptls process] = handled (1) eap: Sending EAP Request (code 1) ID 151 length 1014 (1) eap: EAP session adding &reply:State = 0xdcff01a1dd681842 (1) [eap] = handled (1) } # authenticate = handled (1) Using Post-Auth-Type Challenge (1) Post-Auth-Type sub-section not found. Ignoring. (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (1) Sent Access-Challenge Id 197 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (1) EAP-Message = 0x019703f619c000000ea8160303003d020000390303cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e00cca8000011ff01000100000b000403000102001700001603030c060b000c02000bff00065f3082065b30820443a0030201020202100b300d06092a864886f70d01 (1) Message-Authenticator = 0x00000000000000000000000000000000 (1) State = 0xdcff01a1dd6818422343d3b59bbb1704 (1) Finished request Waking up in 4.9 seconds. (2) Received Access-Request Id 198 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (2) User-Name = "anonymous" (2) NAS-Identifier = "802aa8d3d475" (2) NAS-Port = 0 (2) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (2) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (2) Framed-MTU = 1400 (2) NAS-Port-Type = Wireless-802.11 (2) Connect-Info = "CONNECT 0Mbps 802.11b" (2) EAP-Message = 0x029700061900 (2) State = 0xdcff01a1dd6818422343d3b59bbb1704 (2) Message-Authenticator = 0xe6bd97dd94d0e74610db361cdabe26f1 (2) session-state: No cached attributes (2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (2) authorize { (2) policy filter_username { (2) if (&User-Name) { (2) if (&User-Name) -> TRUE (2) if (&User-Name) { (2) if (&User-Name =~ / /) { (2) if (&User-Name =~ / /) -> FALSE (2) if (&User-Name =~ /@[^@]@/ ) { (2) if (&User-Name =~ /@[^@]@/ ) -> FALSE(2) if (&User-Name =~ /\.\./ ) { (2) if (&User-Name =~ /\.\./ ) -> FALSE (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (2) if (&User-Name =~ /\.$/) { (2) if (&User-Name =~ /\.$/) -> FALSE (2) if (&User-Name =~ /@\./) { (2) if (&User-Name =~ /@\./) -> FALSE (2) } # if (&User-Name) = notfound (2) } # policy filter_username = notfound (2) [preprocess] = ok (2) [chap] = noop (2) [mschap] = noop (2) [digest] = noop (2) suffix: Checking for suffix after "@" (2) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (2) suffix: No such realm "NULL" (2) [suffix] = noop (2) eap: Peer sent EAP Response (code 2) ID 151 length 6 (2) eap: Continuing tunnel setup (2) [eap] = ok (2) } # authorize = ok (2) Found Auth-Type = eap (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) authenticate { (2) eap: Expiring EAP session with state 0xdcff01a1dd681842 (2) eap: Finished EAP session with state 0xdcff01a1dd681842 (2) eap: Previous EAP request found for state 0xdcff01a1dd681842, released from the list (2) eap: Peer sent packet with method EAP PEAP (25) (2) eap: Calling submodule eap_peap to process data (2) eap_peap: Continuing EAP-TLS (2) eap_peap: Peer ACKed our handshake fragment (2) eap_peap: [eaptls verify] = request (2) eap_peap: [eaptls process] = handled (2) eap: Sending EAP Request (code 1) ID 152 length 1010 (2) eap: EAP session adding &reply:State = 0xdcff01a1de671842 (2) [eap] = handled (2) } # authenticate = handled (2) Using Post-Auth-Type Challenge (2) Post-Auth-Type sub-section not found. Ignoring. (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (2) Sent Access-Challenge Id 198 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (2) EAP-Message = 0x019803f2194081890603551d23048181307f8014f5a4fe043082531ea9c9e8894ce371c0d8b76e0ca15ca45a3058310b30090603550406130241553113301106035504080c0a517565656e736c616e6431153013060355040a0c0c4950414e59414e59204c7464311d301b06035504030c144950414e59 (2) Message-Authenticator = 0x00000000000000000000000000000000 (2) State = 0xdcff01a1de6718422343d3b59bbb1704 (2) Finished request Waking up in 4.9 seconds. (3) Received Access-Request Id 199 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (3) User-Name = "anonymous" (3) NAS-Identifier = "802aa8d3d475" (3) NAS-Port = 0 (3) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (3) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (3) Framed-MTU = 1400 (3) NAS-Port-Type = Wireless-802.11 (3) Connect-Info = "CONNECT 0Mbps 802.11b" (3) EAP-Message = 0x029800061900 (3) State = 0xdcff01a1de6718422343d3b59bbb1704 (3) Message-Authenticator = 0xd4e4a6306a82241636efbaedeb77614e (3) session-state: No cached attributes (3) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (3) authorize { (3) policy filter_username { (3) if (&User-Name) { (3) if (&User-Name) -> TRUE (3) if (&User-Name) { (3) if (&User-Name =~ / /) { (3) if (&User-Name =~ / /) -> FALSE (3) if (&User-Name =~ /@[^@]@/ ) { (3) if (&User-Name =~ /@[^@]@/ ) -> FALSE(3) if (&User-Name =~ /\.\./ ) { (3) if (&User-Name =~ /\.\./ ) -> FALSE (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (3) if (&User-Name =~ /\.$/) { (3) if (&User-Name =~ /\.$/) -> FALSE (3) if (&User-Name =~ /@\./) { (3) if (&User-Name =~ /@\./) -> FALSE (3) } # if (&User-Name) = notfound (3) } # policy filter_username = notfound (3) [preprocess] = ok (3) [chap] = noop (3) [mschap] = noop (3) [digest] = noop (3) suffix: Checking for suffix after "@" (3) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (3) suffix: No such realm "NULL" (3) [suffix] = noop (3) eap: Peer sent EAP Response (code 2) ID 152 length 6 (3) eap: Continuing tunnel setup (3) [eap] = ok (3) } # authorize = ok (3) Found Auth-Type = eap (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) authenticate { (3) eap: Expiring EAP session with state 0xdcff01a1de671842 (3) eap: Finished EAP session with state 0xdcff01a1de671842 (3) eap: Previous EAP request found for state 0xdcff01a1de671842, released from the list (3) eap: Peer sent packet with method EAP PEAP (25) (3) eap: Calling submodule eap_peap to process data (3) eap_peap: Continuing EAP-TLS (3) eap_peap: Peer ACKed our handshake fragment (3) eap_peap: [eaptls verify] = request (3) eap_peap: [eaptls process] = handled (3) eap: Sending EAP Request (code 1) ID 153 length 1010 (3) eap: EAP session adding &reply:State = 0xdcff01a1df661842 (3) [eap] = handled (3) } # authenticate = handled (3) Using Post-Auth-Type Challenge (3) Post-Auth-Type sub-section not found. Ignoring. (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (3) Sent Access-Challenge Id 199 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (3) EAP-Message = 0x019903f219403db777b2ab1db344d5c78cff8c6741f67e95299b96815e5bcb66eb71439eb8a99050aa381ef4d9d7cc65154cbd3dcdc50a20d6f4da6c3eedc4a6c4c4adb072c4d5d71a4e6ed7456e5e0c9f73de1367f00dbd34e027282672811a6dd2aecdebd2cb615ccddf147d02b1c65fde6b28ea22f7 (3) Message-Authenticator = 0x00000000000000000000000000000000 (3) State = 0xdcff01a1df6618422343d3b59bbb1704 (3) Finished request Waking up in 4.8 seconds. (4) Received Access-Request Id 200 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (4) User-Name = "anonymous" (4) NAS-Identifier = "802aa8d3d475" (4) NAS-Port = 0 (4) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (4) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (4) Framed-MTU = 1400 (4) NAS-Port-Type = Wireless-802.11 (4) Connect-Info = "CONNECT 0Mbps 802.11b" (4) EAP-Message = 0x029900061900 (4) State = 0xdcff01a1df6618422343d3b59bbb1704 (4) Message-Authenticator = 0x4a07d878ea0ab40860bd41840d9b53d1 (4) session-state: No cached attributes (4) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (4) authorize { (4) policy filter_username { (4) if (&User-Name) { (4) if (&User-Name) -> TRUE (4) if (&User-Name) { (4) if (&User-Name =~ / /) { (4) if (&User-Name =~ / /) -> FALSE (4) if (&User-Name =~ /@[^@]@/ ) { (4) if (&User-Name =~ /@[^@]@/ ) -> FALSE(4) if (&User-Name =~ /\.\./ ) { (4) if (&User-Name =~ /\.\./ ) -> FALSE (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (4) if (&User-Name =~ /\.$/) { (4) if (&User-Name =~ /\.$/) -> FALSE (4) if (&User-Name =~ /@\./) { (4) if (&User-Name =~ /@\./) -> FALSE (4) } # if (&User-Name) = notfound (4) } # policy filter_username = notfound (4) [preprocess] = ok (4) [chap] = noop (4) [mschap] = noop (4) [digest] = noop (4) suffix: Checking for suffix after "@" (4) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (4) suffix: No such realm "NULL" (4) [suffix] = noop (4) eap: Peer sent EAP Response (code 2) ID 153 length 6 (4) eap: Continuing tunnel setup (4) [eap] = ok (4) } # authorize = ok (4) Found Auth-Type = eap (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) authenticate { (4) eap: Expiring EAP session with state 0xdcff01a1df661842 (4) eap: Finished EAP session with state 0xdcff01a1df661842 (4) eap: Previous EAP request found for state 0xdcff01a1df661842, released from the list (4) eap: Peer sent packet with method EAP PEAP (25) (4) eap: Calling submodule eap_peap to process data (4) eap_peap: Continuing EAP-TLS (4) eap_peap: Peer ACKed our handshake fragment (4) eap_peap: [eaptls verify] = request (4) eap_peap: [eaptls process] = handled (4) eap: Sending EAP Request (code 1) ID 154 length 746 (4) eap: EAP session adding &reply:State = 0xdcff01a1d8651842 (4) [eap] = handled (4) } # authenticate = handled (4) Using Post-Auth-Type Challenge (4) Post-Auth-Type sub-section not found. Ignoring. (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (4) Sent Access-Challenge Id 200 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (4) EAP-Message = 0x019a02ea19008fba9616587fb1ea32ee83f2f0972c1cde589ebb9e94a1deba7339756e56e802e9439eb0c62667a97b0b7771ab622fe5422684d07d5f276180e361a9ab2cb3db23c2705d0c12b7d25b66bcacdff1c531817bd650abe21e1ef3df65ca76f81e5cf091d43d31f95c97e8dcaf3269fbc18cfe (4) Message-Authenticator = 0x00000000000000000000000000000000 (4) State = 0xdcff01a1d86518422343d3b59bbb1704 (4) Finished request Waking up in 4.8 seconds. (5) Received Access-Request Id 201 from 192.168.40.21:46541 to 192.168.8.35:1812 length 295 (5) User-Name = "anonymous" (5) NAS-Identifier = "802aa8d3d475" (5) NAS-Port = 0 (5) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (5) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (5) Framed-MTU = 1400 (5) NAS-Port-Type = Wireless-802.11 (5) Connect-Info = "CONNECT 0Mbps 802.11b" (5) EAP-Message = 0x029a0080198000000076160303004610000042410489c8bd0afbba1b5226f36bba36403153a0adc35a301aad07d58b9688b3371475eacc1ad36aa2fa043d225c347d21f1d8d8581073ea0db0c403ad488a53a8f85d140303000101160303002005961f8818b3e5348683646f8a541de9ea5073ce2efa66 (5) State = 0xdcff01a1d86518422343d3b59bbb1704 (5) Message-Authenticator = 0x3311ca3d5bfb4e1796cc1d6c70cb725c (5) session-state: No cached attributes (5) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (5) authorize { (5) policy filter_username { (5) if (&User-Name) { (5) if (&User-Name) -> TRUE (5) if (&User-Name) { (5) if (&User-Name =~ / /) { (5) if (&User-Name =~ / /) -> FALSE (5) if (&User-Name =~ /@[^@]@/ ) { (5) if (&User-Name =~ /@[^@]@/ ) -> FALSE(5) if (&User-Name =~ /\.\./ ) { (5) if (&User-Name =~ /\.\./ ) -> FALSE (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (5) if (&User-Name =~ /\.$/) { (5) if (&User-Name =~ /\.$/) -> FALSE (5) if (&User-Name =~ /@\./) { (5) if (&User-Name =~ /@\./) -> FALSE (5) } # if (&User-Name) = notfound (5) } # policy filter_username = notfound (5) [preprocess] = ok (5) [chap] = noop (5) [mschap] = noop (5) [digest] = noop (5) suffix: Checking for suffix after "@" (5) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (5) suffix: No such realm "NULL" (5) [suffix] = noop (5) eap: Peer sent EAP Response (code 2) ID 154 length 128 (5) eap: Continuing tunnel setup (5) [eap] = ok (5) } # authorize = ok (5) Found Auth-Type = eap (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) authenticate { (5) eap: Expiring EAP session with state 0xdcff01a1d8651842 (5) eap: Finished EAP session with state 0xdcff01a1d8651842 (5) eap: Previous EAP request found for state 0xdcff01a1d8651842, released from the list (5) eap: Peer sent packet with method EAP PEAP (25) (5) eap: Calling submodule eap_peap to process data (5) eap_peap: Continuing EAP-TLS (5) eap_peap: Peer indicated complete TLS record size will be 118 bytes (5) eap_peap: Got complete TLS record (118 bytes) (5) eap_peap: [eaptls verify] = length included (5) eap_peap: TLS_accept: SSLv3/TLS write server done (5) eap_peap: <<< recv TLS 1.2 [length 0046] (5) eap_peap: TLS_accept: SSLv3/TLS read client key exchange (5) eap_peap: TLS_accept: SSLv3/TLS read change cipher spec (5) eap_peap: <<< recv TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS read finished (5) eap_peap: >>> send TLS 1.2 [length 0001] (5) eap_peap: TLS_accept: SSLv3/TLS write change cipher spec (5) eap_peap: >>> send TLS 1.2 [length 0010] (5) eap_peap: TLS_accept: SSLv3/TLS write finished (5) eap_peap: (other): SSL negotiation finished successfully (5) eap_peap: SSL Connection Established (5) eap_peap: [eaptls process] = handled (5) eap: Sending EAP Request (code 1) ID 155 length 49 (5) eap: EAP session adding &reply:State = 0xdcff01a1d9641842 (5) [eap] = handled (5) } # authenticate = handled (5) Using Post-Auth-Type Challenge (5) Post-Auth-Type sub-section not found. Ignoring. (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (5) Sent Access-Challenge Id 201 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (5) EAP-Message = 0x019b003119001403030001011603030020928339ca9a02fb4881ae249f612df4a26df59326e0672ac8e445c34168991d32 (5) Message-Authenticator = 0x00000000000000000000000000000000 (5) State = 0xdcff01a1d96418422343d3b59bbb1704 (5) Finished request Waking up in 4.7 seconds. (6) Received Access-Request Id 202 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173 (6) User-Name = "anonymous" (6) NAS-Identifier = "802aa8d3d475" (6) NAS-Port = 0 (6) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (6) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (6) Framed-MTU = 1400 (6) NAS-Port-Type = Wireless-802.11 (6) Connect-Info = "CONNECT 0Mbps 802.11b" (6) EAP-Message = 0x029b00061900 (6) State = 0xdcff01a1d96418422343d3b59bbb1704 (6) Message-Authenticator = 0xf6be5cee51e32fdacbbef344781223d3 (6) session-state: No cached attributes (6) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (6) authorize { (6) policy filter_username { (6) if (&User-Name) { (6) if (&User-Name) -> TRUE (6) if (&User-Name) { (6) if (&User-Name =~ / /) { (6) if (&User-Name =~ / /) -> FALSE (6) if (&User-Name =~ /@[^@]@/ ) { (6) if (&User-Name =~ /@[^@]@/ ) -> FALSE(6) if (&User-Name =~ /\.\./ ) { (6) if (&User-Name =~ /\.\./ ) -> FALSE (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (6) if (&User-Name =~ /\.$/) { (6) if (&User-Name =~ /\.$/) -> FALSE (6) if (&User-Name =~ /@\./) { (6) if (&User-Name =~ /@\./) -> FALSE (6) } # if (&User-Name) = notfound (6) } # policy filter_username = notfound (6) [preprocess] = ok (6) [chap] = noop (6) [mschap] = noop (6) [digest] = noop (6) suffix: Checking for suffix after "@" (6) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (6) suffix: No such realm "NULL" (6) [suffix] = noop (6) eap: Peer sent EAP Response (code 2) ID 155 length 6 (6) eap: Continuing tunnel setup (6) [eap] = ok (6) } # authorize = ok (6) Found Auth-Type = eap (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) authenticate { (6) eap: Expiring EAP session with state 0xdcff01a1d9641842 (6) eap: Finished EAP session with state 0xdcff01a1d9641842 (6) eap: Previous EAP request found for state 0xdcff01a1d9641842, released from the list (6) eap: Peer sent packet with method EAP PEAP (25) (6) eap: Calling submodule eap_peap to process data (6) eap_peap: Continuing EAP-TLS (6) eap_peap: Peer ACKed our handshake fragment. handshake is finished (6) eap_peap: [eaptls verify] = success (6) eap_peap: [eaptls process] = success (6) eap_peap: Session established. Decoding tunneled attributes (6) eap_peap: PEAP state TUNNEL ESTABLISHED (6) eap: Sending EAP Request (code 1) ID 156 length 32 (6) eap: EAP session adding &reply:State = 0xdcff01a1da631842 (6) [eap] = handled (6) } # authenticate = handled (6) Using Post-Auth-Type Challenge (6) Post-Auth-Type sub-section not found. Ignoring. (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (6) Sent Access-Challenge Id 202 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (6) EAP-Message = 0x019c00201900170303001599b5f4133e2b7766900ad78dd36daf40d396f375f2 (6) Message-Authenticator = 0x00000000000000000000000000000000 (6) State = 0xdcff01a1da6318422343d3b59bbb1704 (6) Finished request Waking up in 4.7 seconds. (7) Received Access-Request Id 203 from 192.168.40.21:46541 to 192.168.8.35:1812 length 203 (7) User-Name = "anonymous" (7) NAS-Identifier = "802aa8d3d475" (7) NAS-Port = 0 (7) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (7) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (7) Framed-MTU = 1400 (7) NAS-Port-Type = Wireless-802.11 (7) Connect-Info = "CONNECT 0Mbps 802.11b" (7) EAP-Message = 0x029c002419001703030019dfbe3664b6ba25228ceeefd1544ec446fce8a53f317c6cdc30 (7) State = 0xdcff01a1da6318422343d3b59bbb1704 (7) Message-Authenticator = 0xe33ca0e8b373f089e411f537f6aa90b8 (7) session-state: No cached attributes (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]@/ ) { (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [preprocess] = ok (7) [chap] = noop (7) [mschap] = noop (7) [digest] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 36 (7) eap: Continuing tunnel setup (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) authenticate { (7) eap: Expiring EAP session with state 0xdcff01a1da631842 (7) eap: Finished EAP session with state 0xdcff01a1da631842 (7) eap: Previous EAP request found for state 0xdcff01a1da631842, released from the list (7) eap: Peer sent packet with method EAP PEAP (25) (7) eap: Calling submodule eap_peap to process data (7) eap_peap: Continuing EAP-TLS (7) eap_peap: [eaptls verify] = ok (7) eap_peap: Done initial handshake (7) eap_peap: [eaptls process] = ok (7) eap_peap: Session established. Decoding tunneled attributes (7) eap_peap: PEAP state WAITING FOR INNER IDENTITY (7) eap_peap: Identity - testuser (7) eap_peap: Got inner identity 'testuser' (7) eap_peap: Setting default EAP type for tunneled EAP session (7) eap_peap: Got tunneled request (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: Setting User-Name to testuser (7) eap_peap: Sending tunneled request to inner-tunnel (7) eap_peap: EAP-Message = 0x029c000d017465737475736572 (7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (7) eap_peap: User-Name = "testuser" (7) Virtual server inner-tunnel received request (7) EAP-Message = 0x029c000d017465737475736572 (7) FreeRADIUS-Proxied-To = 127.0.0.1 (7) User-Name = "testuser" (7) server inner-tunnel { (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authorize { (7) policy filter_username { (7) if (&User-Name) { (7) if (&User-Name) -> TRUE (7) if (&User-Name) { (7) if (&User-Name =~ / /) { (7) if (&User-Name =~ / /) -> FALSE (7) if (&User-Name =~ /@[^@]@/ ) { (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) { (7) if (&User-Name =~ /\.\./ ) -> FALSE (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (7) if (&User-Name =~ /\.$/) { (7) if (&User-Name =~ /\.$/) -> FALSE (7) if (&User-Name =~ /@\./) { (7) if (&User-Name =~ /@\./) -> FALSE (7) } # if (&User-Name) = notfound (7) } # policy filter_username = notfound (7) [chap] = noop (7) [mschap] = noop (7) suffix: Checking for suffix after "@" (7) suffix: No '@' in User-Name = "testuser", looking up realm NULL (7) suffix: No such realm "NULL" (7) [suffix] = noop (7) update control { (7) &Proxy-To-Realm := LOCAL (7) } # update control = noop (7) eap: Peer sent EAP Response (code 2) ID 156 length 13 (7) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (7) [eap] = ok (7) } # authorize = ok (7) Found Auth-Type = eap (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (7) authenticate { (7) eap: Peer sent packet with method EAP Identity (1) (7) eap: Calling submodule eap_mschapv2 to process data (7) eap_mschapv2: Issuing Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 43 (7) eap: EAP session adding &reply:State = 0x73614bc173fc510e (7) [eap] = handled (7) } # authenticate = handled (7) } # server inner-tunnel (7) Virtual server sending reply (7) EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled reply RADIUS code 11 (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132 (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000 (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (7) eap_peap: Got tunneled Access-Challenge (7) eap: Sending EAP Request (code 1) ID 157 length 66 (7) eap: EAP session adding &reply:State = 0xdcff01a1db621842 (7) [eap] = handled (7) } # authenticate = handled (7) Using Post-Auth-Type Challenge (7) Post-Auth-Type sub-section not found. Ignoring. (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (7) Sent Access-Challenge Id 203 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0 (7) EAP-Message = 0x019d004219001703030037dffc0f74fbf5c2a1c1b4e813f1bedcd02a226b0d28b1fcd482c11a0c445a5769fb76b4160a1592400e1e3132b40adfcd8487ab156e0774 (7) Message-Authenticator = 0x00000000000000000000000000000000 (7) State = 0xdcff01a1db6218422343d3b59bbb1704 (7) Finished request Waking up in 4.6 seconds. (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257 (8) User-Name = "anonymous" (8) NAS-Identifier = "802aa8d3d475" (8) NAS-Port = 0 (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN" (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB" (8) Framed-MTU = 1400 (8) NAS-Port-Type = Wireless-802.11 (8) Connect-Info = "CONNECT 0Mbps 802.11b" (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5 (8) State = 0xdcff01a1db6218422343d3b59bbb1704 (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) if (&User-Name) -> TRUE (8) if (&User-Name) { (8) if (&User-Name =~ / /) { (8) if (&User-Name =~ / /) -> FALSE (8) if (&User-Name =~ /@[^@]@/ ) { (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) { (8) if (&User-Name =~ /\.\./ ) -> FALSE (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) { (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE (8) if (&User-Name =~ /\.$/) { (8) if (&User-Name =~ /\.$/) -> FALSE (8) if (&User-Name =~ /@\./) { (8) if (&User-Name =~ /@\./) -> FALSE (8) } # if (&User-Name) = notfound (8) } # policy filter_username = notfound (8) [preprocess] = ok (8) [chap] = noop (8) [mschap] = noop (8) [digest] = noop (8) suffix: Checking for suffix after "@" (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL (8) suffix: No such realm "NULL" (8) [suffix] = noop (8) eap: Peer sent EAP Response (code 2) ID 157 length 90 (8) eap: Continuing tunnel setup (8) [eap] = ok (8) } # authorize = ok (8) Found Auth-Type = eap (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (8) authenticate { (8) eap: Expiring EAP session with state 0x73614bc173fc510e (8) eap: Finished EAP session with state 0xdcff01a1db621842 (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list (8) eap: Peer sent packet with method EAP PEAP (25) (8) eap: Calling submodule eap_peap to process data (8) eap_peap: Continuing EAP-TLS (8) eap_peap: [eaptls verify] = ok (8) eap_peap: Done initial handshake (8) eap_peap: [eaptls process] = ok (8) eap_peap: Session established. Decoding tunneled attributes (8) eap_peap: PEAP state phase2 (8) eap_peap: EAP method MSCHAPv2 (26) (8) eap_peap: Got tunneled request (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: Setting User-Name to testuser (8) eap_peap: Sending tunneled request to inner-tunnel (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1 (8) eap_peap: User-Name = "testuser" (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) Virtual server inner-tunnel received request (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572 (8) FreeRADIUS-Proxied-To = 127.0.0.1 (8) User-Name = "testuser" (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee (8) server inner-tunnel { (8) session-state: No cached attributes (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel (8) authorize { (8) policy filter_username { (8) if (&User-Name) { (8) List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (1)
-
S.