Freeradius-Users
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
July 2024
- 32 participants
- 34 discussions
In steel belted radius (SBR), we can setup sbr to do a simple bind to ldap database.
In such as setup, sbr will omit password checking. If the bind is successful (meaning username is found in ldap) then reply accept being sent back to radius client.
When I try to do this in freeradius, it passes the authentication process to ldap and insists on checking the password.
How can I disable the password checking in freeRadius?
5
12
On a production server running standard RADIUS on UDP 1812/1813, is it
recommended to run TLS based authentication (port 2083 for RADSEC etc) as
just another server on the same instance/process, or is there a benefit in
running that as a separate instance/process for security/performance
reasons?
Thanks
James
1
0
21 Jul '24
After upgrading from 3.2.3 to 3.2.5, when proxying to third party home
servers, the request stalls and after 30 seconds gives up.
Two examples are below, both different servers depending on the realm. One
is Google's radsec server and one is WBA's OpenRoaming radsec server. I've
tried multiple clients, Android, iOS and Windows with the same result
Example 1:
Sun Jul 14 18:33:21 2024 : Debug: (0) Proxying due to Home-Server-Name
Sun Jul 14 18:33:21 2024 : Debug: (0) Starting proxy to home server
146.148.44.172 port 2083
Sun Jul 14 18:33:21 2024 : Debug: (0) server default {
Sun Jul 14 18:33:21 2024 : Debug: (0) # Executing section pre-proxy from
file /usr/local/etc/raddb/sites-enabled/default
Sun Jul 14 18:33:21 2024 : Debug: (0) pre-proxy {
Sun Jul 14 18:33:21 2024 : Debug: (0) } # pre-proxy = noop
Sun Jul 14 18:33:21 2024 : Debug: (0) }
Sun Jul 14 18:33:21 2024 : Debug: (0) proxy: Trying to allocate ID (0/2)
Sun Jul 14 18:33:21 2024 : Debug: (0) proxy: Trying to open a new listener
to the home server
Sun Jul 14 18:33:21 2024 : Debug: (TLS) Trying new outgoing proxy
connection to proxy (0.0.0.0, 0) -> home_server (146.148.44.172, 2083)
Sun Jul 14 18:33:21 2024 : Debug: Requiring Server certificate
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[PINIT] - before SSL initialization (0)
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[PINIT] - Client before SSL initialization (0)
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) RADIUS/TLS - send TLS 1.3
Handshake, ClientHello
Sun Jul 14 18:33:21 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
write more data: SSLv3/TLS write client hello
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) RADIUS/TLS -
tls_new_client_session WANT_WRITE
Sun Jul 14 18:33:21 2024 : Debug: Opened new proxy socket 'proxy
(10.210.0.17, 49473) -> home_server (146.148.44.172, 2083)'
Sun Jul 14 18:33:21 2024 : Debug: (0) proxy: Trying to allocate ID (1/2)
Sun Jul 14 18:33:21 2024 : Debug: Listening on proxy (10.210.0.17, 49473)
-> home_server (146.148.44.172, 2083)
Sun Jul 14 18:33:21 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 18:33:21 2024 : Debug: (0) proxy: request is now in proxy hash
Sun Jul 14 18:33:21 2024 : Debug: (0) proxy: allocating destination
146.148.44.172 port 2083 - Id 160
Sun Jul 14 18:33:21 2024 : Debug: (0) Proxying request to home server
146.148.44.172 port 2083 (TLS) timeout 30.000000
Sun Jul 14 18:33:21 2024 : Debug: (0) Sent Access-Request Id 160 from
10.210.0.17:49473 to 146.148.44.172:2083 length 457
Sun Jul 14 18:33:21 2024 : Debug: (0) User-Name = "
anonymous(a)openroaming.goog"
Sun Jul 14 18:33:21 2024 : Debug: (0) NAS-IP-Address = 192.168.1.116
Sun Jul 14 18:33:21 2024 : Debug: (0) NAS-Identifier =
"E0-CB-BC-8A-1A-6E:vap2"
Sun Jul 14 18:33:21 2024 : Debug: (0) Called-Station-Id :=
"EA-CB-AC-8A-1A-6E"
Sun Jul 14 18:33:21 2024 : Debug: (0) NAS-Port-Type = Wireless-802.11
Sun Jul 14 18:33:21 2024 : Debug: (0) Service-Type = Framed-User
Sun Jul 14 18:33:21 2024 : Debug: (0) NAS-Port = 2
Sun Jul 14 18:33:21 2024 : Debug: (0) Calling-Station-Id :=
"7A-74-DB-94-B9-B9"
Sun Jul 14 18:33:21 2024 : Debug: (0) Connect-Info = "CONNECT 54.00 Mbps
/ 802.11ac / RSSI: 66 / Channel: 40"
Sun Jul 14 18:33:21 2024 : Debug: (0) Acct-Session-Id = "436F6F1202EEE66A"
Sun Jul 14 18:33:21 2024 : Debug: (0) Acct-Multi-Session-Id =
"80C9B13F6851715F"
Sun Jul 14 18:33:21 2024 : Debug: (0) WLAN-Pairwise-Cipher = 1027076
Sun Jul 14 18:33:21 2024 : Debug: (0) WLAN-Group-Cipher = 1027076
Sun Jul 14 18:33:21 2024 : Debug: (0) WLAN-AKM-Suite = 1027073
Sun Jul 14 18:33:21 2024 : Debug: (0) Meraki-Ap-Name =
"meraki-mr42-test-ap"
Sun Jul 14 18:33:21 2024 : Debug: (0) Meraki-Ap-Tags = " recently-added "
Sun Jul 14 18:33:21 2024 : Debug: (0) Meraki-Device-Name =
"meraki-mr42-test-ap"
Sun Jul 14 18:33:21 2024 : Debug: (0) Framed-MTU = 1400
Sun Jul 14 18:33:21 2024 : Debug: (0) EAP-Message =
0x0263001f01616e6f6e796d6f7573406f70656e726f616d696e672e676f6f67
Sun Jul 14 18:33:21 2024 : Debug: (0) HS20-AP-Version = 1
Sun Jul 14 18:33:21 2024 : Debug: (0) HS20-Mobile-Device-Version =
0x010000
Sun Jul 14 18:33:21 2024 : Debug: (0) HS20-Roaming-Consortium =
0x5a03ba0000
Sun Jul 14 18:33:21 2024 : Debug: (0) Message-Authenticator =
0x291dcaa493772a756028e8807f7966f6
Sun Jul 14 18:33:21 2024 : Debug: (0) Event-Timestamp = "Jul 14 2024
18:33:21 UTC"
Sun Jul 14 18:33:21 2024 : Debug: (0) Proxy-State = 0x323134
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
write more data: SSLv3/TLS write client hello
Sun Jul 14 18:33:21 2024 : Debug: (TLS) SSL_connect() returned WANT_WRITE
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) has 0 bytes in the buffer
Sun Jul 14 18:33:21 2024 : Debug: (0) (TLS) Saving 457 bytes of RADIUS
traffic for later (total 457)
Sun Jul 14 18:33:21 2024 : Debug: Thread 5 waiting to be assigned a request
Sun Jul 14 18:33:21 2024 : Debug: (0) Expecting proxy response no later
than 29.671359 seconds from now
Sun Jul 14 18:33:21 2024 : Debug: Waking up in 29.6 seconds.
Sun Jul 14 18:33:22 2024 : Debug: Suppressing duplicate proxied request
(tcp) to home server 146.148.44.172 port 2083 proto TCP - ID: 160
Sun Jul 14 18:33:22 2024 : Debug: Waking up in 29.0 seconds.
Sun Jul 14 18:33:23 2024 : Debug: Suppressing duplicate proxied request
(tcp) to home server 146.148.44.172 port 2083 proto TCP - ID: 160
Sun Jul 14 18:33:23 2024 : Debug: Waking up in 28.0 seconds.
Example 2:
Sun Jul 14 21:19:02 2024 : Debug: (3) Proxying due to Home-Server-Name
Sun Jul 14 21:19:02 2024 : Debug: (3) Starting proxy to home server
34.71.27.162 port 2083
Sun Jul 14 21:19:02 2024 : Debug: (3) server default {
Sun Jul 14 21:19:02 2024 : Debug: (3) # Executing section pre-proxy from
file /usr/local/etc/raddb/sites-enabled/default
Sun Jul 14 21:19:02 2024 : Debug: (3) pre-proxy {
Sun Jul 14 21:19:02 2024 : Debug: (3) } # pre-proxy = noop
Sun Jul 14 21:19:02 2024 : Debug: (3) }
Sun Jul 14 21:19:02 2024 : Debug: (3) proxy: Trying to allocate ID (0/2)
Sun Jul 14 21:19:02 2024 : Debug: (3) proxy: Trying to open a new listener
to the home server
Sun Jul 14 21:19:02 2024 : Debug: (TLS) Trying new outgoing proxy
connection to proxy (0.0.0.0, 0) -> home_server (34.71.27.162, 2083)
Sun Jul 14 21:19:02 2024 : Debug: Requiring Server certificate
Sun Jul 14 21:19:02 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[PINIT] - before SSL initialization (0)
Sun Jul 14 21:19:02 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[PINIT] - Client before SSL initialization (0)
Sun Jul 14 21:19:02 2024 : Debug: (0) (TLS) RADIUS/TLS - send TLS 1.3
Handshake, ClientHello
Sun Jul 14 21:19:02 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
write more data: SSLv3/TLS write client hello
Sun Jul 14 21:19:02 2024 : Debug: (0) (TLS) RADIUS/TLS -
tls_new_client_session WANT_WRITE
Sun Jul 14 21:19:02 2024 : Debug: Opened new proxy socket 'proxy
(10.210.0.17, 58915) -> home_server (34.71.27.162, 2083)'
Sun Jul 14 21:19:02 2024 : Debug: Listening on proxy (10.210.0.17, 58915)
-> home_server (34.71.27.162, 2083)
Sun Jul 14 21:19:02 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 21:19:02 2024 : Debug: (3) proxy: Trying to allocate ID (1/2)
Sun Jul 14 21:19:02 2024 : Debug: (3) proxy: request is now in proxy hash
Sun Jul 14 21:19:02 2024 : Debug: (3) proxy: allocating destination
34.71.27.162 port 2083 - Id 129
Sun Jul 14 21:19:02 2024 : Debug: (3) Proxying request to home server
34.71.27.162 port 2083 (TLS) timeout 30.000000
Sun Jul 14 21:19:02 2024 : Debug: (3) Sent Access-Request Id 129 from
10.210.0.17:58915 to 34.71.27.162:2083 length 459
Sun Jul 14 21:19:02 2024 : Debug: (3) User-Name = "
anonymous(a)test.orportal.org"
Sun Jul 14 21:19:02 2024 : Debug: (3) NAS-IP-Address = 192.168.1.116
Sun Jul 14 21:19:02 2024 : Debug: (3) NAS-Identifier =
"E0-CB-BC-8A-1A-6E:vap2"
Sun Jul 14 21:19:02 2024 : Debug: (3) Called-Station-Id :=
"EA-CB-AC-8A-1A-6E"
Sun Jul 14 21:19:02 2024 : Debug: (3) NAS-Port-Type = Wireless-802.11
Sun Jul 14 21:19:02 2024 : Debug: (3) Service-Type = Framed-User
Sun Jul 14 21:19:02 2024 : Debug: (3) NAS-Port = 1
Sun Jul 14 21:19:02 2024 : Debug: (3) Calling-Station-Id :=
"92-D4-9F-CE-0B-03"
Sun Jul 14 21:19:02 2024 : Debug: (3) Connect-Info = "CONNECT 54.00 Mbps
/ 802.11ac / RSSI: 66 / Channel: 40"
Sun Jul 14 21:19:02 2024 : Debug: (3) Acct-Session-Id = "D603341511C2BCD5"
Sun Jul 14 21:19:02 2024 : Debug: (3) Acct-Multi-Session-Id =
"8E65FAC05F4D0058"
Sun Jul 14 21:19:02 2024 : Debug: (3) WLAN-Pairwise-Cipher = 1027076
Sun Jul 14 21:19:02 2024 : Debug: (3) WLAN-Group-Cipher = 1027076
Sun Jul 14 21:19:02 2024 : Debug: (3) WLAN-AKM-Suite = 1027073
Sun Jul 14 21:19:02 2024 : Debug: (3) Meraki-Ap-Name =
"meraki-mr42-test-ap"
Sun Jul 14 21:19:02 2024 : Debug: (3) Meraki-Ap-Tags = " recently-added "
Sun Jul 14 21:19:02 2024 : Debug: (3) Meraki-Device-Name =
"meraki-mr42-test-ap"
Sun Jul 14 21:19:02 2024 : Debug: (3) Framed-MTU = 1400
Sun Jul 14 21:19:02 2024 : Debug: (3) EAP-Message =
0x02fa002001616e6f6e796d6f757340746573742e6f72706f7274616c2e6f7267
Sun Jul 14 21:19:02 2024 : Debug: (3) HS20-AP-Version = 1
Sun Jul 14 21:19:02 2024 : Debug: (3) HS20-Mobile-Device-Version =
0x010000
Sun Jul 14 21:19:02 2024 : Debug: (3) HS20-Roaming-Consortium =
0x5a03ba0000
Sun Jul 14 21:19:02 2024 : Debug: (3) Message-Authenticator =
0xaca57ed0829ccbef818ef945142ee620
Sun Jul 14 21:19:02 2024 : Debug: (3) Event-Timestamp = "Jul 14 2024
21:19:02 UTC"
Sun Jul 14 21:19:02 2024 : Debug: (3) Proxy-State = 0x313238
Sun Jul 14 21:19:02 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
write more data: SSLv3/TLS write client hello
Sun Jul 14 21:19:02 2024 : Debug: (TLS) SSL_connect() returned WANT_WRITE
Sun Jul 14 21:19:02 2024 : Debug: (3) (TLS) has 0 bytes in the buffer
Sun Jul 14 21:19:02 2024 : Debug: (3) (TLS) Saving 459 bytes of RADIUS
traffic for later (total 459)
Sun Jul 14 21:19:02 2024 : Debug: Thread 2 waiting to be assigned a request
Sun Jul 14 21:19:02 2024 : Debug: (3) Expecting proxy response no later
than 29.673344 seconds from now
Sun Jul 14 21:19:02 2024 : Debug: Waking up in 29.6 seconds.
Sun Jul 14 21:19:03 2024 : Debug: Suppressing duplicate proxied request
(tcp) to home server 34.71.27.162 port 2083 proto TCP - ID: 129
Sun Jul 14 21:19:03 2024 : Debug: Waking up in 29.0 seconds.
Sun Jul 14 21:19:04 2024 : Debug: Suppressing duplicate proxied request
(tcp) to home server 34.71.27.162 port 2083 proto TCP - ID: 129
Sun Jul 14 21:19:04 2024 : Debug: Waking up in 28.0 seconds.
Sun Jul 14 21:19:32 2024 : Debug: (3) No proxy response, giving up on
request and marking it done
Sun Jul 14 21:19:32 2024 : Proxy: Marking home server 34.71.27.162 port
2083 as zombie (it has not responded in 30.000000 seconds).
Sun Jul 14 21:19:32 2024 : ERROR: (3) Failing proxied request for user "
anonymous(a)test.orportal.org", due to lack of any response from home server
34.71.27.162 port 2083
Sun Jul 14 21:19:32 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 21:19:32 2024 : Debug: Thread 1 got semaphore
Sun Jul 14 21:19:32 2024 : Debug: Thread 1 handling request 3, (1 handled
so far)
Sun Jul 14 21:19:32 2024 : Debug: (3) Clearing existing &reply: attributes
Sun Jul 14 21:19:32 2024 : Debug: (3) Found Post-Proxy-Type
Fail-Authentication
Sun Jul 14 21:19:32 2024 : Debug: (3) server default {
Sun Jul 14 21:19:32 2024 : Debug: (3) Post-Proxy-Type sub-section not
found. Ignoring.
Sun Jul 14 21:19:32 2024 : Debug: (3) # Executing group from file
/usr/local/etc/raddb/sites-enabled/default
Sun Jul 14 21:19:32 2024 : Debug: (3) }
Sun Jul 14 21:19:32 2024 : Auth: (3) Login incorrect (Home Server failed to
respond): [anonymous(a)test.orportal.org/<via Auth-Type = eap>] (from client
158.115.148.241 port 1 cli 92-D4-9F-CE-0B-03)
However, sometimes, after a long delay, when the AP sends another
request/retry, it will work:
Sun Jul 14 21:12:33 2024 : Debug: (0) Proxying due to Home-Server-Name
Sun Jul 14 21:12:33 2024 : Debug: (0) Starting proxy to home server
34.71.27.162 port 2083
Sun Jul 14 21:12:33 2024 : Debug: (0) server default {
Sun Jul 14 21:12:33 2024 : Debug: (0) # Executing section pre-proxy from
file /usr/local/etc/raddb/sites-enabled/default
Sun Jul 14 21:12:33 2024 : Debug: (0) pre-proxy {
Sun Jul 14 21:12:33 2024 : Debug: (0) } # pre-proxy = noop
Sun Jul 14 21:12:33 2024 : Debug: (0) }
Sun Jul 14 21:12:33 2024 : Debug: (0) proxy: Trying to allocate ID (0/2)
Sun Jul 14 21:12:33 2024 : Debug: (0) proxy: Trying to open a new listener
to the home server
Sun Jul 14 21:12:33 2024 : Debug: (TLS) Trying new outgoing proxy
connection to proxy (0.0.0.0, 0) -> home_server (34.71.27.162, 2083)
Sun Jul 14 21:12:33 2024 : Debug: Requiring Server certificate
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[PINIT] - before SSL initialization (0)
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[PINIT] - Client before SSL initialization (0)
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) RADIUS/TLS - send TLS 1.3
Handshake, ClientHello
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
write more data: SSLv3/TLS write client hello
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) RADIUS/TLS -
tls_new_client_session WANT_WRITE
Sun Jul 14 21:12:33 2024 : Debug: Opened new proxy socket 'proxy
(10.210.0.17, 52075) -> home_server (34.71.27.162, 2083)'
Sun Jul 14 21:12:33 2024 : Debug: (0) proxy: Trying to allocate ID (1/2)
Sun Jul 14 21:12:33 2024 : Debug: (0) proxy: request is now in proxy hash
Sun Jul 14 21:12:33 2024 : Debug: (0) proxy: allocating destination
34.71.27.162 port 2083 - Id 125
Sun Jul 14 21:12:33 2024 : Debug: (0) Proxying request to home server
34.71.27.162 port 2083 (TLS) timeout 30.000000
Sun Jul 14 21:12:33 2024 : Debug: (0) Sent Access-Request Id 125 from
10.210.0.17:52075 to 34.71.27.162:2083 length 457
Sun Jul 14 21:12:33 2024 : Debug: (0) User-Name = "
anonymous(a)test.orportal.org"
Sun Jul 14 21:12:33 2024 : Debug: (0) NAS-IP-Address = 192.168.1.116
Sun Jul 14 21:12:33 2024 : Debug: (0) NAS-Identifier =
"E0-CB-BC-8A-1A-6E:vap2"
Sun Jul 14 21:12:33 2024 : Debug: (0) Called-Station-Id :=
"EA-CB-BC-8A-1A-6E"
Sun Jul 14 21:12:33 2024 : Debug: (0) NAS-Port-Type = Wireless-802.11
Sun Jul 14 21:12:33 2024 : Debug: (0) Service-Type = Framed-User
Sun Jul 14 21:12:33 2024 : Debug: (0) NAS-Port = 1
Sun Jul 14 21:12:33 2024 : Debug: (0) Calling-Station-Id :=
"92-D4-9F-CE-0B-03"
Sun Jul 14 21:12:33 2024 : Debug: (0) Connect-Info = "CONNECT 54.00 Mbps
/ 802.11n / RSSI: 66 / Channel: 11"
Sun Jul 14 21:12:33 2024 : Debug: (0) Acct-Session-Id = "C761770D256A61C9"
Sun Jul 14 21:12:33 2024 : Debug: (0) Acct-Multi-Session-Id =
"6004A9491042AF0E"
Sun Jul 14 21:12:33 2024 : Debug: (0) WLAN-Pairwise-Cipher = 1027076
Sun Jul 14 21:12:33 2024 : Debug: (0) WLAN-Group-Cipher = 1027076
Sun Jul 14 21:12:33 2024 : Debug: (0) WLAN-AKM-Suite = 1027073
Sun Jul 14 21:12:33 2024 : Debug: (0) Meraki-Network-Name = "WiFi SDK"
Sun Jul 14 21:12:33 2024 : Debug: (0) Meraki-Ap-Name =
"meraki-mr42-test-ap"
Sun Jul 14 21:12:33 2024 : Debug: (0) Meraki-Ap-Tags = " recently-added "
Sun Jul 14 21:12:33 2024 : Debug: (0) Meraki-Device-Name =
"meraki-mr42-test-ap"
Sun Jul 14 21:12:33 2024 : Debug: (0) Framed-MTU = 1400
Sun Jul 14 21:12:33 2024 : Debug: (0) EAP-Message =
0x024c002001616e6f6e796d6f757340746573742e6f72706f7274616c2e6f7267
Sun Jul 14 21:12:33 2024 : Debug: (0) HS20-AP-Version = 1
Sun Jul 14 21:12:33 2024 : Debug: (0) HS20-Mobile-Device-Version =
0x010000
Sun Jul 14 21:12:33 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 21:12:33 2024 : Debug: Listening on proxy (10.210.0.17, 52075)
-> home_server (34.71.27.162, 2083)
Sun Jul 14 21:12:33 2024 : Debug: (0) HS20-Roaming-Consortium =
0x5a03ba0000
Sun Jul 14 21:12:33 2024 : Debug: (0) Message-Authenticator =
0x682d40e95aad80a327255abd7a299545
Sun Jul 14 21:12:33 2024 : Debug: (0) Event-Timestamp = "Jul 14 2024
21:12:33 UTC"
Sun Jul 14 21:12:33 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 21:12:33 2024 : Debug: (0) Login-IP-Host := 158.115.148.241
Sun Jul 14 21:12:33 2024 : Debug: (0) Proxy-State = 0x3931
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
write more data: SSLv3/TLS write client hello
Sun Jul 14 21:12:33 2024 : Debug: (TLS) SSL_connect() returned WANT_WRITE
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) has 0 bytes in the buffer
Sun Jul 14 21:12:33 2024 : Debug: (0) (TLS) Saving 457 bytes of RADIUS
traffic for later (total 457)
Sun Jul 14 21:12:33 2024 : Debug: Thread 5 waiting to be assigned a request
Sun Jul 14 21:12:33 2024 : Debug: (0) Expecting proxy response no later
than 29.670882 seconds from now
Sun Jul 14 21:12:33 2024 : Debug: Waking up in 29.6 seconds.
Sun Jul 14 21:12:34 2024 : Debug: Suppressing duplicate proxied request
(tcp) to home server 34.71.27.162 port 2083 proto TCP - ID: 125
Sun Jul 14 21:12:34 2024 : Debug: Waking up in 29.1 seconds.
Sun Jul 14 21:12:35 2024 : Debug: Suppressing duplicate proxied request
(tcp) to home server 34.71.27.162 port 2083 proto TCP - ID: 125
Sun Jul 14 21:12:35 2024 : Debug: Waking up in 28.1 seconds.
[delay of approx 11 seconds]
Sun Jul 14 21:12:46 2024 : Debug: (1) Proxying due to Home-Server-Name
Sun Jul 14 21:12:46 2024 : Debug: (1) Starting proxy to home server
34.71.27.162 port 2083
Sun Jul 14 21:12:46 2024 : Debug: (1) server default {
Sun Jul 14 21:12:46 2024 : Debug: (1) # Executing section pre-proxy from
file /usr/local/etc/raddb/sites-enabled/default
Sun Jul 14 21:12:46 2024 : Debug: (1) pre-proxy {
Sun Jul 14 21:12:46 2024 : Debug: (1) } # pre-proxy = noop
Sun Jul 14 21:12:46 2024 : Debug: (1) }
Sun Jul 14 21:12:46 2024 : Debug: (1) proxy: Trying to allocate ID (0/2)
Sun Jul 14 21:12:46 2024 : Debug: (1) proxy: request is now in proxy hash
Sun Jul 14 21:12:46 2024 : Debug: (1) proxy: allocating destination
34.71.27.162 port 2083 - Id 218
Sun Jul 14 21:12:46 2024 : Debug: (1) Proxying request to home server
34.71.27.162 port 2083 (TLS) timeout 30.000000
Sun Jul 14 21:12:46 2024 : Debug: (1) Sent Access-Request Id 218 from
10.210.0.17:52075 to 34.71.27.162:2083 length 459
Sun Jul 14 21:12:46 2024 : Debug: (1) User-Name = "
anonymous(a)test.orportal.org"
Sun Jul 14 21:12:46 2024 : Debug: (1) NAS-IP-Address = 192.168.1.116
Sun Jul 14 21:12:46 2024 : Debug: (1) NAS-Identifier =
"E0-CB-BC-8A-1A-6E:vap2"
Sun Jul 14 21:12:46 2024 : Debug: (1) Called-Station-Id :=
"EA-CB-AC-8A-1A-6E"
Sun Jul 14 21:12:46 2024 : Debug: (1) NAS-Port-Type = Wireless-802.11
Sun Jul 14 21:12:46 2024 : Debug: (1) Service-Type = Framed-User
Sun Jul 14 21:12:46 2024 : Debug: (1) NAS-Port = 1
Sun Jul 14 21:12:46 2024 : Debug: (1) Calling-Station-Id :=
"92-D4-9F-CE-0B-03"
Sun Jul 14 21:12:46 2024 : Debug: (1) Connect-Info = "CONNECT 54.00 Mbps
/ 802.11ac / RSSI: 59 / Channel: 40"
Sun Jul 14 21:12:46 2024 : Debug: (1) Acct-Session-Id = "61F9B0FCE7763CE0"
Sun Jul 14 21:12:46 2024 : Debug: (1) Acct-Multi-Session-Id =
"8549D73EAF2A1D02"
Sun Jul 14 21:12:46 2024 : Debug: (1) WLAN-Pairwise-Cipher = 1027076
Sun Jul 14 21:12:46 2024 : Debug: (1) WLAN-Group-Cipher = 1027076
Sun Jul 14 21:12:46 2024 : Debug: (1) WLAN-AKM-Suite = 1027073
Sun Jul 14 21:12:46 2024 : Debug: (1) Meraki-Ap-Name =
"meraki-mr42-test-ap"
Sun Jul 14 21:12:46 2024 : Debug: (1) Meraki-Ap-Tags = " recently-added "
Sun Jul 14 21:12:46 2024 : Debug: (1) Meraki-Device-Name =
"meraki-mr42-test-ap"
Sun Jul 14 21:12:46 2024 : Debug: (1) Framed-MTU = 1400
Sun Jul 14 21:12:46 2024 : Debug: (1) EAP-Message =
0x0244002001616e6f6e796d6f757340746573742e6f72706f7274616c2e6f7267
Sun Jul 14 21:12:46 2024 : Debug: (1) HS20-AP-Version = 1
Sun Jul 14 21:12:46 2024 : Debug: (1) HS20-Mobile-Device-Version =
0x010000
Sun Jul 14 21:12:46 2024 : Debug: (1) HS20-Roaming-Consortium =
0x5a03ba0000
Sun Jul 14 21:12:46 2024 : Debug: (1) Message-Authenticator =
0xc65d316989bbd3bf645feb05d9cd5633
Sun Jul 14 21:12:46 2024 : Debug: (1) Event-Timestamp = "Jul 14 2024
21:12:46 UTC"
Sun Jul 14 21:12:46 2024 : Debug: (1) Proxy-State = 0x313133
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[TWCH] - Client SSLv3/TLS write client hello (12)
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
read more data: SSLv3/TLS write client hello
Sun Jul 14 21:12:46 2024 : Debug: (TLS) SSL_connect() returned WANT_READ
Sun Jul 14 21:12:46 2024 : Debug: (1) (TLS) has 457 bytes in the buffer
Sun Jul 14 21:12:46 2024 : Debug: (1) (TLS) Saving 459 bytes of RADIUS
traffic for later (total 916)
Sun Jul 14 21:12:46 2024 : Debug: Thread 4 waiting to be assigned a request
Sun Jul 14 21:12:46 2024 : Debug: Waking up in 0.3 seconds.
Sun Jul 14 21:12:46 2024 : Debug: Proxy SSL socket has data to read
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[TWCH] - Client SSLv3/TLS write client hello (12)
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - recv TLS 1.3
Handshake, ServerHello
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[TRSH] - Client SSLv3/TLS read server hello (3)
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - recv TLS 1.3
Handshake, EncryptedExtensions
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[TREE] - Client TLSv1.3 read encrypted extensions (38)
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - recv TLS 1.3
Handshake, CertificateRequest
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Client : Need to
read more data: SSLv3/TLS read server certificate request
Sun Jul 14 21:12:46 2024 : Debug: (TLS) SSL_connect() returned WANT_READ
Sun Jul 14 21:12:46 2024 : Debug: Waking up in 0.2 seconds.
Sun Jul 14 21:12:46 2024 : Debug: Proxy SSL socket has data to read
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Handshake state
[TRCR] - Client SSLv3/TLS read server certificate request (7)
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - recv TLS 1.3
Handshake, Certificate
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Creating
attributes from 4 certificate in chain
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) chain-depth : 3
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) error : 0
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) common name : openroaming.org
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) subject :
/C=US/ST=California/L=San Jose/O=Cisco Systems, Inc./OU=Openroaming/CN=
openroaming.org/emailAddress=enb-devops@cisco.com
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) issuer :
/C=US/ST=California/L=San Jose/O=Cisco Systems, Inc./OU=Openroaming/CN=
openroaming.org/emailAddress=enb-devops@cisco.com
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) verify return : 1
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Creating
attributes from 3 certificate in chain
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) chain-depth : 2
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) error : 0
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) common name : openroaming.org
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) subject :
/C=SG/ST=Singapore/L=Singapore/O=Wireless Broadband Alliance/OU=WBA/CN=
openroaming.org/emailAddress=enb-devops@cisco.com/dnQualifier=WBA WRIX ECC
Policy Intermediate CA-01
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) issuer :
/C=US/ST=California/L=San Jose/O=Cisco Systems, Inc./OU=Openroaming/CN=
openroaming.org/emailAddress=enb-devops@cisco.com
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) verify return : 1
Sun Jul 14 21:12:46 2024 : Debug: (0) (TLS) RADIUS/TLS - Creating
attributes from 2 certificate in chain
and the rest works.... auth is successful.
When I restore back to 3.2.3 with the exact same config, it works the first
time, every time.
I have tested against 4 different proxy home servers and they all have
similar behaviour so it must be some local issue. Any thoughts?
Thanks,
James
3
7
I am building Freeradius 3.2.2 and Openssl 3.3.0 separately. And for
enabling tls 1.0 and legacy ciphers, I configured both of them.
*My freeradius eap configuration as shown below*
eap {
default_eap_type = tls
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 4096
tls-config tls-common {
private_key_password = whatever
private_key_file = ${certdir}/server.pem
certificate_file = ${certdir}/server.pem
ca_file = ${certdir}/ca.pem
dh_file = ${certdir}/dh
random_file = ${certdir}/random
cipher_list = "DEFAULT@SECLEVEL=0"
tls_min_version = "1.0"
ecdh_curve = "secp256k1:secp384r1:secp521r1:prime256v1:X448:X25519"
cache {
enable = no
lifetime = 24
max_entries = 255
}
verify{}
}
tls {
tls = tls-common
}
}
To test the TLSv1.0 authentication, I am using eapol_test as a client which
is provided by wpa supplicant (v 2.9). And I have already configured the
openssl.cnf file in the client computer as it supports tlsv1.0.
*eapol_test configuration file:*
network={
phase1="tls_disable_tlsv1_0=0 tls_disable_tlsv1_1=1
tls_disable_tlsv1_2=1 tls_disable_tlsv1_3=1 peapver=0"
ssid="test-ssid"
key_mgmt=WPA-EAP
eap=TLS
identity="testuser"
ca_cert="/path/to/ca.pem"
client_cert="/path/to/client.pem"
private_key="/path/to/client.key"
private_key_passwd="clientkeypassword"
eapol_flags=3
}
Testing with eapol_test is working properly and successfully. But when
another hardware device is used as a client with same configured
certificates and configurations, I am getting an error as below
Debug: (14) eap_tls: (TLS) recv TLS 1.0 Alert, fatal internal_error
Debug: (14) eap_tls: (TLS) The client is informing us that there is a
failure inside the TLS protocol exchange.
ERROR: (14) eap_tls: (TLS) Alert read:fatal:internal error
Debug: (14) eap_tls: (TLS) Server : Need to read more data: error
ERROR: (14) eap_tls: (TLS) Failed reading from OpenSSL:
ssl/record/rec_layer_s3.c[907]:error:0A000438:SSL routines::tlsv1 alert
internal error
Debug: (14) eap_tls: (TLS) In Handshake Phase
Debug: (14) eap_tls: (TLS) Application data.
ERROR: (14) eap_tls: (TLS) Cannot continue, as the peer is misbehaving.
ERROR: (14) eap_tls: [eaptls process] = fail
ERROR: (14) eap: Failed continuing EAP TLS (13) session. EAP sub-module
failed
Do you have any thoughts about this issue? I know that it is probably about
the client side. But any suggestions or thoughts would be great. I have
already checked certificates, protocol matches and cipher suites that are
provided by client and server side.
Thank you.
Caglar
1
0
Can I have someone tell me what are the fields which need to be changed in the ca.cnf and server.cnf files, page states "some fields(highlighted in bold) should be edited....." But I cannot see what fields are highlighted in bold?
https://deployingradius.com/documents/configuration/certificates.html
thank you
----------------------------
Ryan McGuire | Systems Administrator
Century Gaming Technologies - Billings
PO Box 21138 Billings, MT 59101
C: 406-860-1299
E: rmcguire(a)cgtmt.com
W: www.cgtmt.com
Confidentiality Statement:
This e-mail contains confidential information which also may be privileged. Unless you are the addressee (or authorized to receive for the addressee), you may not copy, use, disclose or distribute the e-mail message or any information contained in the message. If you have received this e-mail message in error, please advise the sender by replying to this message or by telephone and then promptly delete it.
----------------------------
1
0
17 Jul '24
I'm using this code as per the documentation in order to support dynamic
home servers:
--------
if (User-Name =~ /(a)(.*)$/) {
switch "%{home_server_dynamic:%{1}}" {
case "1" {
# Proxy to this one particular home server
update control {
&Home-Server-Name := "%{1}"
}
}
case "0" {
# Proxy with home server pool, failover, etc.
update control {
&Proxy-To-Realm := "%{1}"
}
}
case {
# no home server exists, ask DNS
update control {
&Temp-Home-Server-String :=
`%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh -d
%{config:confdir} %{1} aaa+auth:radius.tls.tcp`
}
if ("%{control:Temp-Home-Server-String}" == "" ) {
reject
} else {
update control {
&Home-Server-Name := "%{1}"
}
}
}
}
}
--------
If there is no existing dynamic server in the home_servers folder it works
fine and dynamically creates it (i.e. home_servers/openroaming.goog), all
good:
--------
Sat Jul 13 19:28:14 2024 : Debug: (0) if (User-Name =~ /(a)(.*)$/) ->
TRUE
Sat Jul 13 19:28:14 2024 : Debug: (0) if (User-Name =~ /(a)(.*)$/) {
Sat Jul 13 19:28:14 2024 : Debug: (0) switch
%{home_server_dynamic:%{1}} {
Sat Jul 13 19:28:14 2024 : Debug: (0) EXPAND
%{home_server_dynamic:%{1}}
Sat Jul 13 19:28:14 2024 : Debug: (0) -->
Sat Jul 13 19:28:14 2024 : Debug: (0) case {
Sat Jul 13 19:28:14 2024 : Debug: (0) update control {
Sat Jul 13 19:28:14 2024 : Debug: (0) Executing:
%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh -d
%{config:confdir} %{1} aaa+auth:radius.tls.tcp:
Sat Jul 13 19:28:14 2024 : Debug:
%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:14 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:14 2024 : Debug: xlat --> config
Sat Jul 13 19:28:14 2024 : Debug: {
Sat Jul 13 19:28:14 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:14 2024 : Debug: literal -->
/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:14 2024 : Debug: confdir
Sat Jul 13 19:28:14 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:14 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:14 2024 : Debug: (0) EXPAND confdir
Sat Jul 13 19:28:14 2024 : Debug: (0) --> confdir
Sat Jul 13 19:28:14 2024 : Debug: (0) EXPAND
%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:14 2024 : Debug: (0) -->
/usr/local/etc/raddb/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:14 2024 : Debug: %{config:confdir}
Sat Jul 13 19:28:14 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:14 2024 : Debug: xlat --> config
Sat Jul 13 19:28:14 2024 : Debug: {
Sat Jul 13 19:28:14 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:14 2024 : Debug: confdir
Sat Jul 13 19:28:14 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:14 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:14 2024 : Debug: (0) EXPAND confdir
Sat Jul 13 19:28:14 2024 : Debug: (0) --> confdir
Sat Jul 13 19:28:14 2024 : Debug: (0) EXPAND %{config:confdir}
Sat Jul 13 19:28:14 2024 : Debug: (0) -->
/usr/local/etc/raddb
Sat Jul 13 19:28:14 2024 : Debug: %{1}
Sat Jul 13 19:28:14 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:14 2024 : Debug: regex-var --> 1
Sat Jul 13 19:28:14 2024 : Debug: (0) EXPAND %{1}
Sat Jul 13 19:28:14 2024 : Debug: (0) --> openroaming.goog
Sat Jul 13 19:28:14 2024 : Debug: Waking up in 0.3 seconds.
Sat Jul 13 19:28:14 2024 : Debug: ... new connection request on command
socket
Sat Jul 13 19:28:14 2024 : Debug: Listening on command file
/usr/local/var/run/radiusd/radiusd.sock
Sat Jul 13 19:28:14 2024 : Debug: Waking up in 0.2 seconds.
Sat Jul 13 19:28:14 2024 : Debug: radmin> add home_server file
/usr/local/etc/raddb/home_servers/openroaming.goog
Sat Jul 13 19:28:14 2024 : Debug: including configuration file
/usr/local/etc/raddb/home_servers/openroaming.goog
Sat Jul 13 19:28:14 2024 : Debug: including configuration file
/usr/local/etc/raddb/home_servers/tls.conf
Sat Jul 13 19:28:14 2024 : Debug: home_server openroaming.goog {
Sat Jul 13 19:28:14 2024 : Debug: nonblock = no
Sat Jul 13 19:28:14 2024 : Debug: ipaddr = radsec.openroaming.goog
IPv4 address [146.148.44.172]
Sat Jul 13 19:28:14 2024 : Debug: port = 2083
Sat Jul 13 19:28:14 2024 : Debug: type = "auth"
Sat Jul 13 19:28:14 2024 : Debug: proto = "tcp"
Sat Jul 13 19:28:14 2024 : Debug: secret = "radsec"
Sat Jul 13 19:28:14 2024 : Debug: response_window = 30.000000
Sat Jul 13 19:28:14 2024 : Debug: response_timeouts = 1
Sat Jul 13 19:28:14 2024 : Debug: max_outstanding = 65536
Sat Jul 13 19:28:14 2024 : Debug: zombie_period = 40
Sat Jul 13 19:28:14 2024 : Debug: status_check = "none"
Sat Jul 13 19:28:14 2024 : Debug: ping_interval = 30
Sat Jul 13 19:28:14 2024 : Debug: check_timeout = 4
Sat Jul 13 19:28:14 2024 : Debug: num_answers_to_alive = 3
Sat Jul 13 19:28:14 2024 : Debug: revive_interval = 300
Sat Jul 13 19:28:14 2024 : Debug: limit {
Sat Jul 13 19:28:14 2024 : Debug: max_connections = 16
Sat Jul 13 19:28:14 2024 : Debug: max_requests = 0
Sat Jul 13 19:28:14 2024 : Debug: lifetime = 0
Sat Jul 13 19:28:14 2024 : Debug: idle_timeout = 0
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:14 2024 : Debug: coa {
Sat Jul 13 19:28:14 2024 : Debug: irt = 2
Sat Jul 13 19:28:14 2024 : Debug: mrt = 16
Sat Jul 13 19:28:14 2024 : Debug: mrc = 5
Sat Jul 13 19:28:14 2024 : Debug: mrd = 30
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:14 2024 : Debug: recv_coa {
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:14 2024 : Debug: tls {
Sat Jul 13 19:28:14 2024 : Debug: verify_depth = 0
Sat Jul 13 19:28:14 2024 : Debug: pem_file_type = yes
Sat Jul 13 19:28:14 2024 : Debug: private_key_file =
"/usr/local/etc/raddb/certs/x.key"
Sat Jul 13 19:28:14 2024 : Debug: certificate_file =
"/usr/local/etc/raddb/certs/x.crt"
Sat Jul 13 19:28:14 2024 : Debug: ca_file =
"/usr/local/etc/raddb/certs/ca/x.ca"
Sat Jul 13 19:28:14 2024 : Debug: private_key_password = ""
Sat Jul 13 19:28:14 2024 : Debug: fragment_size = 8192
Sat Jul 13 19:28:14 2024 : Debug: include_length = yes
Sat Jul 13 19:28:14 2024 : Debug: check_crl = no
Sat Jul 13 19:28:14 2024 : Debug: cipher_list = "ALL"
Sat Jul 13 19:28:14 2024 : Debug: ca_path_reload_interval = 0
Sat Jul 13 19:28:14 2024 : Debug: ecdh_curve = "prime256v1"
Sat Jul 13 19:28:14 2024 : Debug: tls_max_version = "1.3"
Sat Jul 13 19:28:14 2024 : Debug: tls_min_version = "1.2"
Sat Jul 13 19:28:14 2024 : Debug: }
Sat Jul 13 19:28:15 2024 : Debug: (0) Program returned code
(0) and output 'openroaming.goog'
Sat Jul 13 19:28:15 2024 : Debug: (0)
&Temp-Home-Server-String := openroaming.goog
Sat Jul 13 19:28:15 2024 : Debug: (0) } # update control = noop
Sat Jul 13 19:28:15 2024 : Debug: (0) if
("%{control:Temp-Home-Server-String}" == "" ) {
Sat Jul 13 19:28:15 2024 : Debug: (0) if
("%{control:Temp-Home-Server-String}" == "" ) -> FALSE
Sat Jul 13 19:28:15 2024 : Debug: (0) else {
Sat Jul 13 19:28:15 2024 : Debug: (0) update control {
Sat Jul 13 19:28:15 2024 : Debug: (0) EXPAND %{1}
Sat Jul 13 19:28:15 2024 : Debug: (0) -->
openroaming.goog
Sat Jul 13 19:28:15 2024 : Debug: (0) &Home-Server-Name :=
openroaming.goog
Sat Jul 13 19:28:15 2024 : Debug: (0) } # update control =
noop
Sat Jul 13 19:28:15 2024 : Debug: (0) } # else = noop
Sat Jul 13 19:28:15 2024 : Debug: (0) } # case = noop
Sat Jul 13 19:28:15 2024 : Debug: (0) } # switch
%{home_server_dynamic:%{1}} = noop
Sat Jul 13 19:28:15 2024 : Debug: (0) } # if (User-Name =~ /(a)(.*)$/)
= noop
--------
It then does it's normal EAP transaction to/from the client, and on each
incoming request during the negotiation, it's correctly detecting that the
home_server file exists, so does not perform the lookup again as expected,
i.e.:
--------
Sat Jul 13 19:28:15 2024 : Debug: (1) if (User-Name =~ /(a)(.*)$/) {
Sat Jul 13 19:28:15 2024 : Debug: (1) if (User-Name =~ /(a)(.*)$/) ->
TRUE
Sat Jul 13 19:28:15 2024 : Debug: (1) if (User-Name =~ /(a)(.*)$/) {
Sat Jul 13 19:28:15 2024 : Debug: (1) switch
%{home_server_dynamic:%{1}} {
Sat Jul 13 19:28:15 2024 : Debug: (1) EXPAND
%{home_server_dynamic:%{1}}
Sat Jul 13 19:28:15 2024 : Debug: (1) --> 1
Sat Jul 13 19:28:15 2024 : Debug: (1) case 1 {
Sat Jul 13 19:28:15 2024 : Debug: (1) update control {
Sat Jul 13 19:28:15 2024 : Debug: (1) EXPAND %{1}
Sat Jul 13 19:28:15 2024 : Debug: (1) --> openroaming.goog
Sat Jul 13 19:28:15 2024 : Debug: (1) &Home-Server-Name :=
openroaming.goog
Sat Jul 13 19:28:15 2024 : Debug: (1) } # update control = noop
Sat Jul 13 19:28:15 2024 : Debug: (1) } # case 1 = noop
Sat Jul 13 19:28:15 2024 : Debug: (1) } # switch
%{home_server_dynamic:%{1}} = noop
Sat Jul 13 19:28:15 2024 : Debug: (1) } # if (User-Name =~ /(a)(.*)$/)
= noop
----------
Once the EAP stuff is all done, it fires off the request to the dynamic
home_server:
----------
Sat Jul 13 19:28:15 2024 : Debug: (0) Proxying due to Home-Server-Name
Sat Jul 13 19:28:15 2024 : Debug: (0) Starting proxy to home server
146.148.44.172 port 2083
Sat Jul 13 19:28:15 2024 : Debug: (0) proxy: Trying to allocate ID (0/2)
Sat Jul 13 19:28:15 2024 : Debug: (0) proxy: Trying to open a new listener
to the home server
Sat Jul 13 19:28:15 2024 : Debug: Waking up in 0.1 seconds.
Sat Jul 13 19:28:15 2024 : Info: ... shutting down socket command file
/usr/local/var/run/radiusd/radiusd.sock
Sat Jul 13 19:28:15 2024 : Debug: ... cleaning up socket command file
/usr/local/var/run/radiusd/radiusd.sock
Sat Jul 13 19:28:15 2024 : Debug: Waking up in 0.1 seconds.
Sat Jul 13 19:28:15 2024 : Debug: (TLS) Trying new outgoing proxy
connection to proxy (0.0.0.0, 0) -> home_server (146.148.44.172, 2083)
[snip]
Sat Jul 13 19:28:16 2024 : Auth: (4) Login OK: [anonymous(a)openroaming.goog]
Sat Jul 13 19:28:16 2024 : Debug: (4) Sent Access-Accept Id 35
Sat Jul 13 19:28:16 2024 : Debug: (4) MS-MPPE-Recv-Key =
0xaf73c99cadd7b68fe589b4a55648308437e348ce1a733f77623ef0d69faa32d4
Sat Jul 13 19:28:16 2024 : Debug: (4) MS-MPPE-Send-Key =
0x2f965f6006a00599da680104627ddc25271e67dc3bc5f8e1491668d39e04cc77
Sat Jul 13 19:28:16 2024 : Debug: (4) EAP-Message = 0x031a0004
Sat Jul 13 19:28:16 2024 : Debug: (4) Message-Authenticator =
0x1e4dbd72d829dc1f639bf159e99556ce
Sat Jul 13 19:28:16 2024 : Debug: (4) User-Name = "
anonymous(a)openroaming.goog"
--------
And the user is authed successfully.
Now, when the accounting start packet comes in, it fails to see that the
home_server file exists, tries to create it again, fails, then doesn't
proxy it:
--------
Sat Jul 13 19:28:17 2024 : Debug: (8) if (User-Name =~ /(a)(.*)$/) {
Sat Jul 13 19:28:17 2024 : Debug: (8) if (User-Name =~ /(a)(.*)$/) ->
TRUE
Sat Jul 13 19:28:17 2024 : Debug: (8) if (User-Name =~ /(a)(.*)$/) {
Sat Jul 13 19:28:17 2024 : Debug: (8) switch
%{home_server_dynamic:%{1}} {
Sat Jul 13 19:28:17 2024 : Debug: (8) EXPAND
%{home_server_dynamic:%{1}}
Sat Jul 13 19:28:17 2024 : Debug: (8) -->
Sat Jul 13 19:28:17 2024 : Debug: (8) case {
Sat Jul 13 19:28:17 2024 : Debug: (8) update control {
Sat Jul 13 19:28:17 2024 : Debug: (8) Executing:
%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh -d
%{config:confdir} %{1} aaa+auth:radius.tls.tcp:
Sat Jul 13 19:28:17 2024 : Debug:
%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:17 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:17 2024 : Debug: xlat --> config
Sat Jul 13 19:28:17 2024 : Debug: {
Sat Jul 13 19:28:17 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Debug: literal -->
/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:17 2024 : Debug: confdir
Sat Jul 13 19:28:17 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:17 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:17 2024 : Debug: (8) EXPAND confdir
Sat Jul 13 19:28:17 2024 : Debug: (8) --> confdir
Sat Jul 13 19:28:17 2024 : Debug: (8) EXPAND
%{config:confdir}/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:17 2024 : Debug: (8) -->
/usr/local/etc/raddb/mods-config/realm/freeradius-naptr-to-home-server.sh
Sat Jul 13 19:28:17 2024 : Debug: %{config:confdir}
Sat Jul 13 19:28:17 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:17 2024 : Debug: xlat --> config
Sat Jul 13 19:28:17 2024 : Debug: {
Sat Jul 13 19:28:17 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Debug: confdir
Sat Jul 13 19:28:17 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:17 2024 : Debug: literal --> confdir
Sat Jul 13 19:28:17 2024 : Debug: (8) EXPAND confdir
Sat Jul 13 19:28:17 2024 : Debug: (8) --> confdir
Sat Jul 13 19:28:17 2024 : Debug: (8) EXPAND %{config:confdir}
Sat Jul 13 19:28:17 2024 : Debug: (8) -->
/usr/local/etc/raddb
Sat Jul 13 19:28:17 2024 : Debug: %{1}
Sat Jul 13 19:28:17 2024 : Debug: Parsed xlat tree:
Sat Jul 13 19:28:17 2024 : Debug: regex-var --> 1
Sat Jul 13 19:28:17 2024 : Debug: (8) EXPAND %{1}
Sat Jul 13 19:28:17 2024 : Debug: (8) --> openroaming.goog
Sat Jul 13 19:28:17 2024 : Debug: Waking up in 0.3 seconds.
Sat Jul 13 19:28:17 2024 : Debug: ... new connection request on command
socket
Sat Jul 13 19:28:17 2024 : Debug: Listening on command file
/usr/local/var/run/radiusd/radiusd.sock
Sat Jul 13 19:28:17 2024 : Debug: Waking up in 0.2 seconds.
Sat Jul 13 19:28:17 2024 : Debug: radmin> add home_server file
/usr/local/etc/raddb/home_servers/openroaming.goog
Sat Jul 13 19:28:17 2024 : Debug: including configuration file
/usr/local/etc/raddb/home_servers/openroaming.goog
Sat Jul 13 19:28:17 2024 : Debug: including configuration file
/usr/local/etc/raddb/home_servers/tls.conf
Sat Jul 13 19:28:17 2024 : Debug: home_server openroaming.goog {
Sat Jul 13 19:28:17 2024 : Debug: nonblock = no
Sat Jul 13 19:28:17 2024 : Debug: ipaddr = radsec.openroaming.goog
IPv4 address [146.148.44.172]
Sat Jul 13 19:28:17 2024 : Debug: port = 2083
Sat Jul 13 19:28:17 2024 : Debug: type = "auth"
Sat Jul 13 19:28:17 2024 : Debug: proto = "tcp"
Sat Jul 13 19:28:17 2024 : Debug: secret = "radsec"
Sat Jul 13 19:28:17 2024 : Debug: response_window = 30.000000
Sat Jul 13 19:28:17 2024 : Debug: response_timeouts = 1
Sat Jul 13 19:28:17 2024 : Debug: max_outstanding = 65536
Sat Jul 13 19:28:17 2024 : Debug: zombie_period = 40
Sat Jul 13 19:28:17 2024 : Debug: status_check = "none"
Sat Jul 13 19:28:17 2024 : Debug: ping_interval = 30
Sat Jul 13 19:28:17 2024 : Debug: check_timeout = 4
Sat Jul 13 19:28:17 2024 : Debug: num_answers_to_alive = 3
Sat Jul 13 19:28:17 2024 : Debug: revive_interval = 300
Sat Jul 13 19:28:17 2024 : Debug: limit {
Sat Jul 13 19:28:17 2024 : Debug: max_connections = 16
Sat Jul 13 19:28:17 2024 : Debug: max_requests = 0
Sat Jul 13 19:28:17 2024 : Debug: lifetime = 0
Sat Jul 13 19:28:17 2024 : Debug: idle_timeout = 0
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Debug: coa {
Sat Jul 13 19:28:17 2024 : Debug: irt = 2
Sat Jul 13 19:28:17 2024 : Debug: mrt = 16
Sat Jul 13 19:28:17 2024 : Debug: mrc = 5
Sat Jul 13 19:28:17 2024 : Debug: mrd = 30
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Debug: recv_coa {
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Debug: tls {
Sat Jul 13 19:28:17 2024 : Debug: verify_depth = 0
Sat Jul 13 19:28:17 2024 : Debug: pem_file_type = yes
Sat Jul 13 19:28:17 2024 : Debug: private_key_file =
"/usr/local/etc/raddb/certs/x.key"
Sat Jul 13 19:28:17 2024 : Debug: certificate_file =
"/usr/local/etc/raddb/certs/x.crt"
Sat Jul 13 19:28:17 2024 : Debug: ca_file =
"/usr/local/etc/raddb/certs/ca/x.ca"
Sat Jul 13 19:28:17 2024 : Debug: private_key_password = ""
Sat Jul 13 19:28:17 2024 : Debug: fragment_size = 8192
Sat Jul 13 19:28:17 2024 : Debug: include_length = yes
Sat Jul 13 19:28:17 2024 : Debug: check_crl = no
Sat Jul 13 19:28:17 2024 : Debug: cipher_list = "ALL"
Sat Jul 13 19:28:17 2024 : Debug: ca_path_reload_interval = 0
Sat Jul 13 19:28:17 2024 : Debug: ecdh_curve = "prime256v1"
Sat Jul 13 19:28:17 2024 : Debug: tls_max_version = "1.3"
Sat Jul 13 19:28:17 2024 : Debug: tls_min_version = "1.2"
Sat Jul 13 19:28:17 2024 : Debug: }
Sat Jul 13 19:28:17 2024 : Error: /usr/local/etc/raddb/home_servers/
openroaming.goog[1]: Duplicate home server name openroaming.goog
ERROR: Unable to add home server - Failed adding home_server to the
internal data structures
--------
Is this a bug, or am I missing something? It appears
%{home_server_dynamic:%{1} is not working for accounting packets. Is it
because type = "auth" is configured in the dynamically created home_server
file and it doesn't realise it should also use it for accounting? p.s. it
seems the dynamic home_server files do not allow type = "auth+acct", is
that correct? You can't create two home_server files with the same name
either, so what should I do?
The %{home_server_dynamic:%{1} check in subsequent authentication packets
works as expected so it only seems to affect accounting.
Thanks,
James
2
12
Hi all,
I am a newbie in Freeradius and trying to test the use of SQL server to dynamically update freeradius clients. The setup is using Red Hat 8, freeradius 3.0.20-14 and mariadb. My scenario will need to update the clients without the need to restart radiusd service.Thus I started using SQL DB as the source for freeradius clients.
SQL module is configured to use mysql and other queries are commented in /etc/raddb/mods-config/sql/main/mysql/queries.conf
The commented queries are authorize_check_query, authorize_reply_query, group_membership_query, authorize_group_check_query, authorize_group_reply_query.
As of now, it works as follows. When radiusd is started, it will load the clients from the database table.However, adding/removing of clients in the table will not take affect until the service is restarted again.
Below is the output of radiusd -X. If more information is required, please let me know.
[root@freeradiu2 raddb]# radiusd -X
FreeRADIUS Version 3.0.20
Copyright (C) 1999-2019 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/raddb/dictionary
including configuration file /etc/raddb/radiusd.conf
including configuration file /etc/raddb/proxy.conf
including configuration file /etc/raddb/clients.conf
including configuration file /etc/raddb/mods-enabled/sql
including configuration file /etc/raddb/mods-config/sql/main/mysql/queries.conf
including files in directory /etc/raddb/mods-enabled/
including configuration file /etc/raddb/mods-enabled/always
including configuration file /etc/raddb/mods-enabled/attr_filter
including configuration file /etc/raddb/mods-enabled/cache_eap
including configuration file /etc/raddb/mods-enabled/chap
including configuration file /etc/raddb/mods-enabled/date
including configuration file /etc/raddb/mods-enabled/detail
including configuration file /etc/raddb/mods-enabled/detail.log
including configuration file /etc/raddb/mods-enabled/digest
including configuration file /etc/raddb/mods-enabled/dynamic_clients
including configuration file /etc/raddb/mods-enabled/echo
including configuration file /etc/raddb/mods-enabled/exec
including configuration file /etc/raddb/mods-enabled/expiration
including configuration file /etc/raddb/mods-enabled/expr
including configuration file /etc/raddb/mods-enabled/files
including configuration file /etc/raddb/mods-enabled/linelog
including configuration file /etc/raddb/mods-enabled/logintime
including configuration file /etc/raddb/mods-enabled/mschap
including configuration file /etc/raddb/mods-enabled/ntlm_auth
including configuration file /etc/raddb/mods-enabled/pap
including configuration file /etc/raddb/mods-enabled/passwd
including configuration file /etc/raddb/mods-enabled/preprocess
including configuration file /etc/raddb/mods-enabled/radutmp
including configuration file /etc/raddb/mods-enabled/realm
including configuration file /etc/raddb/mods-enabled/replicate
including configuration file /etc/raddb/mods-enabled/soh
including configuration file /etc/raddb/mods-enabled/sradutmp
including configuration file /etc/raddb/mods-enabled/unix
including configuration file /etc/raddb/mods-enabled/unpack
including configuration file /etc/raddb/mods-enabled/utf8
including configuration file /etc/raddb/mods-enabled/perl
including files in directory /etc/raddb/policy.d/
including configuration file /etc/raddb/policy.d/accounting
including configuration file /etc/raddb/policy.d/canonicalization
including configuration file /etc/raddb/policy.d/control
including configuration file /etc/raddb/policy.d/cui
including configuration file /etc/raddb/policy.d/debug
including configuration file /etc/raddb/policy.d/dhcp
including configuration file /etc/raddb/policy.d/eap
including configuration file /etc/raddb/policy.d/filter
including configuration file /etc/raddb/policy.d/operator-name
including configuration file /etc/raddb/policy.d/rfc7542
including files in directory /etc/raddb/sites-enabled/
including configuration file /etc/raddb/sites-enabled/mysite
including configuration file /etc/raddb/sites-enabled/control-socket
main {
security {
user = "radiusd"
group = "radiusd"
allow_core_dumps = no
}
name = "radiusd"
prefix = "/usr"
localstatedir = "/var"
logdir = "/var/log/radius"
run_dir = "/var/run/radiusd"
}
main {
name = "radiusd"
prefix = "/usr"
localstatedir = "/var"
sbindir = "/usr/sbin"
logdir = "/var/log/radius"
run_dir = "/var/run/radiusd"
libdir = "/usr/lib64/freeradius"
radacctdir = "/var/log/radius/radacct"
hostname_lookups = no
max_request_time = 30
cleanup_delay = 5
max_requests = 16384
pidfile = "/var/run/radiusd/radiusd.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 {
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
}
}
Debugger not attached
# Creating Auth-Type = Perl
radiusd: #### Instantiating modules ####
modules {
# Loaded module rlm_sql
# Loading module "sql" from file /etc/raddb/mods-enabled/sql
sql {
driver = "rlm_sql_mysql"
server = "localhost"
port = 3306
login = "freeradadmin17"
password = <<< secret >>>
radius_db = "casdb_tenant1"
read_groups = yes
read_profiles = yes
read_clients = yes
delete_stale_sessions = yes
sql_user_name = "%{User-Name}"
default_user_profile = ""
client_query = "SELECT id, nasname, shortname, type, secret, server FROM radclients"
simul_count_query = "SELECT COUNT(*) FROM radacct WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL"
simul_verify_query = "SELECT radacctid, acctsessionid, username, nasipaddress, nasportid, framedipaddress, callingstationid, framedprotocol FROM radacct WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL"
safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
auto_escape = no
accounting {
reference = "%{tolower:type.%{%{Acct-Status-Type}:-%{Request-Processing-Stage}}.query}"
type {
accounting-on {
query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime = '%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND acctstarttime <= FROM_UNIXTIME(%{integer:Event-Timestamp})"
}
accounting-off {
query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime = '%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND acctstarttime <= FROM_UNIXTIME(%{integer:Event-Timestamp})"
}
start {
query = "INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctupdatetime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, framedipv6address, framedipv6prefix, framedinterfaceid, delegatedipv6prefix) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}', '%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp}), FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Framed-IPv6-Address}', '%{Framed-IPv6-Prefix}', '%{Framed-Interface-Id}', '%{Delegated-IPv6-Prefix}')"
}
interim-update {
query = "UPDATE radacct SET acctupdatetime = (@acctupdatetime_old:=acctupdatetime), acctupdatetime = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctinterval = %{integer:Event-Timestamp} - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '%{Framed-IP-Address}', framedipv6address = '%{Framed-IPv6-Address}', framedipv6prefix = '%{Framed-IPv6-Prefix}', framedinterfaceid = '%{Framed-Interface-Id}', delegatedipv6prefix = '%{Delegated-IPv6-Prefix}', acctsessiontime = %{%{Acct-Session-Time}:-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
stop {
query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime = %{%{Acct-Session-Time}:-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}', connectinfo_stop = '%{Connect-Info}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
}
}
post-auth {
reference = ".query"
query = "INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S')"
}
}
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
# Loaded module rlm_always
# Loading module "reject" from file /etc/raddb/mods-enabled/always
always reject {
rcode = "reject"
simulcount = 0
mpp = no
}
# Loading module "fail" from file /etc/raddb/mods-enabled/always
always fail {
rcode = "fail"
simulcount = 0
mpp = no
}
# Loading module "ok" from file /etc/raddb/mods-enabled/always
always ok {
rcode = "ok"
simulcount = 0
mpp = no
}
# Loading module "handled" from file /etc/raddb/mods-enabled/always
always handled {
rcode = "handled"
simulcount = 0
mpp = no
}
# Loading module "invalid" from file /etc/raddb/mods-enabled/always
always invalid {
rcode = "invalid"
simulcount = 0
mpp = no
}
# Loading module "userlock" from file /etc/raddb/mods-enabled/always
always userlock {
rcode = "userlock"
simulcount = 0
mpp = no
}
# Loading module "notfound" from file /etc/raddb/mods-enabled/always
always notfound {
rcode = "notfound"
simulcount = 0
mpp = no
}
# Loading module "noop" from file /etc/raddb/mods-enabled/always
always noop {
rcode = "noop"
simulcount = 0
mpp = no
}
# Loading module "updated" from file /etc/raddb/mods-enabled/always
always updated {
rcode = "updated"
simulcount = 0
mpp = no
}
# Loaded module rlm_attr_filter
# Loading module "attr_filter.post-proxy" from file /etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.post-proxy {
filename = "/etc/raddb/mods-config/attr_filter/post-proxy"
key = "%{Realm}"
relaxed = no
}
# Loading module "attr_filter.pre-proxy" from file /etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.pre-proxy {
filename = "/etc/raddb/mods-config/attr_filter/pre-proxy"
key = "%{Realm}"
relaxed = no
}
# Loading module "attr_filter.access_reject" from file /etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.access_reject {
filename = "/etc/raddb/mods-config/attr_filter/access_reject"
key = "%{User-Name}"
relaxed = no
}
# Loading module "attr_filter.access_challenge" from file /etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.access_challenge {
filename = "/etc/raddb/mods-config/attr_filter/access_challenge"
key = "%{User-Name}"
relaxed = no
}
# Loading module "attr_filter.accounting_response" from file /etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.accounting_response {
filename = "/etc/raddb/mods-config/attr_filter/accounting_response"
key = "%{User-Name}"
relaxed = no
}
# Loaded module rlm_cache
# Loading module "cache_eap" from file /etc/raddb/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_chap
# Loading module "chap" from file /etc/raddb/mods-enabled/chap
# Loaded module rlm_date
# Loading module "date" from file /etc/raddb/mods-enabled/date
date {
format = "%b %e %Y %H:%M:%S %Z"
utc = no
}
# Loading module "wispr2date" from file /etc/raddb/mods-enabled/date
date wispr2date {
format = "%Y-%m-%dT%H:%M:%S"
utc = no
}
# Loaded module rlm_detail
# Loading module "detail" from file /etc/raddb/mods-enabled/detail
detail {
filename = "/var/log/radius/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
}
# Loading module "auth_log" from file /etc/raddb/mods-enabled/detail.log
detail auth_log {
filename = "/var/log/radius/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/raddb/mods-enabled/detail.log
detail reply_log {
filename = "/var/log/radius/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/raddb/mods-enabled/detail.log
detail pre_proxy_log {
filename = "/var/log/radius/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/raddb/mods-enabled/detail.log
detail post_proxy_log {
filename = "/var/log/radius/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_digest
# Loading module "digest" from file /etc/raddb/mods-enabled/digest
# Loaded module rlm_dynamic_clients
# Loading module "dynamic_clients" from file /etc/raddb/mods-enabled/dynamic_clients
# Loaded module rlm_exec
# Loading module "echo" from file /etc/raddb/mods-enabled/echo
exec echo {
wait = yes
program = "/bin/echo %{User-Name}"
input_pairs = "request"
output_pairs = "reply"
shell_escape = yes
}
# Loading module "exec" from file /etc/raddb/mods-enabled/exec
exec {
wait = no
input_pairs = "request"
shell_escape = yes
timeout = 10
}
# Loaded module rlm_expiration
# Loading module "expiration" from file /etc/raddb/mods-enabled/expiration
# Loaded module rlm_expr
# Loading module "expr" from file /etc/raddb/mods-enabled/expr
expr {
safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
# Loaded module rlm_files
# Loading module "files" from file /etc/raddb/mods-enabled/files
files {
filename = "/etc/raddb/mods-config/files/authorize"
acctusersfile = "/etc/raddb/mods-config/files/accounting"
preproxy_usersfile = "/etc/raddb/mods-config/files/pre-proxy"
}
# Loaded module rlm_linelog
# Loading module "linelog" from file /etc/raddb/mods-enabled/linelog
linelog {
filename = "syslog"
escape_filenames = no
syslog_facility = "local1"
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/raddb/mods-enabled/linelog
linelog log_accounting {
filename = "/var/log/radius/linelog-accounting"
escape_filenames = no
syslog_severity = "info"
permissions = 384
format = ""
reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
}
# Loaded module rlm_logintime
# Loading module "logintime" from file /etc/raddb/mods-enabled/logintime
logintime {
minimum_timeout = 60
}
# Loaded module rlm_mschap
# Loading module "mschap" from file /etc/raddb/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
}
# Loading module "ntlm_auth" from file /etc/raddb/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_pap
# Loading module "pap" from file /etc/raddb/mods-enabled/pap
pap {
normalise = yes
}
# Loaded module rlm_passwd
# Loading module "etc_passwd" from file /etc/raddb/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_preprocess
# Loading module "preprocess" from file /etc/raddb/mods-enabled/preprocess
preprocess {
huntgroups = "/etc/raddb/mods-config/preprocess/huntgroups"
hints = "/etc/raddb/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_radutmp
# Loading module "radutmp" from file /etc/raddb/mods-enabled/radutmp
radutmp {
filename = "/var/log/radius/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 384
caller_id = yes
}
# Loaded module rlm_realm
# Loading module "IPASS" from file /etc/raddb/mods-enabled/realm
realm IPASS {
format = "prefix"
delimiter = "/"
ignore_default = no
ignore_null = no
}
# Loading module "suffix" from file /etc/raddb/mods-enabled/realm
realm suffix {
format = "suffix"
delimiter = "@"
ignore_default = no
ignore_null = no
}
# Loading module "bangpath" from file /etc/raddb/mods-enabled/realm
realm bangpath {
format = "prefix"
delimiter = "!"
ignore_default = no
ignore_null = no
}
# Loading module "realmpercent" from file /etc/raddb/mods-enabled/realm
realm realmpercent {
format = "suffix"
delimiter = "%"
ignore_default = no
ignore_null = no
}
# Loading module "ntdomain" from file /etc/raddb/mods-enabled/realm
realm ntdomain {
format = "prefix"
delimiter = "\\"
ignore_default = no
ignore_null = no
}
# Loaded module rlm_replicate
# Loading module "replicate" from file /etc/raddb/mods-enabled/replicate
# Loaded module rlm_soh
# Loading module "soh" from file /etc/raddb/mods-enabled/soh
soh {
dhcp = yes
}
# Loading module "sradutmp" from file /etc/raddb/mods-enabled/sradutmp
radutmp sradutmp {
filename = "/var/log/radius/sradutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 420
caller_id = no
}
# Loaded module rlm_unix
# Loading module "unix" from file /etc/raddb/mods-enabled/unix
unix {
radwtmp = "/var/log/radius/radwtmp"
}
Creating attribute Unix-Group
# Loaded module rlm_unpack
# Loading module "unpack" from file /etc/raddb/mods-enabled/unpack
# Loaded module rlm_utf8
# Loading module "utf8" from file /etc/raddb/mods-enabled/utf8
# Loaded module rlm_perl
# Loading module "perl" from file /etc/raddb/mods-enabled/perl
perl {
filename = "/etc/raddb/plugin/agent.pl"
func_authorize = "authorize"
func_authenticate = "authenticate"
func_post_auth = "post_auth"
func_accounting = "accounting"
func_preacct = "preacct"
func_checksimul = "checksimul"
func_detach = "detach"
func_xlat = "xlat"
func_pre_proxy = "pre_proxy"
func_post_proxy = "post_proxy"
func_recv_coa = "recv_coa"
func_send_coa = "send_coa"
perl_flags = "-T"
}
instantiate {
}
# Instantiating module "sql" from file /etc/raddb/mods-enabled/sql
rlm_sql_mysql: libmysql version: 10.5.5
mysql {
tls {
tls_required = no
check_cert = no
check_cert_cn = no
}
warnings = "auto"
}
rlm_sql (sql): Attempting to connect to database "casdb_tenant1"
rlm_sql (sql): Initialising connection pool
pool {
start = 5
min = 3
max = 32
spare = 10
uses = 0
lifetime = 0
cleanup_interval = 30
idle_timeout = 60
retry_delay = 30
spread = no
}
rlm_sql (sql): Opening additional connection (0), 1 of 32 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'casdb_tenant1' on Localhost via UNIX socket, server version 10.3.35-MariaDB, protocol version 10
rlm_sql (sql): Opening additional connection (1), 1 of 31 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'casdb_tenant1' on Localhost via UNIX socket, server version 10.3.35-MariaDB, protocol version 10
rlm_sql (sql): Opening additional connection (2), 1 of 30 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'casdb_tenant1' on Localhost via UNIX socket, server version 10.3.35-MariaDB, protocol version 10
rlm_sql (sql): Opening additional connection (3), 1 of 29 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'casdb_tenant1' on Localhost via UNIX socket, server version 10.3.35-MariaDB, protocol version 10
rlm_sql (sql): Opening additional connection (4), 1 of 28 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'casdb_tenant1' on Localhost via UNIX socket, server version 10.3.35-MariaDB, protocol version 10
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname, shortname, type, secret, server FROM radclients
rlm_sql (sql): Reserved connection (0)
rlm_sql (sql): Executing select query: SELECT id, nasname, shortname, type, secret, server FROM radclients
rlm_sql (sql): Adding client 10.0.8.150 (rheloscap) to global clients list
rlm_sql (10.0.8.150): Client "rheloscap" (sql) added
rlm_sql (sql): Adding client 10.0.1.148 (RHwinreg) to global clients list
rlm_sql (10.0.1.148): Client "RHwinreg" (sql) added
rlm_sql (sql): Released connection (0)
Need 5 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (5), 1 of 27 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'casdb_tenant1' on Localhost via UNIX socket, server version 10.3.35-MariaDB, protocol version 10
# Instantiating module "reject" from file /etc/raddb/mods-enabled/always
# Instantiating module "fail" from file /etc/raddb/mods-enabled/always
# Instantiating module "ok" from file /etc/raddb/mods-enabled/always
# Instantiating module "handled" from file /etc/raddb/mods-enabled/always
# Instantiating module "invalid" from file /etc/raddb/mods-enabled/always
# Instantiating module "userlock" from file /etc/raddb/mods-enabled/always
# Instantiating module "notfound" from file /etc/raddb/mods-enabled/always
# Instantiating module "noop" from file /etc/raddb/mods-enabled/always
# Instantiating module "updated" from file /etc/raddb/mods-enabled/always
# Instantiating module "attr_filter.post-proxy" from file /etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/post-proxy
# Instantiating module "attr_filter.pre-proxy" from file /etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/pre-proxy
# Instantiating module "attr_filter.access_reject" from file /etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/access_reject
# Instantiating module "attr_filter.access_challenge" from file /etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/access_challenge
# Instantiating module "attr_filter.accounting_response" from file /etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/accounting_response
# Instantiating module "cache_eap" from file /etc/raddb/mods-enabled/cache_eap
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
# Instantiating module "detail" from file /etc/raddb/mods-enabled/detail
# Instantiating module "auth_log" from file /etc/raddb/mods-enabled/detail.log
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
# Instantiating module "reply_log" from file /etc/raddb/mods-enabled/detail.log
# Instantiating module "pre_proxy_log" from file /etc/raddb/mods-enabled/detail.log
# Instantiating module "post_proxy_log" from file /etc/raddb/mods-enabled/detail.log
# Instantiating module "expiration" from file /etc/raddb/mods-enabled/expiration
# Instantiating module "files" from file /etc/raddb/mods-enabled/files
reading pairlist file /etc/raddb/mods-config/files/authorize
reading pairlist file /etc/raddb/mods-config/files/accounting
reading pairlist file /etc/raddb/mods-config/files/pre-proxy
# Instantiating module "linelog" from file /etc/raddb/mods-enabled/linelog
# Instantiating module "log_accounting" from file /etc/raddb/mods-enabled/linelog
# Instantiating module "logintime" from file /etc/raddb/mods-enabled/logintime
# Instantiating module "mschap" from file /etc/raddb/mods-enabled/mschap
rlm_mschap (mschap): using internal authentication
# Instantiating module "pap" from file /etc/raddb/mods-enabled/pap
# Instantiating module "etc_passwd" from file /etc/raddb/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
# Instantiating module "preprocess" from file /etc/raddb/mods-enabled/preprocess
reading pairlist file /etc/raddb/mods-config/preprocess/huntgroups
reading pairlist file /etc/raddb/mods-config/preprocess/hints
# Instantiating module "IPASS" from file /etc/raddb/mods-enabled/realm
# Instantiating module "suffix" from file /etc/raddb/mods-enabled/realm
# Instantiating module "bangpath" from file /etc/raddb/mods-enabled/realm
# Instantiating module "realmpercent" from file /etc/raddb/mods-enabled/realm
# Instantiating module "ntdomain" from file /etc/raddb/mods-enabled/realm
# Instantiating module "perl" from file /etc/raddb/mods-enabled/perl
} # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/raddb/radiusd.conf
} # server
server mysite { # from file /etc/raddb/sites-enabled/mysite
# Loading authenticate {...}
# Loading authorize {...}
# Loading post-auth {...}
} # server mysite
radiusd: #### Opening IP addresses and Ports ####
listen {
type = "control"
listen {
socket = "/var/run/radiusd/radiusd.sock"
peercred = yes
}
}
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
}
}
Listening on command file /var/run/radiusd/radiusd.sock
Listening on auth address * port 1812 bound to server mysite
Listening on acct address * port 1813 bound to server mysite
Listening on proxy address * port 44656
Ready to process requests
4
7
Hi,
I upgraded to 3.2.5 and added the following configurations to the
security section in the radius.conf.
require_message_authenticator = yes
limit_proxy_state = yes
I've noticed an unexpected behavior. When I send an access request without
the Message-Authenticator but with the Proxy-State, I still get an access
rejected response rather than the expected access discarded. Could you
please clarify if this is the intended behavior?
I am using the dynamic clients. Does that override the client configs? I
don't add the &FreeRADIUS-Client-Require-MA setting.
Thanks for your help.
2
1
When I get ready to run by debugging log its showing
Failed to add duplicate client mikrotik
Failed to add client, possible duplicate?
I’m not seeing where this would be entered twice?
Also, showing No ‘ipaddr or ‘ipv4addr’ or ‘ipv6addr’ field found in client 0.0.0.0/0. Please fix your configuration
Where would I change this and what would this be the address of?
Thank you
root@freeradius:~# freeradius -X
FreeRADIUS Version 3.0.26
Copyright (C) 1999-2021 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/detail.log
including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients
including configuration file /etc/freeradius/3.0/mods-enabled/digest
including configuration file /etc/freeradius/3.0/mods-enabled/always
including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp
including configuration file /etc/freeradius/3.0/mods-enabled/mschap
including configuration file /etc/freeradius/3.0/mods-enabled/preprocess
including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter
including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap
including configuration file /etc/freeradius/3.0/mods-enabled/chap
including configuration file /etc/freeradius/3.0/mods-enabled/expr
including configuration file /etc/freeradius/3.0/mods-enabled/realm
including configuration file /etc/freeradius/3.0/mods-enabled/unpack
including configuration file /etc/freeradius/3.0/mods-enabled/files
including configuration file /etc/freeradius/3.0/mods-enabled/exec
including configuration file /etc/freeradius/3.0/mods-enabled/logintime
including configuration file /etc/freeradius/3.0/mods-enabled/linelog
including configuration file /etc/freeradius/3.0/mods-enabled/eap
including configuration file /etc/freeradius/3.0/mods-enabled/echo
including configuration file /etc/freeradius/3.0/mods-enabled/replicate
including configuration file /etc/freeradius/3.0/mods-enabled/sql
including configuration file /etc/freeradius/3.0/mods-config/sql/main/mysql/queries.conf
including configuration file /etc/freeradius/3.0/mods-enabled/soh
including configuration file /etc/freeradius/3.0/mods-enabled/detail
including configuration file /etc/freeradius/3.0/mods-enabled/passwd
including configuration file /etc/freeradius/3.0/mods-enabled/radutmp
including configuration file /etc/freeradius/3.0/mods-enabled/pap
including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth
including configuration file /etc/freeradius/3.0/mods-enabled/unix
including configuration file /etc/freeradius/3.0/mods-enabled/expiration
including configuration file /etc/freeradius/3.0/mods-enabled/utf8
including files in directory /etc/freeradius/3.0/policy.d/
including configuration file /etc/freeradius/3.0/policy.d/accounting
including configuration file /etc/freeradius/3.0/policy.d/control
including configuration file /etc/freeradius/3.0/policy.d/cui
including configuration file /etc/freeradius/3.0/policy.d/operator-name
including configuration file /etc/freeradius/3.0/policy.d/canonicalization
including configuration file /etc/freeradius/3.0/policy.d/filter
including configuration file /etc/freeradius/3.0/policy.d/eap
including configuration file /etc/freeradius/3.0/policy.d/debug
including configuration file /etc/freeradius/3.0/policy.d/abfab-tr
including configuration file /etc/freeradius/3.0/policy.d/rfc7542
including configuration file /etc/freeradius/3.0/policy.d/dhcp
including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids
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
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 {
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 mikrotik-router {
ipaddr = 10.108.21.198
require_message_authenticator = no
secret = <<< secret >>>
nas_type = "other"
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 0.0.0.0/0 {
require_message_authenticator = no
secret = <<< secret >>>
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
No 'ipaddr' or 'ipv4addr' or 'ipv6addr' field found in client 0.0.0.0/0. Please fix your configuration
Support for old-style clients will be removed in a future release
client ::/0 {
require_message_authenticator = no
secret = <<< secret >>>
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
No 'ipaddr' or 'ipv4addr' or 'ipv6addr' field found in client ::/0. Please fix your configuration
Support for old-style clients will be removed in a future release
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 Autz-Type = New-TLS-Connection
radiusd: #### Instantiating modules ####
modules {
# Loaded module rlm_detail
# 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_dynamic_clients
# Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients
# Loaded module rlm_digest
# Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest
# 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_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_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
winbind_retry_with_normalised_username = no
}
# 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_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
}
# Loading module "attr_filter.coa" from file /etc/freeradius/3.0/mods-enabled/attr_filter
attr_filter attr_filter.coa {
filename = "/etc/freeradius/3.0/mods-config/attr_filter/coa"
key = "%{User-Name}"
relaxed = no
}
# 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_chap
# Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
# Loaded module rlm_expr
# Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
expr {
safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
# 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 "bangpath" from file /etc/freeradius/3.0/mods-enabled/realm
realm bangpath {
format = "prefix"
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_unpack
# Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack
# 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_exec
# 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_logintime
# Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
logintime {
minimum_timeout = 60
}
# 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_eap
# Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
eap {
default_eap_type = "md5"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 16384
}
# 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_replicate
# Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate
# Loaded module rlm_sql
# Loading module "sql" from file /etc/freeradius/3.0/mods-enabled/sql
sql {
driver = "rlm_sql_mysql"
server = "localhost"
port = 3306
login = "radius"
password = <<< secret >>>
radius_db = "radius"
read_groups = yes
read_profiles = yes
read_clients = yes
delete_stale_sessions = yes
sql_user_name = "%{User-Name}"
default_user_profile = ""
client_query = "SELECT id, nasname, shortname, type, secret, server FROM nas"
authorize_check_query = "SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id"
authorize_reply_query = "SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id"
authorize_group_check_query = "SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{SQL-Group}' ORDER BY id"
authorize_group_reply_query = "SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{SQL-Group}' ORDER BY id"
group_membership_query = "SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority"
simul_count_query = "SELECT COUNT(*) FROM radacct WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL"
simul_verify_query = "SELECT radacctid, acctsessionid, username, nasipaddress, nasportid, framedipaddress, callingstationid, framedprotocol FROM radacct WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL"
safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
auto_escape = no
accounting {
reference = "%{tolower:type.%{%{Acct-Status-Type}:-%{Request-Processing-Stage}}.query}"
type {
accounting-on {
query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l}), acctsessiontime = '%{%{integer:Event-Timestamp}:-%l}' - UNIX_TIMESTAMP(acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND acctstarttime <= FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l})"
}
accounting-off {
query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l}), acctsessiontime = '%{%{integer:Event-Timestamp}:-%l}' - UNIX_TIMESTAMP(acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND acctstarttime <= FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l})"
}
start {
query = "INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctupdatetime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, framedipv6address, framedipv6prefix, framedinterfaceid, delegatedipv6prefix ) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}', '%{NAS-Port-Type}', FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l}), FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l}), NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Framed-IPv6-Address}', '%{Framed-IPv6-Prefix}', '%{Framed-Interface-Id}', '%{Delegated-IPv6-Prefix}' )"
}
interim-update {
query = "UPDATE radacct SET acctupdatetime = (@acctupdatetime_old:=acctupdatetime), acctupdatetime = FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l}), acctinterval = %{%{integer:Event-Timestamp}:-%l} - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '%{Framed-IP-Address}', framedipv6address = '%{Framed-IPv6-Address}', framedipv6prefix = '%{Framed-IPv6-Prefix}', framedinterfaceid = '%{Framed-Interface-Id}', delegatedipv6prefix = '%{Delegated-IPv6-Prefix}', acctsessiontime = %{%{Acct-Session-Time}:-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
stop {
query = "UPDATE radacct SET acctstoptime = FROM_UNIXTIME(%{%{integer:Event-Timestamp}:-%l}), acctsessiontime = %{%{Acct-Session-Time}:-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}', connectinfo_stop = '%{Connect-Info}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
}
}
post-auth {
reference = ".query"
query = "INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S.%M' )"
}
}
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
Creating attribute SQL-Group
# Loaded module rlm_soh
# Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
soh {
dhcp = yes
}
# 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_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
}
# 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_pap
# Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
pap {
normalise = yes
}
# 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_unix
# Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix
unix {
radwtmp = "/var/log/freeradius/radwtmp"
}
Creating attribute Unix-Group
# Loaded module rlm_expiration
# Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
# Loaded module rlm_utf8
# Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
instantiate {
}
# 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 "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 "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
rlm_mschap (mschap): using internal authentication
# 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 "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
# 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 "attr_filter.coa" from file /etc/freeradius/3.0/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/coa
# 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 "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
# Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
# Instantiating module "bangpath" 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 "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 "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
# 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 "eap" from file /etc/freeradius/3.0/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/3.0/certs"
pem_file_type = yes
private_key_file = "/etc/ssl/private/ssl-cert-snakeoil.key"
certificate_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem"
ca_file = "/etc/ssl/certs/ca-certificates.crt"
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 = "md5"
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 = yes
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 "sql" from file /etc/freeradius/3.0/mods-enabled/sql
rlm_sql_mysql: libmysql version: 8.0.37
mysql {
tls {
tls_required = no
check_cert = no
check_cert_cn = no
}
warnings = "auto"
}
rlm_sql (sql): Attempting to connect to database "radius"
rlm_sql (sql): Initialising connection pool
pool {
start = 5
min = 3
max = 32
spare = 10
uses = 0
lifetime = 0
cleanup_interval = 30
idle_timeout = 60
retry_delay = 30
spread = no
}
rlm_sql (sql): Opening additional connection (0), 1 of 32 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.6.18-MariaDB-0ubuntu0.22.04.1, protocol version 10
rlm_sql (sql): Opening additional connection (1), 1 of 31 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.6.18-MariaDB-0ubuntu0.22.04.1, protocol version 10
rlm_sql (sql): Opening additional connection (2), 1 of 30 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.6.18-MariaDB-0ubuntu0.22.04.1, protocol version 10
rlm_sql (sql): Opening additional connection (3), 1 of 29 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.6.18-MariaDB-0ubuntu0.22.04.1, protocol version 10
rlm_sql (sql): Opening additional connection (4), 1 of 28 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.6.18-MariaDB-0ubuntu0.22.04.1, protocol version 10
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname, shortname, type, secret, server FROM nas
rlm_sql (sql): Reserved connection (0)
rlm_sql (sql): Executing select query: SELECT id, nasname, shortname, type, secret, server FROM nas
rlm_sql (sql): Adding client 10.108.21.198 (mikrotik) to global clients list
Failed to add duplicate client mikrotik
Failed to add client, possible duplicate?
rlm_sql (sql): Released connection (0)
Need more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (5), 1 of 27 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.6.18-MariaDB-0ubuntu0.22.04.1, protocol version 10
# Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
# Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
# Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
# Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
} # 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 {...}
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
# Loading authorize {...}
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/3.0/sites-enabled/inner-tunnel
# 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
# Loading authorize {...}
# Loading session {...}
# Loading post-proxy {...}
# Loading post-auth {...}
# Skipping contents of 'if' as it is always 'false' -- /etc/freeradius/3.0/sites-enabled/inner-tunnel:336
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 = 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 39492
Listening on proxy address :: port 51772
Ready to process requests
----------------------------
Ryan McGuire | Systems Administrator
Century Gaming Technologies - Billings
PO Box 21138 Billings, MT 59101
C: 406-860-1299
E: rmcguire(a)cgtmt.com
W: www.cgtmt.com
Confidentiality Statement:
This e-mail contains confidential information which also may be privileged. Unless you are the addressee (or authorized to receive for the addressee), you may not copy, use, disclose or distribute the e-mail message or any information contained in the message. If you have received this e-mail message in error, please advise the sender by replying to this message or by telephone and then promptly delete it.
----------------------------
2
4
On Jul 16, 2024, at 9:47 AM, Nechev, Kaloyan <kaloyan.nechev-ext(a)solvay.com> wrote:
> We are currently running FreeRADIUS version 3.0.26. According to the upgrade guide on the FreeRADIUS security page (https://www.freeradius.org/security/) it is suggested to change certain security flags in the `radiusd.conf` file.
>
> We would like to know if making these changes to the security flags in `radiusd.conf` is sufficient, or if it is still necessary to upgrade to version 3.0.27 to ensure optimal security.
The flags don't exist in 3.0.26.
All of the documentation and security notifications say that the flags were added in 3.0.27, and that you have to set them after upgrading.
Alan DeKok.
1
0