Thanks a lot for your answers.
To avoid a hard dependency on the LDAP server being up / reachable for FreeRADIUS to start, it is often best to have
start = 0
in pool definitions - unless FreeRADIUS needs to read something from that source in order to start (typically SQL databases where the nas table is in use for clients lists)
This would stop FreeRADIUS from launching 5 x 30 connections at startup, but rather connections would ramp up as required.
works great!
base_dn = "cn=Users,%{Base-DN}"
Where Base-DN is a custom attribute you define in the local dictionary and then populate based on the user's realm. The most efficient method to do that is likely to be an instance of the files module keyed off the realm, since that is a hash lookup, though you could do a bunch of if statements to test the principle.
We managed to get it working with a ‘domains’ file module like you suggested. Awesome, the config looks really nice and simple now. I had to do a few tricks, probably because I don’t understand FreeRADIUS & erlang enough. I noticed that my domains file changes the control, with the debug_all statement. But for LDAP I need to change the request, so I did this in my google inner tunnel file (debug file below): domains # my file module which uses a file with lines like this domain1.com Base-DN1 := “domain", Base-DN2 := “nl” and is matched with key Stripped-User-domain #debug_all if (&User-Password && !control:Auth-Type) { update control { Auth-Type = ldap_google } update request { # the domains change the control, but for LDAP we need to change the request &Base-DN1 := control:Base-DN1 &Base-DN2 := control:Base-DN2 } It works perfectly for me, but if there’s a better way I would like to try to implement that of course..
If the user is being prompted to accept the server certificate that suggests that something is not quite right about the deployment of the connection.
Ok, I probably messed something up with the cert’s then. I will debug that later. Anyway, thanks again for the quick support. For completeness, the debug file. FreeRADIUS Version 3.2.2 Copyright (C) 1999-2022 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/dictionary including configuration file /etc/freeradius/radiusd.conf including configuration file /etc/freeradius/proxy.conf including configuration file /etc/freeradius/clients.conf including files in directory /etc/freeradius/mods-enabled/ including configuration file /etc/freeradius/mods-enabled/totp including configuration file /etc/freeradius/mods-enabled/utf8 including configuration file /etc/freeradius/mods-enabled/expiration including configuration file /etc/freeradius/mods-enabled/digest including configuration file /etc/freeradius/mods-enabled/always including configuration file /etc/freeradius/mods-enabled/cache_auth including configuration file /etc/freeradius/mods-enabled/domains including configuration file /etc/freeradius/mods-enabled/passwd including configuration file /etc/freeradius/mods-enabled/realm including configuration file /etc/freeradius/mods-enabled/linelog including configuration file /etc/freeradius/mods-enabled/ntlm_auth including configuration file /etc/freeradius/mods-enabled/replicate including configuration file /etc/freeradius/mods-enabled/logintime including configuration file /etc/freeradius/mods-enabled/sradutmp including configuration file /etc/freeradius/mods-enabled/pap including configuration file /etc/freeradius/mods-enabled/date including configuration file /etc/freeradius/mods-enabled/eap including configuration file /etc/freeradius/mods-enabled/ldap_google_nobasedn including configuration file /etc/freeradius/mods-enabled/mschap including configuration file /etc/freeradius/mods-enabled/detail including configuration file /etc/freeradius/mods-enabled/soh including configuration file /etc/freeradius/mods-enabled/chap including configuration file /etc/freeradius/mods-enabled/files including configuration file /etc/freeradius/mods-enabled/detail.log including configuration file /etc/freeradius/mods-enabled/exec including configuration file /etc/freeradius/mods-enabled/unpack including configuration file /etc/freeradius/mods-enabled/dynamic_clients including configuration file /etc/freeradius/mods-enabled/preprocess including configuration file /etc/freeradius/mods-enabled/radutmp including configuration file /etc/freeradius/mods-enabled/expr including configuration file /etc/freeradius/mods-enabled/echo including configuration file /etc/freeradius/mods-enabled/attr_filter including configuration file /etc/freeradius/mods-enabled/unix including files in directory /etc/freeradius/policy.d/ including configuration file /etc/freeradius/policy.d/abfab-tr including configuration file /etc/freeradius/policy.d/operator-name including configuration file /etc/freeradius/policy.d/canonicalization including configuration file /etc/freeradius/policy.d/moonshot-targeted-ids including configuration file /etc/freeradius/policy.d/debug including configuration file /etc/freeradius/policy.d/eap including configuration file /etc/freeradius/policy.d/accounting including configuration file /etc/freeradius/policy.d/control including configuration file /etc/freeradius/policy.d/cui including configuration file /etc/freeradius/policy.d/rfc7542 including configuration file /etc/freeradius/policy.d/dhcp including configuration file /etc/freeradius/policy.d/filter including files in directory /etc/freeradius/sites-enabled/ including configuration file /etc/freeradius/sites-enabled/default including configuration file /etc/freeradius/sites-enabled/google-ldap-auth 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 postauth_client_lost = no pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no 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 { nonblock = no 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 } recv_coa { } } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } realm domain1.nl { } 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 vpn { ipaddr = 172.16.34.0/24 require_message_authenticator = no secret = <<< secret >>> limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } client heli { ipaddr = 172.16.210.0/24 require_message_authenticator = no secret = <<< secret >>> limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } Debugger not attached systemd watchdog is disabled # 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 # Creating Auth-Type = ldap_google # Creating Autz-Type = New-TLS-Connection radiusd: #### Instantiating modules #### modules { # Loaded module rlm_totp # Loading module "totp" from file /etc/freeradius/mods-enabled/totp # Loaded module rlm_utf8 # Loading module "utf8" from file /etc/freeradius/mods-enabled/utf8 # Loaded module rlm_expiration # Loading module "expiration" from file /etc/freeradius/mods-enabled/expiration # Loaded module rlm_digest # Loading module "digest" from file /etc/freeradius/mods-enabled/digest # Loaded module rlm_always # Loading module "reject" from file /etc/freeradius/mods-enabled/always always reject { rcode = "reject" simulcount = 0 mpp = no } # Loading module "fail" from file /etc/freeradius/mods-enabled/always always fail { rcode = "fail" simulcount = 0 mpp = no } # Loading module "ok" from file /etc/freeradius/mods-enabled/always always ok { rcode = "ok" simulcount = 0 mpp = no } # Loading module "handled" from file /etc/freeradius/mods-enabled/always always handled { rcode = "handled" simulcount = 0 mpp = no } # Loading module "invalid" from file /etc/freeradius/mods-enabled/always always invalid { rcode = "invalid" simulcount = 0 mpp = no } # Loading module "userlock" from file /etc/freeradius/mods-enabled/always always userlock { rcode = "userlock" simulcount = 0 mpp = no } # Loading module "notfound" from file /etc/freeradius/mods-enabled/always always notfound { rcode = "notfound" simulcount = 0 mpp = no } # Loading module "noop" from file /etc/freeradius/mods-enabled/always always noop { rcode = "noop" simulcount = 0 mpp = no } # Loading module "updated" from file /etc/freeradius/mods-enabled/always always updated { rcode = "updated" simulcount = 0 mpp = no } # Loaded module rlm_cache # Loading module "cache_auth_accept" from file /etc/freeradius/mods-enabled/cache_auth cache cache_auth_accept { driver = "rlm_cache_rbtree" key = "%{md5:%{%{Stripped-User-Name}:-%{User-Name}}%{User-Password}}" ttl = 7200 max_entries = 0 epoch = 0 add_stats = no } # Loading module "cache_auth_reject" from file /etc/freeradius/mods-enabled/cache_auth cache cache_auth_reject { driver = "rlm_cache_rbtree" key = "%{md5:%{Calling-Station-Id}%{Stripped-User-Name}%{User-Password}}" ttl = 3600 max_entries = 0 epoch = 0 add_stats = no } # Loading module "cache_ldap_user_dn" from file /etc/freeradius/mods-enabled/cache_auth cache cache_ldap_user_dn { driver = "rlm_cache_rbtree" key = "%{Stripped-User-Name}" ttl = 86400 max_entries = 0 epoch = 0 add_stats = no } # Loaded module rlm_files # Loading module "domains" from file /etc/freeradius/mods-enabled/domains files domains { filename = "/etc/freeradius/mods-config/domains/domains" key = "%{Stripped-User-domain}" } # Loaded module rlm_passwd # Loading module "etc_passwd" from file /etc/freeradius/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 } # Loaded module rlm_realm # Loading module "IPASS" from file /etc/freeradius/mods-enabled/realm realm IPASS { format = "prefix" delimiter = "/" ignore_default = no ignore_null = no } # Loading module "suffix" from file /etc/freeradius/mods-enabled/realm realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } # Loading module "bangpath" from file /etc/freeradius/mods-enabled/realm realm bangpath { format = "prefix" delimiter = "!" ignore_default = no ignore_null = no } # Loading module "realmpercent" from file /etc/freeradius/mods-enabled/realm realm realmpercent { format = "suffix" delimiter = "%" ignore_default = no ignore_null = no } # Loading module "ntdomain" from file /etc/freeradius/mods-enabled/realm realm ntdomain { format = "prefix" delimiter = "\\" ignore_default = no ignore_null = no } # Loaded module rlm_linelog # Loading module "linelog" from file /etc/freeradius/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/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_exec # Loading module "ntlm_auth" from file /etc/freeradius/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_replicate # Loading module "replicate" from file /etc/freeradius/mods-enabled/replicate # Loaded module rlm_logintime # Loading module "logintime" from file /etc/freeradius/mods-enabled/logintime logintime { minimum_timeout = 60 } # Loaded module rlm_radutmp # Loading module "sradutmp" from file /etc/freeradius/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_pap # Loading module "pap" from file /etc/freeradius/mods-enabled/pap pap { normalise = yes } # Loaded module rlm_date # Loading module "date" from file /etc/freeradius/mods-enabled/date date { format = "%b %e %Y %H:%M:%S %Z" utc = no } # Loading module "wispr2date" from file /etc/freeradius/mods-enabled/date date wispr2date { format = "%Y-%m-%dT%H:%M:%S" utc = no } # Loaded module rlm_eap # Loading module "eap" from file /etc/freeradius/mods-enabled/eap eap { default_eap_type = "ttls" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 16384 } # Loaded module rlm_ldap # Loading module "ldap_google" from file /etc/freeradius/mods-enabled/ldap_google_nobasedn ldap ldap_google { server = "ldaps://ldap.google.com:636/" identity = "EnchantedC" password = <<< secret >>> sasl { } user_dn = "LDAP-UserDn" user { scope = "sub" access_positive = yes sasl { } } group { filter = "(objectClass=posixGroup)" scope = "sub" name_attribute = "cn" membership_attribute = "memberOf" cacheable_name = no cacheable_dn = no allow_dangling_group_ref = no } client { scope = "sub" base_dn = "" } profile { } options { ldap_debug = 0 chase_referrals = no net_timeout = 3 res_timeout = 10 srv_timelimit = 3 idle = 60 probes = 3 interval = 3 } tls { certificate_file = "/etc/freeradius/certs/ldap-client.crt" private_key_file = "/etc/freeradius/certs/ldap-client.key" start_tls = no require_cert = "allow" } } Creating attribute ldap_google-LDAP-Group # Loaded module rlm_mschap # Loading module "mschap" from file /etc/freeradius/mods-enabled/mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = yes passchange { } allow_retry = yes winbind_retry_with_normalised_username = no } # Loaded module rlm_detail # Loading module "detail" from file /etc/freeradius/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_soh # Loading module "soh" from file /etc/freeradius/mods-enabled/soh soh { dhcp = yes } # Loaded module rlm_chap # Loading module "chap" from file /etc/freeradius/mods-enabled/chap # Loading module "files" from file /etc/freeradius/mods-enabled/files files { filename = "/etc/freeradius/mods-config/files/authorize" acctusersfile = "/etc/freeradius/mods-config/files/accounting" preproxy_usersfile = "/etc/freeradius/mods-config/files/pre-proxy" } # Loading module "auth_log" from file /etc/freeradius/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/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/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/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 } # Loading module "exec" from file /etc/freeradius/mods-enabled/exec exec { wait = no input_pairs = "request" shell_escape = yes timeout = 10 } # Loaded module rlm_unpack # Loading module "unpack" from file /etc/freeradius/mods-enabled/unpack # Loaded module rlm_dynamic_clients # Loading module "dynamic_clients" from file /etc/freeradius/mods-enabled/dynamic_clients # Loaded module rlm_preprocess # Loading module "preprocess" from file /etc/freeradius/mods-enabled/preprocess preprocess { huntgroups = "/etc/freeradius/mods-config/preprocess/huntgroups" hints = "/etc/freeradius/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 } # Loading module "radutmp" from file /etc/freeradius/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_expr # Loading module "expr" from file /etc/freeradius/mods-enabled/expr expr { safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ" } # Loading module "echo" from file /etc/freeradius/mods-enabled/echo exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = "request" output_pairs = "reply" shell_escape = yes } # Loaded module rlm_attr_filter # Loading module "attr_filter.post-proxy" from file /etc/freeradius/mods-enabled/attr_filter attr_filter attr_filter.post-proxy { filename = "/etc/freeradius/mods-config/attr_filter/post-proxy" key = "%{Realm}" relaxed = no } # Loading module "attr_filter.pre-proxy" from file /etc/freeradius/mods-enabled/attr_filter attr_filter attr_filter.pre-proxy { filename = "/etc/freeradius/mods-config/attr_filter/pre-proxy" key = "%{Realm}" relaxed = no } # Loading module "attr_filter.access_reject" from file /etc/freeradius/mods-enabled/attr_filter attr_filter attr_filter.access_reject { filename = "/etc/freeradius/mods-config/attr_filter/access_reject" key = "%{User-Name}" relaxed = no } # Loading module "attr_filter.access_challenge" from file /etc/freeradius/mods-enabled/attr_filter attr_filter attr_filter.access_challenge { filename = "/etc/freeradius/mods-config/attr_filter/access_challenge" key = "%{User-Name}" relaxed = no } # Loading module "attr_filter.accounting_response" from file /etc/freeradius/mods-enabled/attr_filter attr_filter attr_filter.accounting_response { filename = "/etc/freeradius/mods-config/attr_filter/accounting_response" key = "%{User-Name}" relaxed = no } # Loading module "attr_filter.coa" from file /etc/freeradius/mods-enabled/attr_filter attr_filter attr_filter.coa { filename = "/etc/freeradius/mods-config/attr_filter/coa" key = "%{User-Name}" relaxed = no } # Loaded module rlm_unix # Loading module "unix" from file /etc/freeradius/mods-enabled/unix unix { radwtmp = "/var/log/freeradius/radwtmp" } Creating attribute Unix-Group instantiate { } # Instantiating module "expiration" from file /etc/freeradius/mods-enabled/expiration # Instantiating module "reject" from file /etc/freeradius/mods-enabled/always # Instantiating module "fail" from file /etc/freeradius/mods-enabled/always # Instantiating module "ok" from file /etc/freeradius/mods-enabled/always # Instantiating module "handled" from file /etc/freeradius/mods-enabled/always # Instantiating module "invalid" from file /etc/freeradius/mods-enabled/always # Instantiating module "userlock" from file /etc/freeradius/mods-enabled/always # Instantiating module "notfound" from file /etc/freeradius/mods-enabled/always # Instantiating module "noop" from file /etc/freeradius/mods-enabled/always # Instantiating module "updated" from file /etc/freeradius/mods-enabled/always # Instantiating module "cache_auth_accept" from file /etc/freeradius/mods-enabled/cache_auth rlm_cache (cache_auth_accept): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked # Instantiating module "cache_auth_reject" from file /etc/freeradius/mods-enabled/cache_auth rlm_cache (cache_auth_reject): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked # Instantiating module "cache_ldap_user_dn" from file /etc/freeradius/mods-enabled/cache_auth rlm_cache (cache_ldap_user_dn): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked # Instantiating module "domains" from file /etc/freeradius/mods-enabled/domains reading pairlist file /etc/freeradius/mods-config/domains/domains # Instantiating module "etc_passwd" from file /etc/freeradius/mods-enabled/passwd rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no # Instantiating module "IPASS" from file /etc/freeradius/mods-enabled/realm # Instantiating module "suffix" from file /etc/freeradius/mods-enabled/realm # Instantiating module "bangpath" from file /etc/freeradius/mods-enabled/realm # Instantiating module "realmpercent" from file /etc/freeradius/mods-enabled/realm # Instantiating module "ntdomain" from file /etc/freeradius/mods-enabled/realm # Instantiating module "linelog" from file /etc/freeradius/mods-enabled/linelog # Instantiating module "log_accounting" from file /etc/freeradius/mods-enabled/linelog # Instantiating module "logintime" from file /etc/freeradius/mods-enabled/logintime # Instantiating module "pap" from file /etc/freeradius/mods-enabled/pap # Instantiating module "eap" from file /etc/freeradius/mods-enabled/eap # Linked to sub-module rlm_eap_md5 # 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/certs" pem_file_type = yes private_key_file = "/etc/freeradius/certs/server.pem" certificate_file = "/etc/freeradius/certs/server.pem" ca_file = "/etc/freeradius/certs/ca.pem" private_key_password = <<< secret >>> fragment_size = 1024 include_length = yes auto_chain = yes check_crl = no check_all_crl = no ca_path_reload_interval = 0 cipher_list = "DEFAULT" cipher_server_preference = no reject_unknown_intermediate_ca = no ecdh_curve = "" tls_max_version = "1.2" tls_min_version = "1.2" cache { enable = no 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_ttls ttls { tls = "tls-common" default_eap_type = "gtc" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes require_client_cert = no } tls: Using cached TLS configuration from previous invocation # 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 "ldap_google" from file /etc/freeradius/mods-enabled/ldap_google_nobasedn rlm_ldap: libldap vendor: OpenLDAP, version: 20513 rlm_ldap (ldap_google): Couldn't find configuration for accounting, will return NOOP for calls from this section rlm_ldap (ldap_google): Couldn't find configuration for post-auth, will return NOOP for calls from this section rlm_ldap (ldap_google): Initialising connection pool pool { start = 0 min = 3 max = 32 spare = 10 uses = 0 lifetime = 0 cleanup_interval = 30 idle_timeout = 60 retry_delay = 30 spread = no } # Instantiating module "mschap" from file /etc/freeradius/mods-enabled/mschap rlm_mschap (mschap): using internal authentication # Instantiating module "detail" from file /etc/freeradius/mods-enabled/detail # Instantiating module "files" from file /etc/freeradius/mods-enabled/files reading pairlist file /etc/freeradius/mods-config/files/authorize reading pairlist file /etc/freeradius/mods-config/files/accounting reading pairlist file /etc/freeradius/mods-config/files/pre-proxy # Instantiating module "auth_log" from file /etc/freeradius/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/mods-enabled/detail.log # Instantiating module "pre_proxy_log" from file /etc/freeradius/mods-enabled/detail.log # Instantiating module "post_proxy_log" from file /etc/freeradius/mods-enabled/detail.log # Instantiating module "preprocess" from file /etc/freeradius/mods-enabled/preprocess reading pairlist file /etc/freeradius/mods-config/preprocess/huntgroups reading pairlist file /etc/freeradius/mods-config/preprocess/hints # Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/mods-enabled/attr_filter reading pairlist file /etc/freeradius/mods-config/attr_filter/post-proxy # Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/mods-enabled/attr_filter reading pairlist file /etc/freeradius/mods-config/attr_filter/pre-proxy # Instantiating module "attr_filter.access_reject" from file /etc/freeradius/mods-enabled/attr_filter reading pairlist file /etc/freeradius/mods-config/attr_filter/access_reject # Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/mods-enabled/attr_filter reading pairlist file /etc/freeradius/mods-config/attr_filter/access_challenge # Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/mods-enabled/attr_filter reading pairlist file /etc/freeradius/mods-config/attr_filter/accounting_response # Instantiating module "attr_filter.coa" from file /etc/freeradius/mods-enabled/attr_filter reading pairlist file /etc/freeradius/mods-config/attr_filter/coa } # modules radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/radiusd.conf } # server server default { # from file /etc/freeradius/sites-enabled/default # Loading authenticate {...} Compiling Auth-Type PAP for attr Auth-Type Compiling Auth-Type CHAP for attr Auth-Type Compiling Auth-Type MS-CHAP for attr Auth-Type Compiling Auth-Type ldap_google for attr Auth-Type # Loading authorize {...} Ignoring "sql" (see raddb/mods-available/README.rst) Ignoring "ldap" (see raddb/mods-available/README.rst) Compiling Autz-Type New-TLS-Connection for attr Autz-Type # Loading preacct {...} # Loading accounting {...} # Loading post-proxy {...} # Loading post-auth {...} Compiling Post-Auth-Type REJECT for attr Post-Auth-Type Compiling Post-Auth-Type Challenge for attr Post-Auth-Type Compiling Post-Auth-Type Client-Lost for attr Post-Auth-Type } # server default server inner-tunnel { # from file /etc/freeradius/sites-enabled/google-ldap-auth # Loading authenticate {...} Compiling Auth-Type ldap_google for attr Auth-Type # Loading authorize {...} # Loading post-auth {...} Compiling Post-Auth-Type REJECT for attr Post-Auth-Type } # 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 = 18123 } 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 18123 bound to server inner-tunnel Listening on proxy address * port 37814 Listening on proxy address :: port 43676 Ready to process requests (0) Received Access-Request Id 0 from 172.16.34.15:50633 to 172.16.30.16:1812 length 89 (0) User-Name = "user1@domain2.nl" (0) EAP-Message = 0x028e001a0162697477617264656e40656c656d656e74732e6e6c (0) Message-Authenticator = 0x1420d46f2e831314745261d32626fbf8 (0) # Executing section authorize from file /etc/freeradius/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: Looking up realm "domain2.nl" for User-Name = "user1@domain2.nl" (0) suffix: No such realm "domain2.nl" (0) [suffix] = noop (0) eap: Peer sent EAP Response (code 2) ID 142 length 26 (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/sites-enabled/default (0) authenticate { (0) eap: Peer sent packet with method EAP Identity (1) (0) eap: Calling submodule eap_ttls to process data (0) eap_ttls: (TLS) Initiating new session (0) eap: Sending EAP Request (code 1) ID 143 length 6 (0) eap: EAP session adding &reply:State = 0x778c2b0577033e7c (0) [eap] = handled (0) } # authenticate = handled (0) Using Post-Auth-Type Challenge (0) # Executing group from file /etc/freeradius/sites-enabled/default (0) Challenge { ... } # empty sub-section is ignored (0) session-state: Saving cached attributes (0) Framed-MTU = 994 (0) Sent Access-Challenge Id 0 from 172.16.30.16:1812 to 172.16.34.15:50633 length 64 (0) EAP-Message = 0x018f00061520 (0) Message-Authenticator = 0x00000000000000000000000000000000 (0) State = 0x778c2b0577033e7ccf95ec63a9d740e5 (0) Finished request Waking up in 4.9 seconds. (1) Received Access-Request Id 1 from 172.16.34.15:50633 to 172.16.30.16:1812 length 277 (1) User-Name = "user1@domain2.nl" (1) EAP-Message = 0x028f00c4150016030100b9010000b503034cad063747f3d214771501eb2e142abb885757ecee7848c5485eb50329933154000038c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff01000054000b000403000102000a000c000a001d0017001e001900180016000000170000000d0030002e040305030603080708080809080a080b080408050806040105010601030302030301020103020202040205020602 (1) State = 0x778c2b0577033e7ccf95ec63a9d740e5 (1) Message-Authenticator = 0x2ed999019f135845e853d17f856593fc (1) Restoring &session-state (1) &session-state:Framed-MTU = 994 (1) # Executing section authorize from file /etc/freeradius/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: Looking up realm "domain2.nl" for User-Name = "user1@domain2.nl" (1) suffix: No such realm "domain2.nl" (1) [suffix] = noop (1) eap: Peer sent EAP Response (code 2) ID 143 length 196 (1) eap: Continuing tunnel setup (1) [eap] = ok (1) } # authorize = ok (1) Found Auth-Type = eap (1) # Executing group from file /etc/freeradius/sites-enabled/default (1) authenticate { (1) eap: Expiring EAP session with state 0x778c2b0577033e7c (1) eap: Finished EAP session with state 0x778c2b0577033e7c (1) eap: Previous EAP request found for state 0x778c2b0577033e7c, released from the list (1) eap: Peer sent packet with method EAP TTLS (21) (1) eap: Calling submodule eap_ttls to process data (1) eap_ttls: Authenticate (1) eap_ttls: (TLS) EAP Got final fragment (190 bytes) (1) eap_ttls: WARNING: (TLS) EAP Total received record fragments (190 bytes), does not equal expected expected data length (0 bytes) (1) eap_ttls: (TLS) EAP Done initial handshake (1) eap_ttls: (TLS) Handshake state - before SSL initialization (1) eap_ttls: (TLS) Handshake state - Server before SSL initialization (1) eap_ttls: (TLS) Handshake state - Server before SSL initialization (1) eap_ttls: (TLS) recv TLS 1.3 Handshake, ClientHello (1) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS read client hello (1) eap_ttls: (TLS) send TLS 1.2 Handshake, ServerHello (1) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write server hello (1) eap_ttls: (TLS) send TLS 1.2 Handshake, Certificate (1) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write certificate (1) eap_ttls: (TLS) send TLS 1.2 Handshake, ServerKeyExchange (1) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write key exchange (1) eap_ttls: (TLS) send TLS 1.2 Handshake, ServerHelloDone (1) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write server done (1) eap_ttls: (TLS) Server : Need to read more data: SSLv3/TLS write server done (1) eap_ttls: (TLS) In Handshake Phase (1) eap: Sending EAP Request (code 1) ID 144 length 1004 (1) eap: EAP session adding &reply:State = 0x778c2b05761c3e7c (1) [eap] = handled (1) } # authenticate = handled (1) Using Post-Auth-Type Challenge (1) # Executing group from file /etc/freeradius/sites-enabled/default (1) Challenge { ... } # empty sub-section is ignored (1) session-state: Saving cached attributes (1) Framed-MTU = 994 (1) TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (1) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (1) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (1) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (1) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (1) Sent Access-Challenge Id 1 from 172.16.30.16:1812 to 172.16.34.15:50633 length 1068 (1) EAP-Message = 0x019003ec15c000000adb160303003d020000390303c64292d0d4ae40955ed8e1508dcf471981bb8c1ce170ad05e5686446201abc1700c030000011ff01000100000b00040300010200170000160303095a0b0009560009530004433082043f30820327a003020102020103300d06092a864886f70d01010b0500308197310b3009060355040613024e4c310b300906035504080c024e483112301006035504070c09416d7374657264616d31143012060355040a0c0b4d616b65727374726565743125302306092a864886f70d0109011616737570706f7274406d616b65727374726565742e6e6c312a302806035504030c214d616b657273747265657420436572746966696361746520417574686f72697479301e170d3233303232363232303334325a170d3333303232333232303334325a308180310b3009060355040613024e4c310b300906035504080c024e4831143012060355040a0c0b4d616b65727374726565743127302506035504030c1e4d616b6572 (1) Message-Authenticator = 0x00000000000000000000000000000000 (1) State = 0x778c2b05761c3e7ccf95ec63a9d740e5 (1) Finished request Waking up in 4.9 seconds. (2) Received Access-Request Id 2 from 172.16.34.15:50633 to 172.16.30.16:1812 length 87 (2) User-Name = "user1@domain2.nl" (2) EAP-Message = 0x029000061500 (2) State = 0x778c2b05761c3e7ccf95ec63a9d740e5 (2) Message-Authenticator = 0x1cd12622ffbdafbf7591f983c314a1e6 (2) Restoring &session-state (2) &session-state:Framed-MTU = 994 (2) &session-state:TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (2) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (2) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (2) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (2) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (2) # Executing section authorize from file /etc/freeradius/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: Looking up realm "domain2.nl" for User-Name = "user1@domain2.nl" (2) suffix: No such realm "domain2.nl" (2) [suffix] = noop (2) eap: Peer sent EAP Response (code 2) ID 144 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/sites-enabled/default (2) authenticate { (2) eap: Expiring EAP session with state 0x778c2b05761c3e7c (2) eap: Finished EAP session with state 0x778c2b05761c3e7c (2) eap: Previous EAP request found for state 0x778c2b05761c3e7c, released from the list (2) eap: Peer sent packet with method EAP TTLS (21) (2) eap: Calling submodule eap_ttls to process data (2) eap_ttls: Authenticate (2) eap_ttls: (TLS) Peer ACKed our handshake fragment (2) eap: Sending EAP Request (code 1) ID 145 length 1004 (2) eap: EAP session adding &reply:State = 0x778c2b05751d3e7c (2) [eap] = handled (2) } # authenticate = handled (2) Using Post-Auth-Type Challenge (2) # Executing group from file /etc/freeradius/sites-enabled/default (2) Challenge { ... } # empty sub-section is ignored (2) session-state: Saving cached attributes (2) Framed-MTU = 994 (2) TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (2) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (2) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (2) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (2) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (2) Sent Access-Challenge Id 2 from 172.16.30.16:1812 to 172.16.34.15:50633 length 1068 (2) EAP-Message = 0x019103ec15c000000adb0826f896e334d6f401b25e370421bfccb0871564fdf64310b1fb6f777ab295a604eb73e81d121e417cb4b59fb3118b04b35cbf8833e69dc349d2d854478749a8960382dd300e9cbcaefdbb347b8456443a0246300bbc3af40c55ffa061ede3703b01783841bedbaca6694741de4dfe03829b649d4f4b506d7d4c99d23d3de500720813e1178891eae939f6040b2b0aca50560a3fcbb7cde1dc40e954955ff72935df911233adb6aa6c5d44a02b280f1c5efe00050a30820506308203eea00302010202146dfa3f78fb56b61806297ce2ced5c7f09b2699d8300d06092a864886f70d01010b0500308197310b3009060355040613024e4c310b300906035504080c024e483112301006035504070c09416d7374657264616d31143012060355040a0c0b4d616b65727374726565743125302306092a864886f70d0109011616737570706f7274406d616b65727374726565742e6e6c312a302806035504030c214d616b65727374726565742043 (2) Message-Authenticator = 0x00000000000000000000000000000000 (2) State = 0x778c2b05751d3e7ccf95ec63a9d740e5 (2) Finished request Waking up in 4.9 seconds. (3) Received Access-Request Id 3 from 172.16.34.15:50633 to 172.16.30.16:1812 length 87 (3) User-Name = "user1@domain2.nl" (3) EAP-Message = 0x029100061500 (3) State = 0x778c2b05751d3e7ccf95ec63a9d740e5 (3) Message-Authenticator = 0x11bde74799c80c535c9e8ce4956f6366 (3) Restoring &session-state (3) &session-state:Framed-MTU = 994 (3) &session-state:TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (3) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (3) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (3) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (3) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (3) # Executing section authorize from file /etc/freeradius/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: Looking up realm "domain2.nl" for User-Name = "user1@domain2.nl" (3) suffix: No such realm "domain2.nl" (3) [suffix] = noop (3) eap: Peer sent EAP Response (code 2) ID 145 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/sites-enabled/default (3) authenticate { (3) eap: Expiring EAP session with state 0x778c2b05751d3e7c (3) eap: Finished EAP session with state 0x778c2b05751d3e7c (3) eap: Previous EAP request found for state 0x778c2b05751d3e7c, released from the list (3) eap: Peer sent packet with method EAP TTLS (21) (3) eap: Calling submodule eap_ttls to process data (3) eap_ttls: Authenticate (3) eap_ttls: (TLS) Peer ACKed our handshake fragment (3) eap: Sending EAP Request (code 1) ID 146 length 801 (3) eap: EAP session adding &reply:State = 0x778c2b05741e3e7c (3) [eap] = handled (3) } # authenticate = handled (3) Using Post-Auth-Type Challenge (3) # Executing group from file /etc/freeradius/sites-enabled/default (3) Challenge { ... } # empty sub-section is ignored (3) session-state: Saving cached attributes (3) Framed-MTU = 994 (3) TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (3) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (3) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (3) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (3) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (3) Sent Access-Challenge Id 3 from 172.16.30.16:1812 to 172.16.34.15:50633 length 865 (3) EAP-Message = 0x01920321158000000adb6d31143012060355040a0c0b4d616b65727374726565743125302306092a864886f70d0109011616737570706f7274406d616b65727374726565742e6e6c312a302806035504030c214d616b657273747265657420436572746966696361746520417574686f7269747982146dfa3f78fb56b61806297ce2ced5c7f09b2699d8300f0603551d130101ff040530030101ff30360603551d1f042f302d302ba029a0278625687474703a2f2f7777772e6578616d706c652e6f72672f6578616d706c655f63612e63726c300d06092a864886f70d01010b050003820101007ac1b227167c44386e505d7c1b7c442e06fd690352b30cb77d56bd59bae12cab4925000d7178ce2d090c7b6b7bfd65ece19020c46c9a7728e4abbbb58d7791f455f14d991336138ea333ea0916a7b77b4b91517c3141f6adbd99b649f913dfd4e1d73645ce825c79d7b9d0bfd2b6957062a81165882de49eda2af9ae3db5d3cbd618a6eceb203feac7279795dd99fc83 (3) Message-Authenticator = 0x00000000000000000000000000000000 (3) State = 0x778c2b05741e3e7ccf95ec63a9d740e5 (3) Finished request Waking up in 4.9 seconds. (4) Received Access-Request Id 4 from 172.16.34.15:50633 to 172.16.30.16:1812 length 180 (4) User-Name = "user1@domain2.nl" (4) EAP-Message = 0x02920063150016030300251000002120eeb39843f2dc5ed2ea9bf6e1809a90427621904074b234743156a08bc066a27a1403030001011603030028260adbb043304d966cbcfb77f1d11fa3f304e63fc1dbb135750359e8a43fcca873d104e1e731a7ae (4) State = 0x778c2b05741e3e7ccf95ec63a9d740e5 (4) Message-Authenticator = 0xe06c48f089df52927529d6deef9df58b (4) Restoring &session-state (4) &session-state:Framed-MTU = 994 (4) &session-state:TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (4) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (4) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (4) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (4) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (4) # Executing section authorize from file /etc/freeradius/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: Looking up realm "domain2.nl" for User-Name = "user1@domain2.nl" (4) suffix: No such realm "domain2.nl" (4) [suffix] = noop (4) eap: Peer sent EAP Response (code 2) ID 146 length 99 (4) eap: Continuing tunnel setup (4) [eap] = ok (4) } # authorize = ok (4) Found Auth-Type = eap (4) # Executing group from file /etc/freeradius/sites-enabled/default (4) authenticate { (4) eap: Expiring EAP session with state 0x778c2b05741e3e7c (4) eap: Finished EAP session with state 0x778c2b05741e3e7c (4) eap: Previous EAP request found for state 0x778c2b05741e3e7c, released from the list (4) eap: Peer sent packet with method EAP TTLS (21) (4) eap: Calling submodule eap_ttls to process data (4) eap_ttls: Authenticate (4) eap_ttls: (TLS) EAP Done initial handshake (4) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write server done (4) eap_ttls: (TLS) recv TLS 1.2 Handshake, ClientKeyExchange (4) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS read client key exchange (4) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS read change cipher spec (4) eap_ttls: (TLS) recv TLS 1.2 Handshake, Finished (4) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS read finished (4) eap_ttls: (TLS) send TLS 1.2 ChangeCipherSpec (4) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write change cipher spec (4) eap_ttls: (TLS) send TLS 1.2 Handshake, Finished (4) eap_ttls: (TLS) Handshake state - Server SSLv3/TLS write finished (4) eap_ttls: (TLS) Handshake state - SSL negotiation finished successfully (4) eap_ttls: (TLS) Connection Established (4) eap_ttls: TLS-Session-Cipher-Suite = "ECDHE-RSA-AES256-GCM-SHA384" (4) eap_ttls: TLS-Session-Version = "TLS 1.2" (4) eap: Sending EAP Request (code 1) ID 147 length 61 (4) eap: EAP session adding &reply:State = 0x778c2b05731f3e7c (4) [eap] = handled (4) } # authenticate = handled (4) Using Post-Auth-Type Challenge (4) # Executing group from file /etc/freeradius/sites-enabled/default (4) Challenge { ... } # empty sub-section is ignored (4) session-state: Saving cached attributes (4) Framed-MTU = 994 (4) TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (4) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (4) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (4) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (4) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (4) TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, ClientKeyExchange" (4) TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, Finished" (4) TLS-Session-Information = "(TLS) send TLS 1.2 ChangeCipherSpec" (4) TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Finished" (4) TLS-Session-Cipher-Suite = "ECDHE-RSA-AES256-GCM-SHA384" (4) TLS-Session-Version = "TLS 1.2" (4) Sent Access-Challenge Id 4 from 172.16.30.16:1812 to 172.16.34.15:50633 length 119 (4) EAP-Message = 0x0193003d1580000000331403030001011603030028dc92b0981d6804776d8e952e7c5c87fedc3d07d3ed373e8f79068760ff33b2d296d43be51c0f2c67 (4) Message-Authenticator = 0x00000000000000000000000000000000 (4) State = 0x778c2b05731f3e7ccf95ec63a9d740e5 (4) Finished request Waking up in 4.8 seconds. (5) Received Access-Request Id 5 from 172.16.34.15:50633 to 172.16.30.16:1812 length 188 (5) User-Name = "user1@domain2.nl" (5) EAP-Message = 0x0293006b15001703030060260adbb043304d970de09e90b6225afb7ef22c42ee7389ab108e07dbea623af70ee5b95ff4075667456344378e2b46f4288a6c2c35ff71f43306140f09a669b181e35b0b946383031d410399ac8085f8eb1d5c7fa79277fa829f184def5e9835 (5) State = 0x778c2b05731f3e7ccf95ec63a9d740e5 (5) Message-Authenticator = 0xc8ddf1cb3986fbd0f3cdfc5be8a83a49 (5) Restoring &session-state (5) &session-state:Framed-MTU = 994 (5) &session-state:TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello" (5) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello" (5) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate" (5) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange" (5) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone" (5) &session-state:TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, ClientKeyExchange" (5) &session-state:TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, Finished" (5) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 ChangeCipherSpec" (5) &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Finished" (5) &session-state:TLS-Session-Cipher-Suite = "ECDHE-RSA-AES256-GCM-SHA384" (5) &session-state:TLS-Session-Version = "TLS 1.2" (5) # Executing section authorize from file /etc/freeradius/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: Looking up realm "domain2.nl" for User-Name = "user1@domain2.nl" (5) suffix: No such realm "domain2.nl" (5) [suffix] = noop (5) eap: Peer sent EAP Response (code 2) ID 147 length 107 (5) eap: Continuing tunnel setup (5) [eap] = ok (5) } # authorize = ok (5) Found Auth-Type = eap (5) # Executing group from file /etc/freeradius/sites-enabled/default (5) authenticate { (5) eap: Expiring EAP session with state 0x778c2b05731f3e7c (5) eap: Finished EAP session with state 0x778c2b05731f3e7c (5) eap: Previous EAP request found for state 0x778c2b05731f3e7c, released from the list (5) eap: Peer sent packet with method EAP TTLS (21) (5) eap: Calling submodule eap_ttls to process data (5) eap_ttls: Authenticate (5) eap_ttls: (TLS) EAP Done initial handshake (5) eap_ttls: Session established. Proceeding to decode tunneled attributes (5) eap_ttls: Got tunneled request (5) eap_ttls: User-Name = "user1@domain2.nl" (5) eap_ttls: User-Password = "A1bc54321deA1bc54321de" (5) eap_ttls: FreeRADIUS-Proxied-To = 127.0.0.1 (5) eap_ttls: Sending tunneled request (5) Virtual server inner-tunnel received request (5) User-Name = "user1@domain2.nl" (5) User-Password = "A1bc54321deA1bc54321de" (5) FreeRADIUS-Proxied-To = 127.0.0.1 (5) WARNING: Outer and inner identities are the same. User privacy is compromised. (5) server inner-tunnel { (5) # Executing section authorize from file /etc/freeradius/sites-enabled/google-ldap-auth (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) policy filter_inner_identity { (5) if (!&outer.request:User-Name || !&User-Name) { (5) if (!&outer.request:User-Name || !&User-Name) -> FALSE (5) if (&outer.request:User-Name != &User-Name) { (5) if (&outer.request:User-Name != &User-Name) -> FALSE (5) } # policy filter_inner_identity = notfound (5) policy split_username_nai { (5) if (&User-Name && (&User-Name =~ /^([^@]*)(@([-[:alnum:]]+\.[-[:alnum:].]+))?$/)) { (5) if (&User-Name && (&User-Name =~ /^([^@]*)(@([-[:alnum:]]+\.[-[:alnum:].]+))?$/)) -> TRUE (5) if (&User-Name && (&User-Name =~ /^([^@]*)(@([-[:alnum:]]+\.[-[:alnum:].]+))?$/)) { (5) update request { (5) EXPAND %{1} (5) --> user1 (5) &Stripped-User-Name := user1 (5) } # update request = noop (5) if ("%{3}" != '') { (5) EXPAND %{3} (5) --> domain2.nl (5) if ("%{3}" != '') -> TRUE (5) if ("%{3}" != '') { (5) update request { (5) EXPAND %{3} (5) --> domain2.nl (5) &Stripped-User-Domain = domain2.nl (5) } # update request = noop (5) } # if ("%{3}" != '') = noop (5) [updated] = updated (5) } # if (&User-Name && (&User-Name =~ /^([^@]*)(@([-[:alnum:]]+\.[-[:alnum:].]+))?$/)) = updated (5) ... skipping else: Preceding "if" was taken (5) } # policy split_username_nai = updated (5) update control { (5) &Cache-Status-Only := yes (5) } # update control = noop (5) cache_auth_accept: EXPAND %{md5:%{%{Stripped-User-Name}:-%{User-Name}}%{User-Password}} (5) cache_auth_accept: --> e3d72cd4af4d400654dba54caa15830a (5) cache_auth_accept: No cache entry found for "e3d72cd4af4d400654dba54caa15830a" (5) [cache_auth_accept] = notfound (5) if (ok) { (5) if (ok) -> FALSE (5) update control { (5) &Cache-Status-Only := yes (5) } # update control = noop (5) cache_auth_reject: EXPAND %{md5:%{Calling-Station-Id}%{Stripped-User-Name}%{User-Password}} (5) cache_auth_reject: --> e3d72cd4af4d400654dba54caa15830a (5) cache_auth_reject: No cache entry found for "e3d72cd4af4d400654dba54caa15830a" (5) [cache_auth_reject] = notfound (5) if (ok) { (5) if (ok) -> FALSE (5) domains: EXPAND %{Stripped-User-domain} (5) domains: --> domain2.nl (5) domains: users: Matched entry domain2.nl at line 1 (5) [domains] = ok (5) if (&User-Password && !control:Auth-Type) { (5) if (&User-Password && !control:Auth-Type) -> TRUE (5) if (&User-Password && !control:Auth-Type) { (5) update control { (5) Auth-Type = ldap_google (5) } # update control = noop (5) update request { (5) &Base-DN1 := control:Base-DN1 -> 'domain2' (5) &Base-DN2 := control:Base-DN2 -> 'nl' (5) } # update request = noop (5) update control { (5) &Cache-Read-Only := yes (5) } # update control = noop (5) cache_ldap_user_dn: EXPAND %{Stripped-User-Name} (5) cache_ldap_user_dn: --> user1 (5) cache_ldap_user_dn: No cache entry found for "user1" (5) [cache_ldap_user_dn] = notfound (5) } # if (&User-Password && !control:Auth-Type) = noop (5) } # authorize = updated (5) Found Auth-Type = ldap_google (5) # Executing group from file /etc/freeradius/sites-enabled/google-ldap-auth (5) Auth-Type ldap_google { rlm_ldap (ldap_google): 0 of 0 connections in use. You may need to increase "spare" rlm_ldap (ldap_google): Opening additional connection (0), 1 of 32 pending slots used rlm_ldap (ldap_google): Connecting to ldaps://ldap.google.com:636 rlm_ldap (ldap_google): Waiting for bind result... rlm_ldap (ldap_google): Bind successful rlm_ldap (ldap_google): Reserved connection (0) (5) ldap_google: Login attempt by "user1" (5) ldap_google: EXPAND (uid=%{%{Stripped-User-Name}:-%{User-Name}}) (5) ldap_google: --> (uid=user1) (5) ldap_google: EXPAND ou=Users,dc=%{Base-DN1},dc=%{Base-DN2} (5) ldap_google: --> ou=Users,dc=domain2,dc=nl (5) ldap_google: Performing search in "ou=Users,dc=domain2,dc=nl" with filter "(uid=user1)", scope "sub" (5) ldap_google: Waiting for search result... (5) ldap_google: User object found at DN "uid=user1,ou=domain1 Testing,ou=Users,dc=domain2,dc=nl" (5) ldap_google: Waiting for bind result... (5) ldap_google: Bind successful (5) ldap_google: Bind as user "uid=user1,ou=domain1 Testing,ou=Users,dc=domain2,dc=nl" was successful rlm_ldap (ldap_google): Released connection (0) Need 2 more connections to reach min connections (3) Need more connections to reach 10 spares rlm_ldap (ldap_google): Opening additional connection (1), 1 of 31 pending slots used rlm_ldap (ldap_google): Connecting to ldaps://ldap.google.com:636 rlm_ldap (ldap_google): Waiting for bind result... rlm_ldap (ldap_google): Bind successful (5) [ldap_google] = ok (5) } # Auth-Type ldap_google = ok (5) # Executing section post-auth from file /etc/freeradius/sites-enabled/google-ldap-auth (5) post-auth { (5) cache_ldap_user_dn: EXPAND %{Stripped-User-Name} (5) cache_ldap_user_dn: --> user1 (5) cache_ldap_user_dn: No cache entry found for "user1" (5) cache_ldap_user_dn: Creating new cache entry (5) cache_ldap_user_dn: &control:LDAP-UserDN = &control:LDAP-UserDN -> 'uid=user1,ou=domain1 Testing,ou=Users,dc=domain2,dc=nl' (5) cache_ldap_user_dn: Merging cache entry into request (5) cache_ldap_user_dn: &control:LDAP-UserDN = "uid=user1,ou=domain1 Testing,ou=Users,dc=domain2,dc=nl" (5) cache_ldap_user_dn: Committed entry, TTL 86400 seconds (5) [cache_ldap_user_dn] = updated (5) if (&control:Auth-Type == ldap_google) { (5) if (&control:Auth-Type == ldap_google) -> TRUE (5) if (&control:Auth-Type == ldap_google) { (5) cache_auth_accept: EXPAND %{md5:%{%{Stripped-User-Name}:-%{User-Name}}%{User-Password}} (5) cache_auth_accept: --> e3d72cd4af4d400654dba54caa15830a (5) cache_auth_accept: No cache entry found for "e3d72cd4af4d400654dba54caa15830a" (5) cache_auth_accept: Creating new cache entry (5) cache_auth_accept: &control:User-Category = "success" (5) cache_auth_accept: Merging cache entry into request (5) cache_auth_accept: &control:User-Category = "success" (5) cache_auth_accept: Committed entry, TTL 7200 seconds (5) [cache_auth_accept] = updated (5) } # if (&control:Auth-Type == ldap_google) = updated (5) } # post-auth = updated (5) } # server inner-tunnel (5) Virtual server sending reply (5) eap_ttls: Got tunneled Access-Accept (5) eap: Sending EAP Success (code 3) ID 147 length 4 (5) eap: Freeing handler (5) [eap] = ok (5) } # authenticate = ok (5) # Executing section post-auth from file /etc/freeradius/sites-enabled/default (5) post-auth { (5) if (session-state:User-Name && reply:User-Name && request:User-Name && (reply:User-Name == request:User-Name)) { (5) if (session-state:User-Name && reply:User-Name && request:User-Name && (reply:User-Name == request:User-Name)) -> FALSE (5) update { (5) &reply::Framed-MTU += &session-state:Framed-MTU[*] -> 994 (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) recv TLS 1.3 Handshake, ClientHello' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, ServerHello' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, Certificate' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, ServerKeyExchange' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, ServerHelloDone' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) recv TLS 1.2 Handshake, ClientKeyExchange' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) recv TLS 1.2 Handshake, Finished' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 ChangeCipherSpec' (5) &reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, Finished' (5) &reply::TLS-Session-Cipher-Suite += &session-state:TLS-Session-Cipher-Suite[*] -> 'ECDHE-RSA-AES256-GCM-SHA384' (5) &reply::TLS-Session-Version += &session-state:TLS-Session-Version[*] -> 'TLS 1.2' (5) } # update = noop (5) [exec] = noop (5) policy remove_reply_message_if_eap { (5) if (&reply:EAP-Message && &reply:Reply-Message) { (5) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (5) else { (5) [noop] = noop (5) } # else = noop (5) } # policy remove_reply_message_if_eap = noop (5) if (EAP-Key-Name && &reply:EAP-Session-Id) { (5) if (EAP-Key-Name && &reply:EAP-Session-Id) -> FALSE (5) } # post-auth = noop (5) Sent Access-Accept Id 5 from 172.16.30.16:1812 to 172.16.34.15:50633 length 189 (5) MS-MPPE-Recv-Key = 0xde4f9f9ded4b4e33ea3790ca3426b0da1ce2b97e303040c121efe5d32ea8f768 (5) MS-MPPE-Send-Key = 0x6d89f0730f531a0bf383a3afae5dddff0a1c1e0ac723bbecb81569ab745ab39f (5) EAP-Message = 0x03930004 (5) Message-Authenticator = 0x00000000000000000000000000000000 (5) User-Name = "user1@domain2.nl" (5) Framed-MTU += 994 (5) Finished request Waking up in 1.8 seconds. (5) Sending duplicate reply to client vpn port 50633 - ID: 5 Waking up in 1.8 seconds. (0) Cleaning up request packet ID 0 with timestamp +17 due to cleanup_delay was reached (1) Cleaning up request packet ID 1 with timestamp +17 due to cleanup_delay was reached (2) Cleaning up request packet ID 2 with timestamp +17 due to cleanup_delay was reached (3) Cleaning up request packet ID 3 with timestamp +17 due to cleanup_delay was reached (4) Cleaning up request packet ID 4 with timestamp +17 due to cleanup_delay was reached Waking up in 8.0 seconds.