Freeradius-Users
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- 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
- 3 participants
- 27065 discussions
I am trying to setup my Cambium radios to use my instance of freeradius, which I have working for several other network devices. I have found out from Cambium that there are 2 attributes that need to be passed along to make it work. I have added to the dictionary files the attributes.
ATTRIBUTE Cambium-Canopy-UserLevel 50 integer #Userlevel permission for the User logging in remotely
ATTRIBUTE Cambium-Canopy-UserMode 51 integer #UserMode permission for the User logging in remotely(1=Read-Only 0=Read-Write)
I have added these attributes with the appropriate integer in active directory, but when I try to login the attributes are not being passed along to the device. The only thing I've seen where passing the attribute along successfully is to add individual users in clients.conf but I would rather not have to manage user information in radius when I have AD doing that.
Below is the debug attempt of my login. I see a successful login, but missing the 2 attributes. What might I be missing?
(0) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 101
(0) Calling-Station-Id = "0A-00-3E-45-1E-66"
(0) User-Name = "lukes"
(0) NAS-IP-Address = 172.31.5.168
(0) NAS-Port = 5
(0) NAS-Port-Type = Wireless-Other
(0) Framed-MTU = 1020
(0) EAP-Message = 0x0201000b016c756b657300
(0) Message-Authenticator = 0xc2694530afcdc83b4f125b59ef9f2f30
(0) # Executing section authorize from file /etc/raddb/sites-enabled/default
(0) authorize {
(0) policy filter_username {
(0) if (&User-Name) {
(0) if (&User-Name) -> TRUE
(0) if (&User-Name) {
(0) if (&User-Name =~ / /) {
(0) if (&User-Name =~ / /) -> FALSE
(0) if (&User-Name =~ /@[^@]*@/ ) {
(0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(0) if (&User-Name =~ /\.\./ ) {
(0) if (&User-Name =~ /\.\./ ) -> FALSE
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /(a)\./) {
(0) if (&User-Name =~ /(a)\./) -> FALSE
(0) } # if (&User-Name) = notfound
(0) } # policy filter_username = notfound
(0) [preprocess] = ok
(0) [chap] = noop
(0) [mschap] = noop
(0) [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) eap: Peer sent EAP Response (code 2) ID 1 length 11
(0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(0) [eap] = ok
(0) } # authorize = ok
(0) Found Auth-Type = eap
(0) # Executing group from file /etc/raddb/sites-enabled/default
(0) authenticate {
(0) eap: Peer sent packet with method EAP Identity (1)
(0) eap: Calling submodule eap_peap to process data
(0) eap_peap: Initiating new EAP-TLS session
(0) eap_peap: [eaptls start] = request
(0) eap: Sending EAP Request (code 1) ID 2 length 6
(0) eap: EAP session adding &reply:State = 0x862cdf61862ec680
(0) [eap] = handled
(0) } # authenticate = handled
(0) Using Post-Auth-Type Challenge
(0) # Executing group from file /etc/raddb/sites-enabled/default
(0) Challenge { ... } # empty sub-section is ignored
(0) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(0) EAP-Message = 0x010200061920
(0) Message-Authenticator = 0x00000000000000000000000000000000
(0) State = 0x862cdf61862ec680fd28d95218ffb4d1
(0) Finished request
Waking up in 4.9 seconds.
(0) Cleaning up request packet ID 0 with timestamp +59
(1) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 176
(1) Calling-Station-Id = "0A-00-3E-45-1E-66"
(1) User-Name = "lukes"
(1) State = 0x862cdf61862ec680fd28d95218ffb4d1
(1) NAS-IP-Address = 172.31.5.168
(1) NAS-Port = 5
(1) NAS-Port-Type = Wireless-Other
(1) Framed-MTU = 1020
(1) EAP-Message = 0x0202004419800000003a16030100350100003103018cd12ea3235c5bce505390ed819da84dbdaf430da7c28d9a376a82a56e9f3ef000000a0035002f00040005000a0100
(1) Message-Authenticator = 0x48e4a0d10984feb213cf25bff897851d
(1) session-state: No cached attributes
(1) # Executing section authorize from file /etc/raddb/sites-enabled/default
(1) authorize {
(1) policy filter_username {
(1) if (&User-Name) {
(1) if (&User-Name) -> TRUE
(1) if (&User-Name) {
(1) if (&User-Name =~ / /) {
(1) if (&User-Name =~ / /) -> FALSE
(1) if (&User-Name =~ /@[^@]*@/ ) {
(1) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(1) if (&User-Name =~ /\.\./ ) {
(1) if (&User-Name =~ /\.\./ ) -> FALSE
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(1) if (&User-Name =~ /\.$/) {
(1) if (&User-Name =~ /\.$/) -> FALSE
(1) if (&User-Name =~ /(a)\./) {
(1) if (&User-Name =~ /(a)\./) -> FALSE
(1) } # if (&User-Name) = notfound
(1) } # policy filter_username = notfound
(1) [preprocess] = ok
(1) [chap] = noop
(1) [mschap] = noop
(1) [digest] = noop
(1) suffix: Checking for suffix after "@"
(1) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(1) suffix: No such realm "NULL"
(1) [suffix] = noop
(1) eap: Peer sent EAP Response (code 2) ID 2 length 68
(1) eap: Continuing tunnel setup
(1) [eap] = ok
(1) } # authorize = ok
(1) Found Auth-Type = eap
(1) # Executing group from file /etc/raddb/sites-enabled/default
(1) authenticate {
(1) eap: Expiring EAP session with state 0x862cdf61862ec680
(1) eap: Finished EAP session with state 0x862cdf61862ec680
(1) eap: Previous EAP request found for state 0x862cdf61862ec680, released from the list
(1) eap: Peer sent packet with method EAP PEAP (25)
(1) eap: Calling submodule eap_peap to process data
(1) eap_peap: Continuing EAP-TLS
(1) eap_peap: Peer indicated complete TLS record size will be 58 bytes
(1) eap_peap: Got complete TLS record (58 bytes)
(1) eap_peap: [eaptls verify] = length included
(1) eap_peap: (other): before/accept initialization
(1) eap_peap: TLS_accept: before/accept initialization
(1) eap_peap: <<< recv TLS 1.0 Handshake [length 0035], ClientHello
(1) eap_peap: TLS_accept: SSLv3 read client hello A
(1) eap_peap: >>> send TLS 1.0 Handshake [length 002a], ServerHello
(1) eap_peap: TLS_accept: SSLv3 write server hello A
(1) eap_peap: >>> send TLS 1.0 Handshake [length 06ab], Certificate
(1) eap_peap: TLS_accept: SSLv3 write certificate A
(1) eap_peap: >>> send TLS 1.0 Handshake [length 0004], ServerHelloDone
(1) eap_peap: TLS_accept: SSLv3 write server done A
(1) eap_peap: TLS_accept: SSLv3 flush data
(1) eap_peap: TLS_accept: SSLv3 read client certificate A
(1) eap_peap: TLS_accept: Need to read more data: SSLv3 read client key exchange A
(1) eap_peap: TLS_accept: Need to read more data: SSLv3 read client key exchange A
(1) eap_peap: In SSL Handshake Phase
(1) eap_peap: In SSL Accept mode
(1) eap_peap: [eaptls process] = handled
(1) eap: Sending EAP Request (code 1) ID 3 length 1004
(1) eap: EAP session adding &reply:State = 0x862cdf61872fc680
(1) [eap] = handled
(1) } # authenticate = handled
(1) Using Post-Auth-Type Challenge
(1) # Executing group from file /etc/raddb/sites-enabled/default
(1) Challenge { ... } # empty sub-section is ignored
(1) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(1) EAP-Message = 0x010303ec19c0000006e8160301002a02000026030171cb3f8517dc997d4442c272fbbf7781a6b651b974cf6ab281e452ff4523ef290000350016030106ab0b0006a70006a40003523082034e308202b7a003020102020101300d06092a864886f70d01010505003081c0310b3009060355040613025553
(1) Message-Authenticator = 0x00000000000000000000000000000000
(1) State = 0x862cdf61872fc680fd28d95218ffb4d1
(1) Finished request
Waking up in 4.9 seconds.
(1) Cleaning up request packet ID 0 with timestamp +59
(2) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 114
(2) Calling-Station-Id = "0A-00-3E-45-1E-66"
(2) User-Name = "lukes"
(2) State = 0x862cdf61872fc680fd28d95218ffb4d1
(2) NAS-IP-Address = 172.31.5.168
(2) NAS-Port = 5
(2) NAS-Port-Type = Wireless-Other
(2) Framed-MTU = 1020
(2) EAP-Message = 0x020300061900
(2) Message-Authenticator = 0x0046cb9bc798f6b3f90bcf16b34207c3
(2) session-state: No cached attributes
(2) # Executing section authorize from file /etc/raddb/sites-enabled/default
(2) authorize {
(2) policy filter_username {
(2) if (&User-Name) {
(2) if (&User-Name) -> TRUE
(2) if (&User-Name) {
(2) if (&User-Name =~ / /) {
(2) if (&User-Name =~ / /) -> FALSE
(2) if (&User-Name =~ /@[^@]*@/ ) {
(2) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(2) if (&User-Name =~ /\.\./ ) {
(2) if (&User-Name =~ /\.\./ ) -> FALSE
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(2) if (&User-Name =~ /\.$/) {
(2) if (&User-Name =~ /\.$/) -> FALSE
(2) if (&User-Name =~ /(a)\./) {
(2) if (&User-Name =~ /(a)\./) -> FALSE
(2) } # if (&User-Name) = notfound
(2) } # policy filter_username = notfound
(2) [preprocess] = ok
(2) [chap] = noop
(2) [mschap] = noop
(2) [digest] = noop
(2) suffix: Checking for suffix after "@"
(2) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(2) suffix: No such realm "NULL"
(2) [suffix] = noop
(2) eap: Peer sent EAP Response (code 2) ID 3 length 6
(2) eap: Continuing tunnel setup
(2) [eap] = ok
(2) } # authorize = ok
(2) Found Auth-Type = eap
(2) # Executing group from file /etc/raddb/sites-enabled/default
(2) authenticate {
(2) eap: Expiring EAP session with state 0x862cdf61872fc680
(2) eap: Finished EAP session with state 0x862cdf61872fc680
(2) eap: Previous EAP request found for state 0x862cdf61872fc680, released from the list
(2) eap: Peer sent packet with method EAP PEAP (25)
(2) eap: Calling submodule eap_peap to process data
(2) eap_peap: Continuing EAP-TLS
(2) eap_peap: Peer ACKed our handshake fragment
(2) eap_peap: [eaptls verify] = request
(2) eap_peap: [eaptls process] = handled
(2) eap: Sending EAP Request (code 1) ID 4 length 780
(2) eap: EAP session adding &reply:State = 0x862cdf618428c680
(2) [eap] = handled
(2) } # authenticate = handled
(2) Using Post-Auth-Type Challenge
(2) # Executing group from file /etc/raddb/sites-enabled/default
(2) Challenge { ... } # empty sub-section is ignored
(2) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(2) EAP-Message = 0x0104030c1900746f726f6c6120536f6c7574696f6e732c20496e632e31223020060355040b131943616e6f707920576972656c6573732042726f616462616e64312230200603550403131943616e6f707920414141205365727665722044656d6f2043413133303106092a864886f70d01090116247465
(2) Message-Authenticator = 0x00000000000000000000000000000000
(2) State = 0x862cdf618428c680fd28d95218ffb4d1
(2) Finished request
Waking up in 4.9 seconds.
(2) Cleaning up request packet ID 0 with timestamp +59
(3) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 316
(3) Calling-Station-Id = "0A-00-3E-45-1E-66"
(3) User-Name = "lukes"
(3) State = 0x862cdf618428c680fd28d95218ffb4d1
(3) NAS-IP-Address = 172.31.5.168
(3) NAS-Port = 5
(3) NAS-Port-Type = Wireless-Other
(3) Framed-MTU = 1020
(3) EAP-Message = 0x020400d01980000000c61603010086100000820080626fbad9808ba9dc777d6c1c2120b822859d3eb98bd4163f2f8bdfae63ab0209e1277be8ac9e533aa15a7f7299233af08d588310e9840a1101d240aac4c0e1b992f23ef5af48f54c031cb33fc320962196edf05ec1b56cb3074e57f3bc3607ea1097
(3) Message-Authenticator = 0x2b825e7aacef0b15f8719e93c912a8e9
(3) session-state: No cached attributes
(3) # Executing section authorize from file /etc/raddb/sites-enabled/default
(3) authorize {
(3) policy filter_username {
(3) if (&User-Name) {
(3) if (&User-Name) -> TRUE
(3) if (&User-Name) {
(3) if (&User-Name =~ / /) {
(3) if (&User-Name =~ / /) -> FALSE
(3) if (&User-Name =~ /@[^@]*@/ ) {
(3) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(3) if (&User-Name =~ /\.\./ ) {
(3) if (&User-Name =~ /\.\./ ) -> FALSE
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(3) if (&User-Name =~ /\.$/) {
(3) if (&User-Name =~ /\.$/) -> FALSE
(3) if (&User-Name =~ /(a)\./) {
(3) if (&User-Name =~ /(a)\./) -> FALSE
(3) } # if (&User-Name) = notfound
(3) } # policy filter_username = notfound
(3) [preprocess] = ok
(3) [chap] = noop
(3) [mschap] = noop
(3) [digest] = noop
(3) suffix: Checking for suffix after "@"
(3) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(3) suffix: No such realm "NULL"
(3) [suffix] = noop
(3) eap: Peer sent EAP Response (code 2) ID 4 length 208
(3) eap: Continuing tunnel setup
(3) [eap] = ok
(3) } # authorize = ok
(3) Found Auth-Type = eap
(3) # Executing group from file /etc/raddb/sites-enabled/default
(3) authenticate {
(3) eap: Expiring EAP session with state 0x862cdf618428c680
(3) eap: Finished EAP session with state 0x862cdf618428c680
(3) eap: Previous EAP request found for state 0x862cdf618428c680, released from the list
(3) eap: Peer sent packet with method EAP PEAP (25)
(3) eap: Calling submodule eap_peap to process data
(3) eap_peap: Continuing EAP-TLS
(3) eap_peap: Peer indicated complete TLS record size will be 198 bytes
(3) eap_peap: Got complete TLS record (198 bytes)
(3) eap_peap: [eaptls verify] = length included
(3) eap_peap: <<< recv TLS 1.0 Handshake [length 0086], ClientKeyExchange
(3) eap_peap: TLS_accept: SSLv3 read client key exchange A
(3) eap_peap: TLS_accept: SSLv3 read certificate verify A
(3) eap_peap: <<< recv TLS 1.0 ChangeCipherSpec [length 0001]
(3) eap_peap: <<< recv TLS 1.0 Handshake [length 0010], Finished
(3) eap_peap: TLS_accept: SSLv3 read finished A
(3) eap_peap: >>> send TLS 1.0 ChangeCipherSpec [length 0001]
(3) eap_peap: TLS_accept: SSLv3 write change cipher spec A
(3) eap_peap: >>> send TLS 1.0 Handshake [length 0010], Finished
(3) eap_peap: TLS_accept: SSLv3 write finished A
(3) eap_peap: TLS_accept: SSLv3 flush data
(3) eap_peap: (other): SSL negotiation finished successfully
(3) eap_peap: SSL Connection Established
(3) eap_peap: [eaptls process] = handled
(3) eap: Sending EAP Request (code 1) ID 5 length 65
(3) eap: EAP session adding &reply:State = 0x862cdf618529c680
(3) [eap] = handled
(3) } # authenticate = handled
(3) Using Post-Auth-Type Challenge
(3) # Executing group from file /etc/raddb/sites-enabled/default
(3) Challenge { ... } # empty sub-section is ignored
(3) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(3) EAP-Message = 0x010500411900140301000101160301003047ab50ab141904a1bacf123ed1590136c8797a5cf8bf620ed35b8e625290044b6d112ec0e218c871002ae658c92ad88b
(3) Message-Authenticator = 0x00000000000000000000000000000000
(3) State = 0x862cdf618529c680fd28d95218ffb4d1
(3) Finished request
Waking up in 4.9 seconds.
(3) Cleaning up request packet ID 0 with timestamp +60
(4) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 114
(4) Calling-Station-Id = "0A-00-3E-45-1E-66"
(4) User-Name = "lukes"
(4) State = 0x862cdf618529c680fd28d95218ffb4d1
(4) NAS-IP-Address = 172.31.5.168
(4) NAS-Port = 5
(4) NAS-Port-Type = Wireless-Other
(4) Framed-MTU = 1020
(4) EAP-Message = 0x020500061900
(4) Message-Authenticator = 0x915e0aac83abec3cf706555ab021998e
(4) session-state: No cached attributes
(4) # Executing section authorize from file /etc/raddb/sites-enabled/default
(4) authorize {
(4) policy filter_username {
(4) if (&User-Name) {
(4) if (&User-Name) -> TRUE
(4) if (&User-Name) {
(4) if (&User-Name =~ / /) {
(4) if (&User-Name =~ / /) -> FALSE
(4) if (&User-Name =~ /@[^@]*@/ ) {
(4) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(4) if (&User-Name =~ /\.\./ ) {
(4) if (&User-Name =~ /\.\./ ) -> FALSE
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(4) if (&User-Name =~ /\.$/) {
(4) if (&User-Name =~ /\.$/) -> FALSE
(4) if (&User-Name =~ /(a)\./) {
(4) if (&User-Name =~ /(a)\./) -> FALSE
(4) } # if (&User-Name) = notfound
(4) } # policy filter_username = notfound
(4) [preprocess] = ok
(4) [chap] = noop
(4) [mschap] = noop
(4) [digest] = noop
(4) suffix: Checking for suffix after "@"
(4) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(4) suffix: No such realm "NULL"
(4) [suffix] = noop
(4) eap: Peer sent EAP Response (code 2) ID 5 length 6
(4) eap: Continuing tunnel setup
(4) [eap] = ok
(4) } # authorize = ok
(4) Found Auth-Type = eap
(4) # Executing group from file /etc/raddb/sites-enabled/default
(4) authenticate {
(4) eap: Expiring EAP session with state 0x862cdf618529c680
(4) eap: Finished EAP session with state 0x862cdf618529c680
(4) eap: Previous EAP request found for state 0x862cdf618529c680, released from the list
(4) eap: Peer sent packet with method EAP PEAP (25)
(4) eap: Calling submodule eap_peap to process data
(4) eap_peap: Continuing EAP-TLS
(4) eap_peap: Peer ACKed our handshake fragment. handshake is finished
(4) eap_peap: [eaptls verify] = success
(4) eap_peap: [eaptls process] = success
(4) eap_peap: Session established. Decoding tunneled attributes
(4) eap_peap: PEAP state TUNNEL ESTABLISHED
(4) eap: Sending EAP Request (code 1) ID 6 length 43
(4) eap: EAP session adding &reply:State = 0x862cdf61822ac680
(4) [eap] = handled
(4) } # authenticate = handled
(4) Using Post-Auth-Type Challenge
(4) # Executing group from file /etc/raddb/sites-enabled/default
(4) Challenge { ... } # empty sub-section is ignored
(4) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(4) EAP-Message = 0x0106002b19001703010020344fa7772230ac754394b5b99acc7948c9323350d0235aa835d6d42efe262948
(4) Message-Authenticator = 0x00000000000000000000000000000000
(4) State = 0x862cdf61822ac680fd28d95218ffb4d1
(4) Finished request
Waking up in 4.9 seconds.
(4) Cleaning up request packet ID 0 with timestamp +60
(5) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 151
(5) Calling-Station-Id = "0A-00-3E-45-1E-66"
(5) User-Name = "lukes"
(5) State = 0x862cdf61822ac680fd28d95218ffb4d1
(5) NAS-IP-Address = 172.31.5.168
(5) NAS-Port = 5
(5) NAS-Port-Type = Wireless-Other
(5) Framed-MTU = 1020
(5) EAP-Message = 0x0206002b1900170301002000f0b3297dc7898514bf71dc8216fc9faacd0b604c1b3099553553d4700b94af
(5) Message-Authenticator = 0xfb4337c6da9dd9b5416dcd263b2e6bcd
(5) session-state: No cached attributes
(5) # Executing section authorize from file /etc/raddb/sites-enabled/default
(5) authorize {
(5) policy filter_username {
(5) if (&User-Name) {
(5) if (&User-Name) -> TRUE
(5) if (&User-Name) {
(5) if (&User-Name =~ / /) {
(5) if (&User-Name =~ / /) -> FALSE
(5) if (&User-Name =~ /@[^@]*@/ ) {
(5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(5) if (&User-Name =~ /\.\./ ) {
(5) if (&User-Name =~ /\.\./ ) -> FALSE
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(5) if (&User-Name =~ /\.$/) {
(5) if (&User-Name =~ /\.$/) -> FALSE
(5) if (&User-Name =~ /(a)\./) {
(5) if (&User-Name =~ /(a)\./) -> FALSE
(5) } # if (&User-Name) = notfound
(5) } # policy filter_username = notfound
(5) [preprocess] = ok
(5) [chap] = noop
(5) [mschap] = noop
(5) [digest] = noop
(5) suffix: Checking for suffix after "@"
(5) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(5) suffix: No such realm "NULL"
(5) [suffix] = noop
(5) eap: Peer sent EAP Response (code 2) ID 6 length 43
(5) eap: Continuing tunnel setup
(5) [eap] = ok
(5) } # authorize = ok
(5) Found Auth-Type = eap
(5) # Executing group from file /etc/raddb/sites-enabled/default
(5) authenticate {
(5) eap: Expiring EAP session with state 0x862cdf61822ac680
(5) eap: Finished EAP session with state 0x862cdf61822ac680
(5) eap: Previous EAP request found for state 0x862cdf61822ac680, released from the list
(5) eap: Peer sent packet with method EAP PEAP (25)
(5) eap: Calling submodule eap_peap to process data
(5) eap_peap: Continuing EAP-TLS
(5) eap_peap: [eaptls verify] = ok
(5) eap_peap: Done initial handshake
(5) eap_peap: [eaptls process] = ok
(5) eap_peap: Session established. Decoding tunneled attributes
(5) eap_peap: PEAP state WAITING FOR INNER IDENTITY
(5) eap_peap: Identity - lukes
(5) eap_peap: Got inner identity 'lukes'
(5) eap_peap: Setting default EAP type for tunneled EAP session
(5) eap_peap: Got tunneled request
(5) eap_peap: EAP-Message = 0x0206000a016c756b6573
(5) eap_peap: Setting User-Name to lukes
(5) eap_peap: Sending tunneled request to inner-tunnel
(5) eap_peap: EAP-Message = 0x0206000a016c756b6573
(5) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(5) eap_peap: User-Name = "lukes"
(5) Virtual server inner-tunnel received request
(5) EAP-Message = 0x0206000a016c756b6573
(5) FreeRADIUS-Proxied-To = 127.0.0.1
(5) User-Name = "lukes"
(5) WARNING: Outer and inner identities are the same. User privacy is compromised.
(5) server inner-tunnel {
(5) # Executing section authorize from file /etc/raddb/sites-enabled/inner-tunnel
(5) authorize {
(5) policy filter_username {
(5) if (&User-Name) {
(5) if (&User-Name) -> TRUE
(5) if (&User-Name) {
(5) if (&User-Name =~ / /) {
(5) if (&User-Name =~ / /) -> FALSE
(5) if (&User-Name =~ /@[^@]*@/ ) {
(5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(5) if (&User-Name =~ /\.\./ ) {
(5) if (&User-Name =~ /\.\./ ) -> FALSE
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(5) if (&User-Name =~ /\.$/) {
(5) if (&User-Name =~ /\.$/) -> FALSE
(5) if (&User-Name =~ /(a)\./) {
(5) if (&User-Name =~ /(a)\./) -> FALSE
(5) } # if (&User-Name) = notfound
(5) } # policy filter_username = notfound
(5) [chap] = noop
(5) [mschap] = noop
(5) suffix: Checking for suffix after "@"
(5) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(5) suffix: No such realm "NULL"
(5) [suffix] = noop
(5) update control {
(5) &Proxy-To-Realm := LOCAL
(5) } # update control = noop
(5) eap: Peer sent EAP Response (code 2) ID 6 length 10
(5) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(5) [eap] = ok
(5) } # authorize = ok
(5) Found Auth-Type = eap
(5) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(5) authenticate {
(5) eap: Peer sent packet with method EAP Identity (1)
(5) eap: Calling submodule eap_mschapv2 to process data
(5) eap_mschapv2: Issuing Challenge
(5) eap: Sending EAP Request (code 1) ID 7 length 43
(5) eap: EAP session adding &reply:State = 0xe94ee4a2e949fec1
(5) [eap] = handled
(5) } # authenticate = handled
(5) } # server inner-tunnel
(5) Virtual server sending reply
(5) EAP-Message = 0x0107002b1a010700261017281254cb063f1c9cb00c70480f2199667265657261646975732d332e302e3133
(5) Message-Authenticator = 0x00000000000000000000000000000000
(5) State = 0xe94ee4a2e949fec169cde954b0eea027
(5) eap_peap: Got tunneled reply code 11
(5) eap_peap: EAP-Message = 0x0107002b1a010700261017281254cb063f1c9cb00c70480f2199667265657261646975732d332e302e3133
(5) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(5) eap_peap: State = 0xe94ee4a2e949fec169cde954b0eea027
(5) eap_peap: Got tunneled reply RADIUS code 11
(5) eap_peap: EAP-Message = 0x0107002b1a010700261017281254cb063f1c9cb00c70480f2199667265657261646975732d332e302e3133
(5) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(5) eap_peap: State = 0xe94ee4a2e949fec169cde954b0eea027
(5) eap_peap: Got tunneled Access-Challenge
(5) eap: Sending EAP Request (code 1) ID 7 length 75
(5) eap: EAP session adding &reply:State = 0x862cdf61832bc680
(5) [eap] = handled
(5) } # authenticate = handled
(5) Using Post-Auth-Type Challenge
(5) # Executing group from file /etc/raddb/sites-enabled/default
(5) Challenge { ... } # empty sub-section is ignored
(5) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(5) EAP-Message = 0x0107004b190017030100409d6e4e677431f2b28b57f28e3ad28dfcf4beebe46c6185e6a3fcaec6e366de878b310fb526ce8c5490a3cfa14a387537bd13571d132702fbb1fd414675f36564
(5) Message-Authenticator = 0x00000000000000000000000000000000
(5) State = 0x862cdf61832bc680fd28d95218ffb4d1
(5) Finished request
Waking up in 4.9 seconds.
(5) Cleaning up request packet ID 0 with timestamp +60
(6) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 215
(6) Calling-Station-Id = "0A-00-3E-45-1E-66"
(6) User-Name = "lukes"
(6) State = 0x862cdf61832bc680fd28d95218ffb4d1
(6) NAS-IP-Address = 172.31.5.168
(6) NAS-Port = 5
(6) NAS-Port-Type = Wireless-Other
(6) Framed-MTU = 1020
(6) EAP-Message = 0x0207006b190017030100600ab69ea31ea989df07f5baa0683373c64cb2e8cffccb4d26db5eaac310d9f35ece4cd771a3c48167d67aede638d4af2d927ce9f9e08c43fdc85091f4b62e586081047a74d8a9eef3568aded6ddd7f93e77a2b69a149f76665467e96f192bccc0
(6) Message-Authenticator = 0xf9ee7bb6c5095c3b5b937546bd95d7a1
(6) session-state: No cached attributes
(6) # Executing section authorize from file /etc/raddb/sites-enabled/default
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [preprocess] = ok
(6) [chap] = noop
(6) [mschap] = noop
(6) [digest] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) eap: Peer sent EAP Response (code 2) ID 7 length 107
(6) eap: Continuing tunnel setup
(6) [eap] = ok
(6) } # authorize = ok
(6) Found Auth-Type = eap
(6) # Executing group from file /etc/raddb/sites-enabled/default
(6) authenticate {
(6) eap: Expiring EAP session with state 0xe94ee4a2e949fec1
(6) eap: Finished EAP session with state 0x862cdf61832bc680
(6) eap: Previous EAP request found for state 0x862cdf61832bc680, released from the list
(6) eap: Peer sent packet with method EAP PEAP (25)
(6) eap: Calling submodule eap_peap to process data
(6) eap_peap: Continuing EAP-TLS
(6) eap_peap: [eaptls verify] = ok
(6) eap_peap: Done initial handshake
(6) eap_peap: [eaptls process] = ok
(6) eap_peap: Session established. Decoding tunneled attributes
(6) eap_peap: PEAP state phase2
(6) eap_peap: EAP method MSCHAPv2 (26)
(6) eap_peap: Got tunneled request
(6) eap_peap: EAP-Message = 0x020700401a0207003b316798f140cab3e05a89ea91c01e866f900000000000000000b1f21bd704e23807fcd5af4f01fb60fb9df06be9c8ab1e58006c756b6573
(6) eap_peap: Setting User-Name to lukes
(6) eap_peap: Sending tunneled request to inner-tunnel
(6) eap_peap: EAP-Message = 0x020700401a0207003b316798f140cab3e05a89ea91c01e866f900000000000000000b1f21bd704e23807fcd5af4f01fb60fb9df06be9c8ab1e58006c756b6573
(6) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(6) eap_peap: User-Name = "lukes"
(6) eap_peap: State = 0xe94ee4a2e949fec169cde954b0eea027
(6) Virtual server inner-tunnel received request
(6) EAP-Message = 0x020700401a0207003b316798f140cab3e05a89ea91c01e866f900000000000000000b1f21bd704e23807fcd5af4f01fb60fb9df06be9c8ab1e58006c756b6573
(6) FreeRADIUS-Proxied-To = 127.0.0.1
(6) User-Name = "lukes"
(6) State = 0xe94ee4a2e949fec169cde954b0eea027
(6) WARNING: Outer and inner identities are the same. User privacy is compromised.
(6) server inner-tunnel {
(6) session-state: No cached attributes
(6) # Executing section authorize from file /etc/raddb/sites-enabled/inner-tunnel
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [chap] = noop
(6) [mschap] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) update control {
(6) &Proxy-To-Realm := LOCAL
(6) } # update control = noop
(6) eap: Peer sent EAP Response (code 2) ID 7 length 64
(6) eap: No EAP Start, assuming it's an on-going EAP conversation
(6) [eap] = updated
(6) [files] = noop
(6) sql: EXPAND %{User-Name}
(6) sql: --> lukes
(6) sql: SQL-User-Name set to 'lukes'
rlm_sql (sql): Reserved connection (1)
(6) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id
(6) sql: --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'lukes' ORDER BY id
(6) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'lukes' ORDER BY id
(6) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority
(6) sql: --> SELECT groupname FROM radusergroup WHERE username = 'lukes' ORDER BY priority
(6) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'lukes' ORDER BY priority
(6) sql: User not found in any groups
rlm_sql (sql): Released connection (1)
Need 4 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (6), 1 of 26 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 10.1.48-MariaDB, protocol version 10
(6) [sql] = notfound
(6) [expiration] = noop
(6) [logintime] = noop
(6) [pap] = noop
(6) } # authorize = updated
(6) Found Auth-Type = eap
(6) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(6) authenticate {
(6) eap: Expiring EAP session with state 0xe94ee4a2e949fec1
(6) eap: Finished EAP session with state 0xe94ee4a2e949fec1
(6) eap: Previous EAP request found for state 0xe94ee4a2e949fec1, released from the list
(6) eap: Peer sent packet with method EAP MSCHAPv2 (26)
(6) eap: Calling submodule eap_mschapv2 to process data
(6) eap_mschapv2: # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(6) eap_mschapv2: authenticate {
(6) mschap: Creating challenge hash with username: lukes
(6) mschap: Client is using MS-CHAPv2
(6) mschap: Executing: /usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}:
(6) mschap: EXPAND --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
(6) mschap: --> --username=lukes
(6) mschap: Creating challenge hash with username: lukes
(6) mschap: EXPAND --challenge=%{%{mschap:Challenge}:-00}
(6) mschap: --> --challenge=04867947fd296713
(6) mschap: EXPAND --nt-response=%{%{mschap:NT-Response}:-00}
(6) mschap: --> --nt-response=b1f21bd704e23807fcd5af4f01fb60fb9df06be9c8ab1e58
(6) mschap: Program returned code (0) and output 'NT_KEY: E36E79D8BF84FACE5A939A91765AF335'
(6) mschap: Adding MS-CHAPv2 MPPE keys
(6) [mschap] = ok
(6) } # authenticate = ok
(6) MSCHAP Success
(6) eap: Sending EAP Request (code 1) ID 8 length 51
(6) eap: EAP session adding &reply:State = 0xe94ee4a2e846fec1
(6) [eap] = handled
(6) } # authenticate = handled
(6) } # server inner-tunnel
(6) Virtual server sending reply
(6) EAP-Message = 0x010800331a0307002e533d45374643313134394639433844364633333538384536324543373537344236394139453933384144
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0xe94ee4a2e846fec169cde954b0eea027
(6) eap_peap: Got tunneled reply code 11
(6) eap_peap: EAP-Message = 0x010800331a0307002e533d45374643313134394639433844364633333538384536324543373537344236394139453933384144
(6) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(6) eap_peap: State = 0xe94ee4a2e846fec169cde954b0eea027
(6) eap_peap: Got tunneled reply RADIUS code 11
(6) eap_peap: EAP-Message = 0x010800331a0307002e533d45374643313134394639433844364633333538384536324543373537344236394139453933384144
(6) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(6) eap_peap: State = 0xe94ee4a2e846fec169cde954b0eea027
(6) eap_peap: Got tunneled Access-Challenge
(6) eap: Sending EAP Request (code 1) ID 8 length 91
(6) eap: EAP session adding &reply:State = 0x862cdf618024c680
(6) [eap] = handled
(6) } # authenticate = handled
(6) Using Post-Auth-Type Challenge
(6) # Executing group from file /etc/raddb/sites-enabled/default
(6) Challenge { ... } # empty sub-section is ignored
(6) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(6) EAP-Message = 0x0108005b190017030100509f9a8851a7d0c25e698e2d1dd757c58794f2c242bcf640cafcef6e7947df20257cfb4f6b3e9f267608fd3c75f8e4c220b04ab9c384a0bebd2706baa9ce7d907efb3a1730842c4e9b4e7fe2867dd320c7
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0x862cdf618024c680fd28d95218ffb4d1
(6) Finished request
Waking up in 4.9 seconds.
(6) Cleaning up request packet ID 0 with timestamp +60
(7) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 151
(7) Calling-Station-Id = "0A-00-3E-45-1E-66"
(7) User-Name = "lukes"
(7) State = 0x862cdf618024c680fd28d95218ffb4d1
(7) NAS-IP-Address = 172.31.5.168
(7) NAS-Port = 5
(7) NAS-Port-Type = Wireless-Other
(7) Framed-MTU = 1020
(7) EAP-Message = 0x0208002b19001703010020c23277220d0b12ab60813f67ced569f80e0a61be04e8b72bd093245b3a2e2045
(7) Message-Authenticator = 0x43ff556019e29de4a943428604206ca1
(7) session-state: No cached attributes
(7) # Executing section authorize from file /etc/raddb/sites-enabled/default
(7) authorize {
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /(a)\./) {
(7) if (&User-Name =~ /(a)\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [preprocess] = ok
(7) [chap] = noop
(7) [mschap] = noop
(7) [digest] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) eap: Peer sent EAP Response (code 2) ID 8 length 43
(7) eap: Continuing tunnel setup
(7) [eap] = ok
(7) } # authorize = ok
(7) Found Auth-Type = eap
(7) # Executing group from file /etc/raddb/sites-enabled/default
(7) authenticate {
(7) eap: Expiring EAP session with state 0xe94ee4a2e846fec1
(7) eap: Finished EAP session with state 0x862cdf618024c680
(7) eap: Previous EAP request found for state 0x862cdf618024c680, released from the list
(7) eap: Peer sent packet with method EAP PEAP (25)
(7) eap: Calling submodule eap_peap to process data
(7) eap_peap: Continuing EAP-TLS
(7) eap_peap: [eaptls verify] = ok
(7) eap_peap: Done initial handshake
(7) eap_peap: [eaptls process] = ok
(7) eap_peap: Session established. Decoding tunneled attributes
(7) eap_peap: PEAP state phase2
(7) eap_peap: EAP method MSCHAPv2 (26)
(7) eap_peap: Got tunneled request
(7) eap_peap: EAP-Message = 0x020800061a03
(7) eap_peap: Setting User-Name to lukes
(7) eap_peap: Sending tunneled request to inner-tunnel
(7) eap_peap: EAP-Message = 0x020800061a03
(7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(7) eap_peap: User-Name = "lukes"
(7) eap_peap: State = 0xe94ee4a2e846fec169cde954b0eea027
(7) Virtual server inner-tunnel received request
(7) EAP-Message = 0x020800061a03
(7) FreeRADIUS-Proxied-To = 127.0.0.1
(7) User-Name = "lukes"
(7) State = 0xe94ee4a2e846fec169cde954b0eea027
(7) WARNING: Outer and inner identities are the same. User privacy is compromised.
(7) server inner-tunnel {
(7) session-state: No cached attributes
(7) # Executing section authorize from file /etc/raddb/sites-enabled/inner-tunnel
(7) authorize {
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /(a)\./) {
(7) if (&User-Name =~ /(a)\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [chap] = noop
(7) [mschap] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) update control {
(7) &Proxy-To-Realm := LOCAL
(7) } # update control = noop
(7) eap: Peer sent EAP Response (code 2) ID 8 length 6
(7) eap: No EAP Start, assuming it's an on-going EAP conversation
(7) [eap] = updated
(7) [files] = noop
(7) sql: EXPAND %{User-Name}
(7) sql: --> lukes
(7) sql: SQL-User-Name set to 'lukes'
rlm_sql (sql): Reserved connection (2)
(7) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id
(7) sql: --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'lukes' ORDER BY id
(7) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'lukes' ORDER BY id
(7) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority
(7) sql: --> SELECT groupname FROM radusergroup WHERE username = 'lukes' ORDER BY priority
(7) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'lukes' ORDER BY priority
(7) sql: User not found in any groups
rlm_sql (sql): Released connection (2)
(7) [sql] = notfound
(7) [expiration] = noop
(7) [logintime] = noop
(7) [pap] = noop
(7) } # authorize = updated
(7) Found Auth-Type = eap
(7) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(7) authenticate {
(7) eap: Expiring EAP session with state 0xe94ee4a2e846fec1
(7) eap: Finished EAP session with state 0xe94ee4a2e846fec1
(7) eap: Previous EAP request found for state 0xe94ee4a2e846fec1, released from the list
(7) eap: Peer sent packet with method EAP MSCHAPv2 (26)
(7) eap: Calling submodule eap_mschapv2 to process data
(7) eap: Sending EAP Success (code 3) ID 8 length 4
(7) eap: Freeing handler
(7) [eap] = ok
(7) } # authenticate = ok
(7) # Executing section post-auth from file /etc/raddb/sites-enabled/inner-tunnel
(7) post-auth {
(7) sql: EXPAND .query
(7) sql: --> .query
(7) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (3)
(7) sql: EXPAND %{User-Name}
(7) sql: --> lukes
(7) sql: SQL-User-Name set to 'lukes'
(7) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S')
(7) sql: --> INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'lukes', '', 'Access-Accept', '2021-07-06 17:33:23.154126')
(7) sql: Executing query: INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'lukes', '', 'Access-Accept', '2021-07-06 17:33:23.154126')
(7) sql: SQL query returned: success
(7) sql: 1 record(s) updated
rlm_sql (sql): Released connection (3)
(7) [sql] = ok
(7) if (0) {
(7) if (0) -> FALSE
(7) } # post-auth = ok
(7) } # server inner-tunnel
(7) Virtual server sending reply
(7) MS-MPPE-Encryption-Policy = Encryption-Allowed
(7) MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
(7) MS-MPPE-Send-Key = 0x7b1be35b0c3af98fbc8f4f2198b79765
(7) MS-MPPE-Recv-Key = 0xdd464bd529edef025efdf6f0fde4438c
(7) EAP-Message = 0x03080004
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) User-Name = "lukes"
(7) eap_peap: Got tunneled reply code 2
(7) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed
(7) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
(7) eap_peap: MS-MPPE-Send-Key = 0x7b1be35b0c3af98fbc8f4f2198b79765
(7) eap_peap: MS-MPPE-Recv-Key = 0xdd464bd529edef025efdf6f0fde4438c
(7) eap_peap: EAP-Message = 0x03080004
(7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(7) eap_peap: User-Name = "lukes"
(7) eap_peap: Got tunneled reply RADIUS code 2
(7) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed
(7) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
(7) eap_peap: MS-MPPE-Send-Key = 0x7b1be35b0c3af98fbc8f4f2198b79765
(7) eap_peap: MS-MPPE-Recv-Key = 0xdd464bd529edef025efdf6f0fde4438c
(7) eap_peap: EAP-Message = 0x03080004
(7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(7) eap_peap: User-Name = "lukes"
(7) eap_peap: Tunneled authentication was successful
(7) eap_peap: SUCCESS
(7) eap: Sending EAP Request (code 1) ID 9 length 43
(7) eap: EAP session adding &reply:State = 0x862cdf618125c680
(7) [eap] = handled
(7) } # authenticate = handled
(7) Using Post-Auth-Type Challenge
(7) # Executing group from file /etc/raddb/sites-enabled/default
(7) Challenge { ... } # empty sub-section is ignored
(7) Sent Access-Challenge Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(7) EAP-Message = 0x0109002b190017030100206ad2e10561cef68d22a47ee73229c8d671eef552077cd586fd9e8b55cb58ba33
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) State = 0x862cdf618125c680fd28d95218ffb4d1
(7) Finished request
Waking up in 4.9 seconds.
(7) Cleaning up request packet ID 0 with timestamp +60
(8) Received Access-Request Id 0 from 65.120.4.177:1231 to 66.220.128.93:1812 length 151
(8) Calling-Station-Id = "0A-00-3E-45-1E-66"
(8) User-Name = "lukes"
(8) State = 0x862cdf618125c680fd28d95218ffb4d1
(8) NAS-IP-Address = 172.31.5.168
(8) NAS-Port = 5
(8) NAS-Port-Type = Wireless-Other
(8) Framed-MTU = 1020
(8) EAP-Message = 0x0209002b19001703010020bfef51c4df1e3ff8a1d27d7c239e6296dc3b6cb7fe3d7addcb021c60c5f6dc9a
(8) Message-Authenticator = 0x704e6d5b8799d90b4c34b0f5adef6715
(8) session-state: No cached attributes
(8) # Executing section authorize from file /etc/raddb/sites-enabled/default
(8) authorize {
(8) policy filter_username {
(8) if (&User-Name) {
(8) if (&User-Name) -> TRUE
(8) if (&User-Name) {
(8) if (&User-Name =~ / /) {
(8) if (&User-Name =~ / /) -> FALSE
(8) if (&User-Name =~ /@[^@]*@/ ) {
(8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(8) if (&User-Name =~ /\.\./ ) {
(8) if (&User-Name =~ /\.\./ ) -> FALSE
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(8) if (&User-Name =~ /\.$/) {
(8) if (&User-Name =~ /\.$/) -> FALSE
(8) if (&User-Name =~ /(a)\./) {
(8) if (&User-Name =~ /(a)\./) -> FALSE
(8) } # if (&User-Name) = notfound
(8) } # policy filter_username = notfound
(8) [preprocess] = ok
(8) [chap] = noop
(8) [mschap] = noop
(8) [digest] = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "lukes", looking up realm NULL
(8) suffix: No such realm "NULL"
(8) [suffix] = noop
(8) eap: Peer sent EAP Response (code 2) ID 9 length 43
(8) eap: Continuing tunnel setup
(8) [eap] = ok
(8) } # authorize = ok
(8) Found Auth-Type = eap
(8) # Executing group from file /etc/raddb/sites-enabled/default
(8) authenticate {
(8) eap: Expiring EAP session with state 0x862cdf618125c680
(8) eap: Finished EAP session with state 0x862cdf618125c680
(8) eap: Previous EAP request found for state 0x862cdf618125c680, released from the list
(8) eap: Peer sent packet with method EAP PEAP (25)
(8) eap: Calling submodule eap_peap to process data
(8) eap_peap: Continuing EAP-TLS
(8) eap_peap: [eaptls verify] = ok
(8) eap_peap: Done initial handshake
(8) eap_peap: [eaptls process] = ok
(8) eap_peap: Session established. Decoding tunneled attributes
(8) eap_peap: PEAP state send tlv success
(8) eap_peap: Received EAP-TLV response
(8) eap_peap: Success
(8) eap: Sending EAP Success (code 3) ID 9 length 4
(8) eap: Freeing handler
(8) [eap] = ok
(8) } # authenticate = ok
(8) # Executing section post-auth from file /etc/raddb/sites-enabled/default
(8) post-auth {
(8) update {
(8) No attributes updated
(8) } # update = noop
(8) sql: EXPAND .query
(8) sql: --> .query
(8) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (4)
(8) sql: EXPAND %{User-Name}
(8) sql: --> lukes
(8) sql: SQL-User-Name set to 'lukes'
(8) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S')
(8) sql: --> INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'lukes', '', 'Access-Accept', '2021-07-06 17:33:23.168107')
(8) sql: Executing query: INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'lukes', '', 'Access-Accept', '2021-07-06 17:33:23.168107')
(8) sql: SQL query returned: success
(8) sql: 1 record(s) updated
rlm_sql (sql): Released connection (4)
(8) [sql] = ok
(8) [exec] = noop
(8) policy remove_reply_message_if_eap {
(8) if (&reply:EAP-Message && &reply:Reply-Message) {
(8) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
(8) else {
(8) [noop] = noop
(8) } # else = noop
(8) } # policy remove_reply_message_if_eap = noop
(8) } # post-auth = ok
(8) Sent Access-Accept Id 0 from 66.220.128.93:1812 to 65.120.4.177:1231 length 0
(8) MS-MPPE-Recv-Key = 0xaf3148b50b955422e4acb9ecf538c9ade9ba196b6a6551ce645cfd544dfbadef
(8) MS-MPPE-Send-Key = 0x12ced10a940f42ddaede4e7216a1c48e9383f8319af2848d4527a2753e5044e9
(8) EAP-Message = 0x03090004
(8) Message-Authenticator = 0x00000000000000000000000000000000
(8) User-Name = "lukes"
(8) Finished request
Waking up in 4.9 seconds.
(8) Cleaning up request packet ID 0 with timestamp +60
Ready to process requests
Confidentiality Notice: The information herein transmitted or attached is intended only for the person or entity to which this e-mail is addressed and may contain confidential and/or legally privileged material. Any review, retransmission, dissemination, other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this in error, please contact the sender immediately and delete the material from any and all computers, servers, and e-mail programs. Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.
2
1
Hi
I have acquired a freeradius server which i currently manage. I am facing
some issues with it. All hotspot users are getting disconnected after using
2gb. As per debug what i have seen is that freeradius is receiving an
attribute Mikrotik-Total-Limit with 2147483648 I cannot find where this
attribute is coming from.. Also there is no Mikrotik-Total-Limit on
radgroupreply. It is driving me crazy. Can someone help me with this? I
have attached three debug reports. Thanks in advance. Regards
2
1
Hi,
How can we identify what supposed to be monitored in FreeRadius apart from System related features like CPU/MEM/HDD space ...etc.
Is it possible to get a list like this?
Service: Network Policy Server CPU and Memory UsageAccounting: Accounting-Requests/secAccounting: Accounting-Responses/secAccounting: Server Reset TimeAccounting: Server Up TimeAuthentication: Access-Accepts/secAuthentication: Access-Challenges/secAuthentication: Access-Rejects/secAuthentication: Access-Requests/secAuthentication: Bad Authenticators/sec
Thanks in advanceLuke
3
2
As we are using REST module to handle AAA, planning to use the same to originate COA as well. While going through the archives, found that Alan suggested, we can use rest module in originate coa virtual server.The issue is how to configure it. Usually for AAA, we define the rest module with connect uri, method (get or post), parameters etc. And these gets triggered when FR sends request to REST server. But in the case of originate coa, as the trigger will come from REST server side, what all REST server need to send and how FR will handle it? And I believe trigger will happen when getting Accounting packet post from FR to REST server, do we need to send COA parameters as reply to the same Accounting request? Read the entire originate coa file multiple times, but still couldn't understand how to resolve this.
3
11
Dear list,
My first time I write on the mailing-list.
I hope not boring or not already answered thousand of times.
I would like to setup a classical radius with rlm_ldap authentication
module.
The auth works as expected when I add attribute on the user side OR in
profile section with the default value.
My question is, how I can handle vlan with group dynamicaly. I seen some
response/thread that put each group in post-auth {}.
But I would like to have all information / matching from LDAP directly
not in config file.
Do you have some input / docs to do this ?
My current setup:
$ radtest yverry password localhost -0 testing123
Sent Access-Request Id 214 from 0.0.0.0:59868 to 127.0.0.1:1812 length 92
User-Name = "yverry"
User-Password = "password"
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "password"
Received Access-Accept Id 214 from 127.0.0.1:1812 to 127.0.0.1:59868
length 78
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "10"
Cisco-AVPair = "shell:priv-lvl=15"
Juniper-Local-User-Name = "superuser"
user {
base_dn = "ou=people,${..base_dn}"
filter = "(uid=%{User-Name})"
}
group {
base_dn = "${..base_dn}"
filter = '(objectClass=groupOfNames)'
membership_attribute = 'memberOf'
}
profile {
filter = '(objectclass=radiusprofile)'
default = ???? (or
cn=default-vlan,ou=profiles,ou=radius,dc=verry,dc=org)
}
I don't know the default I need to fill to do what I want.
more output (debug is life)
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 54847
Listening on proxy address :: port 43874
Ready to process requests
(0) Received Access-Request Id 214 from 127.0.0.1:59868 to
127.0.0.1:1812 length 92
(0) User-Name = "yverry"
(0) User-Password = "password"
(0) NAS-IP-Address = 127.0.1.1
(0) NAS-Port = 0
(0) Message-Authenticator = 0x1b83610509ae7a9da5eacfd22a8bd30c
(0) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(0) authorize {
(0) policy filter_username {
(0) if (&User-Name) {
(0) if (&User-Name) -> TRUE
(0) if (&User-Name) {
(0) if (&User-Name =~ / /) {
(0) if (&User-Name =~ / /) -> FALSE
(0) if (&User-Name =~ /@[^@]*@/ ) {
(0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(0) if (&User-Name =~ /\.\./ ) {
(0) if (&User-Name =~ /\.\./ ) -> FALSE
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /(a)\./) {
(0) if (&User-Name =~ /(a)\./) -> FALSE
(0) } # if (&User-Name) = notfound
(0) } # policy filter_username = notfound
(0) [preprocess] = ok
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "yverry", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) eap: No EAP-Message, not doing EAP
(0) [eap] = noop
(0) [files] = noop
rlm_ldap (ldap): Reserved connection (0)
(0) ldap: EXPAND (uid=%{User-Name})
(0) ldap: --> (uid=yverry)
(0) ldap: Performing search in "ou=people,dc=verry,dc=org" with filter
"(uid=yverry)", scope "sub"
(0) ldap: Waiting for search result...
(0) ldap: User object found at DN "cn=yverry,ou=people,dc=verry,dc=org"
(0) ldap: Adding cacheable user object memberships
(0) ldap: &control:LDAP-Group +=
"cn=netops-admin-users,ou=groups,dc=verry,dc=org"
(0) ldap: Skipping caching group objects as directive
'group.membership_filter' is not set
(0) ldap: Performing search in
"cn=default-vlan,ou=profiles,ou=radius,dc=verry,dc=org" with filter
"(objectclass=radiusprofile)", scope "base"
(0) ldap: Waiting for search result...
(0) ldap: Processing profile attributes
(0) ldap: reply:Tunnel-Type := VLAN
(0) ldap: reply:Tunnel-Medium-Type := IEEE-802
(0) ldap: reply:Tunnel-Private-Group-ID := '10'
(0) ldap: Processing user attributes
(0) ldap: control:Password-With-Header :=
'{SSHA}yGsohiWfreeradius/rulez8hWebvihsMIHi+Y'
rlm_ldap (ldap): Released connection (0)
Need 5 more connections to reach 10 spares
rlm_ldap (ldap): Opening additional connection (5), 1 of 27 pending
slots used
rlm_ldap (ldap): Connecting to ldap://localhost:389
rlm_ldap (ldap): Waiting for bind result...
rlm_ldap (ldap): Bind successful
(0) [ldap] = updated
(0) if ((ok || updated) && User-Password) {
(0) if ((ok || updated) && User-Password) -> TRUE
(0) if ((ok || updated) && User-Password) {
(0) update {
(0) control:Auth-Type := LDAP
(0) } # update = noop
(0) } # if ((ok || updated) && User-Password) = noop
(0) [expiration] = noop
(0) [logintime] = noop
(0) pap: Converted: &control:Password-With-Header -> &control:SSHA1-Password
(0) pap: Removing &control:Password-With-Header
(0) pap: Normalizing SSHA1-Password from base64 encoding, 32 bytes -> 24
bytes
(0) pap: WARNING: Auth-Type already set. Not setting to PAP
(0) [pap] = noop
(0) } # authorize = updated
(0) Found Auth-Type = LDAP
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0) Auth-Type LDAP {
rlm_ldap (ldap): Reserved connection (1)
(0) ldap: Login attempt by "yverry"
(0) ldap: Using user DN from request "cn=yverry,ou=people,dc=verry,dc=org"
(0) ldap: Waiting for bind result...
(0) ldap: Bind successful
(0) ldap: Bind as user "cn=yverry,ou=people,dc=verry,dc=org" was successful
rlm_ldap (ldap): Released connection (1)
(0) [ldap] = ok
(0) } # Auth-Type LDAP = ok
(0) # Executing section post-auth from file
/etc/freeradius/3.0/sites-enabled/default
(0) post-auth {
(0) ldap: EXPAND .
(0) ldap: --> .
(0) ldap: EXPAND Authenticated at %S
(0) ldap: --> Authenticated at 2021-07-03 22:44:58
rlm_ldap (ldap): Reserved connection (2)
(0) ldap: Using user DN from request "cn=yverry,ou=people,dc=verry,dc=org"
(0) ldap: Modifying object with DN "cn=yverry,ou=people,dc=verry,dc=org"
(0) ldap: Waiting for modify result...
rlm_ldap (ldap): Released connection (2)
(0) [ldap] = ok
(0) if (LDAP-Group == "netops-admin-users") {
(0) Searching for user in group "netops-admin-users"
rlm_ldap (ldap): Reserved connection (3)
(0) Using user DN from request "cn=yverry,ou=people,dc=verry,dc=org"
(0) Checking user object's memberOf attributes
(0) Performing unfiltered search in
"cn=yverry,ou=people,dc=verry,dc=org", scope "base"
(0) Waiting for search result...
(0) Processing memberOf value
"cn=netops-admin-users,ou=groups,dc=verry,dc=org" as a DN
(0) Resolving group DN
"cn=netops-admin-users,ou=groups,dc=verry,dc=org" to group name
(0) Performing unfiltered search in
"cn=netops-admin-users,ou=groups,dc=verry,dc=org", scope "base"
(0) Waiting for search result...
(0) Group DN "cn=netops-admin-users,ou=groups,dc=verry,dc=org"
resolves to name "netops-admin-users"
(0) User found in group "netops-admin-users". Comparison between
membership: name (resolved from DN
"cn=netops-admin-users,ou=groups,dc=verry,dc=org"), check: name
rlm_ldap (ldap): Released connection (3)
(0) if (LDAP-Group == "netops-admin-users") -> TRUE
(0) if (LDAP-Group == "netops-admin-users") {
(0) update reply {
(0) Cisco-AVPair = "shell:priv-lvl=15"
(0) Juniper-Local-User-Name = "superuser"
(0) } # update reply = noop
(0) } # if (LDAP-Group == "netops-admin-users") = noop
(0) if (session-state:User-Name && reply:User-Name &&
request:User-Name && (reply:User-Name == request:User-Name)) {
(0) if (session-state:User-Name && reply:User-Name &&
request:User-Name && (reply:User-Name == request:User-Name)) -> FALSE
(0) update {
(0) No attributes updated
(0) } # update = noop
(0) [exec] = noop
(0) policy remove_reply_message_if_eap {
(0) if (&reply:EAP-Message && &reply:Reply-Message) {
(0) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
(0) else {
(0) [noop] = noop
(0) } # else = noop
(0) } # policy remove_reply_message_if_eap = noop
(0) } # post-auth = ok
(0) Login OK: [yverry/dp9GXbGcUc2JesbaEkahJzQhvDrVUI78] (from client
localhost port 0)
(0) Sent Access-Accept Id 214 from 127.0.0.1:1812 to 127.0.0.1:59868
length 0
(0) Tunnel-Type := VLAN
(0) Tunnel-Medium-Type := IEEE-802
(0) Tunnel-Private-Group-Id := "10"
(0) Cisco-AVPair = "shell:priv-lvl=15"
(0) Juniper-Local-User-Name = "superuser"
(0) Finished request
Waking up in 4.9 seconds.
(0) Cleaning up request packet ID 214 with timestamp +3
Ready to process requests
oh, and ldap part:
dn: cn=yverry,ou=people,dc=verry,dc=org
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: radiusprofile
cn: yverry
dn: cn=netops,ou=profiles,ou=radius,dc=verry,dc=org
objectClass: radiusObjectProfile
objectClass: top
objectClass: radiusprofile
cn: netops
radiusTunnelMediumType: IEEE-802
radiusTunnelPrivateGroupId: 5
radiusTunnelType: VLAN
dn: cn=netops-admin-users,ou=groups,dc=verry,dc=org
objectClass: groupOfNames
objectClass: radiusprofile
cn: netops-admin-users
member: cn=yverry,ou=people,dc=verry,dc=org
ou: netops-admin-users
radiusProfileDN: cn=netops,ou=profiles,ou=radius,dc=verry,dc=org
radiusTunnelMediumType: IEEE-802
radiusTunnelPrivateGroupId: 5
radiusTunnelType: VLAN
dn: cn=default-vlan,ou=groups,dc=verry,dc=org
objectClass: groupOfNames
cn: default-vlan
member: cn=moi,ou=people,dc=verry,dc=org
ou: netops-admin-users
ldapsearch -x -LLL -H ldap:/// -b cn=yverry,ou=people,dc=verry,dc=org
memberOf
dn: cn=yverry,ou=people,dc=verry,dc=org
memberOf: cn=netops-admin-users,ou=groups,dc=verry,dc=org
Thank you,
Yann
2
1
We are designing a radius billing software and will be using REST module instead of SQL. Entire AAA stack is perfectly working with REST module, but stuck at adding NAS section. As far as I know Freeradius uses SQL to load clients. Is there any way we can do this via REST instead of SQL?- Mohammad Mahefooz
2
4
I can see bits and pieces in the docs but can't quite make sense of it.
How do I setup so all attributes are returned in a auth success response?
I have copy_request_to_tunnel = yes which I guess gets me half way there.
Bill
1
1
Hi,
I tried to add the PGP key for freeradius pkg depo on https://networkradius.com/packages/ for Deebian10 and got this error:
# apt-key adv --keyserver keys.gnupg.net --recv-key 0x41382202
Executing: /tmp/apt-key-gpghome.TGxQPJUuh5/gpg.1.sh --keyserver keys.gnupg.net --recv-key 0x41382202
gpg: keyserver receive failed: No name
Quick search on the net returned this answer
https://stackoverflow.com/questions/66217436/gpg-keyserver-receive-failed-n…
and the working version for me was
# apt-key adv --keyserver pgp.mit.edu --recv-key 0x41382202
Executing: /tmp/apt-key-gpghome.VvjetTwBbW/gpg.1.sh --keyserver pgp.mit.edu --recv-key 0x41382202
gpg: key BE18FC5A41382202: public key "Network RADIUS Support (package signing) <packages(a)networkradius.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
It seems keys.gnupg.net is deprecated..
Cheers, Jure
3
2
Hi all,
Already configured the FreeRADIUS with the support the our users with G
Suite LDAP with a domain (example.com) that is registered with G Suite LDAP
I need to add the one more LDAP with the domain name (example.net) in the
FreeRADIUS.
Can anyone plz guide or send the configuration method for the above setup?
*LDAP - G Suite LDAP - example.com <http://example.com> - Done with the
support of freeRADIUS users*
*How to configure the following in freeRADIUS?*
*1. LDAP - XXXX LDAP - example.net <http://example.net> *
*2. Azure AD Free for Office 365 - example.org <http://example.org>*
Thanks in advance.....
Regards,
*P.Thirunavukkarasu*
1
0
Hi everyone,
I'm trying to reproduce the same setup that I have actually with CentOS
(6.10) but with Debian (10.10) and I encounter a strange behaviour that I
didn't have before with the same configuration.
- The version of freeradius i use on CentOS is 2.2.6-7
- The version of freeradius i use on Debian is 3.0.17
It seems the 3.X version of freeradius doesn't know the output "ACCEPT" of
the otpverify.sh script but I'm not sure and I don't know what i'm supposed
to do to make it work like it's supposed to do.
Anyone already have this problem?
Kind regards
Below the full output of debug :
FreeRADIUS Version 3.0.17
> Copyright (C) 1999-2017 The FreeRADIUS server project and contributors
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE
> You may redistribute copies of FreeRADIUS under the terms of the
> GNU General Public License
> For more information about these matters, see the file named COPYRIGHT
> Starting - reading configuration files ...
> including dictionary file /usr/share/freeradius/dictionary
> including dictionary file /usr/share/freeradius/dictionary.dhcp
> including dictionary file /usr/share/freeradius/dictionary.vqp
> including dictionary file /etc/freeradius/3.0/dictionary
> including configuration file /etc/freeradius/3.0/radiusd.conf
> including configuration file /etc/freeradius/3.0/proxy.conf
> including configuration file /etc/freeradius/3.0/clients.conf
> including files in directory /etc/freeradius/3.0/mods-enabled/
> including configuration file /etc/freeradius/3.0/mods-enabled/always
> including configuration file /etc/freeradius/3.0/mods-enabled/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/detail
> including configuration file /etc/freeradius/3.0/mods-enabled/detail.log
> including configuration file /etc/freeradius/3.0/mods-enabled/digest
> including configuration file
> /etc/freeradius/3.0/mods-enabled/dynamic_clients
> 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/exec
> including configuration file /etc/freeradius/3.0/mods-enabled/expiration
> including configuration file /etc/freeradius/3.0/mods-enabled/expr
> including configuration file /etc/freeradius/3.0/mods-enabled/files
> including configuration file /etc/freeradius/3.0/mods-enabled/linelog
> including configuration file /etc/freeradius/3.0/mods-enabled/logintime
> including configuration file /etc/freeradius/3.0/mods-enabled/mschap
> including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth
> including configuration file /etc/freeradius/3.0/mods-enabled/pap
> including configuration file /etc/freeradius/3.0/mods-enabled/passwd
> including configuration file /etc/freeradius/3.0/mods-enabled/preprocess
> including configuration file /etc/freeradius/3.0/mods-enabled/radutmp
> including configuration file /etc/freeradius/3.0/mods-enabled/realm
> including configuration file /etc/freeradius/3.0/mods-enabled/replicate
> including configuration file /etc/freeradius/3.0/mods-enabled/soh
> including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp
> including configuration file /etc/freeradius/3.0/mods-enabled/unix
> including configuration file /etc/freeradius/3.0/mods-enabled/unpack
> 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/abfab-tr
> including configuration file /etc/freeradius/3.0/policy.d/accounting
> including configuration file /etc/freeradius/3.0/policy.d/canonicalization
> 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/debug
> including configuration file /etc/freeradius/3.0/policy.d/dhcp
> including configuration file /etc/freeradius/3.0/policy.d/eap
> including configuration file /etc/freeradius/3.0/policy.d/filter
> including configuration file
> /etc/freeradius/3.0/policy.d/moonshot-targeted-ids
> including configuration file /etc/freeradius/3.0/policy.d/operator-name
> 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 {
> allow_core_dumps = no
> }
> name = "freeradius"
> prefix = "/usr"
> localstatedir = "/var"
> logdir = "/var/log/freeradius"
> run_dir = "/var/run/freeradius"
> }
> main {
> name = "freeradius"
> prefix = "/usr"
> localstatedir = "/var"
> sbindir = "/usr/sbin"
> logdir = "/var/log/freeradius"
> run_dir = "/var/run/freeradius"
> libdir = "/usr/lib/freeradius"
> radacctdir = "/var/log/freeradius/radacct"
> hostname_lookups = no
> max_request_time = 30
> cleanup_delay = 5
> max_requests = 16384
> pidfile = "/var/run/freeradius/freeradius.pid"
> checkrad = "/usr/sbin/checkrad"
> debug_level = 0
> proxy_requests = yes
> log {
> stripped_names = yes
> auth = yes
> auth_badpass = yes
> auth_goodpass = yes
> 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 >>>
> shortname = "localhost"
> nas_type = "other"
> proto = "*"
> limit {
> max_connections = 16
> lifetime = 0
> idle_timeout = 30
> }
> }
> client devVM {
> ipaddr = 192.168.Y.Z
> require_message_authenticator = no
> secret = <<< secret >>>
> shortname = "devVM"
> limit {
> max_connections = 16
> lifetime = 0
> idle_timeout = 30
> }
> }
> Debugger not attached
> # Creating Auth-Type = External
> # Creating Auth-Type = PAP
> # Creating Auth-Type = CHAP
> # Creating Auth-Type = MS-CHAP
> # Creating Post-Auth-Type = Client-Lost
> # Creating Auth-Type = mschap
> # Creating Auth-Type = eap
> radiusd: #### Instantiating modules ####
> modules {
> # Loaded module rlm_exec
> # Loading module "motp" from file /etc/freeradius/3.0/radiusd.conf
> exec motp {
> wait = yes
> program = "/usr/sbin/otpverify.sh %{User-Name} %{User-Password}
> %{reply:Secret} %{reply:PIN} %{reply:Offset}"
> input_pairs = "request"
> output_pairs = "reply"
> shell_escape = yes
> }
> # 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_attr_filter
> # Loading module "attr_filter.post-proxy" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> attr_filter attr_filter.post-proxy {
> filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy"
> key = "%{Realm}"
> relaxed = no
> }
> # Loading module "attr_filter.pre-proxy" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> attr_filter attr_filter.pre-proxy {
> filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy"
> key = "%{Realm}"
> relaxed = no
> }
> # Loading module "attr_filter.access_reject" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> attr_filter attr_filter.access_reject {
> filename =
> "/etc/freeradius/3.0/mods-config/attr_filter/access_reject"
> key = "%{User-Name}"
> relaxed = no
> }
> # Loading module "attr_filter.access_challenge" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> attr_filter attr_filter.access_challenge {
> filename =
> "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge"
> key = "%{User-Name}"
> relaxed = no
> }
> # Loading module "attr_filter.accounting_response" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> attr_filter attr_filter.accounting_response {
> filename =
> "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response"
> key = "%{User-Name}"
> relaxed = no
> }
> # Loaded module rlm_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_detail
> # Loading module "detail" from file
> /etc/freeradius/3.0/mods-enabled/detail
> detail {
> filename =
> "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
> header = "%t"
> permissions = 384
> locking = no
> escape_filenames = no
> log_packet_header = no
> }
> # 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_digest
> # Loading module "digest" from file
> /etc/freeradius/3.0/mods-enabled/digest
> # Loaded module rlm_dynamic_clients
> # Loading module "dynamic_clients" from file
> /etc/freeradius/3.0/mods-enabled/dynamic_clients
> # 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
> }
> # 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_expiration
> # Loading module "expiration" from file
> /etc/freeradius/3.0/mods-enabled/expiration
> # Loaded module rlm_expr
> # Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
> expr {
> safe_characters =
> "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_:
> /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
> }
> # 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_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_logintime
> # Loading module "logintime" from file
> /etc/freeradius/3.0/mods-enabled/logintime
> logintime {
> minimum_timeout = 60
> }
> # 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
> }
> # 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_pap
> # Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
> pap {
> normalise = yes
> }
> # 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
> }
> # 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_radutmp
> # 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_realm
> # Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
> realm IPASS {
> format = "prefix"
> delimiter = "/"
> ignore_default = no
> ignore_null = no
> }
> # Loading module "suffix" from file
> /etc/freeradius/3.0/mods-enabled/realm
> realm suffix {
> format = "suffix"
> delimiter = "@"
> ignore_default = no
> ignore_null = no
> }
> # Loading module "realmpercent" from file
> /etc/freeradius/3.0/mods-enabled/realm
> realm realmpercent {
> format = "suffix"
> delimiter = "%"
> ignore_default = no
> ignore_null = no
> }
> # Loading module "ntdomain" from file
> /etc/freeradius/3.0/mods-enabled/realm
> realm ntdomain {
> format = "prefix"
> delimiter = "\\"
> ignore_default = no
> ignore_null = no
> }
> # Loaded module rlm_replicate
> # Loading module "replicate" from file
> /etc/freeradius/3.0/mods-enabled/replicate
> # Loaded module rlm_soh
> # Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
> soh {
> dhcp = yes
> }
> # 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_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_unpack
> # Loading module "unpack" from file
> /etc/freeradius/3.0/mods-enabled/unpack
> # Loaded module rlm_utf8
> # Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
> instantiate {
> # Instantiating module "expiration" from file
> /etc/freeradius/3.0/mods-enabled/expiration
> # Instantiating module "logintime" from file
> /etc/freeradius/3.0/mods-enabled/logintime
> }
> # Instantiating module "reject" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "fail" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "ok" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "handled" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "invalid" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "userlock" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "notfound" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "noop" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "updated" from file
> /etc/freeradius/3.0/mods-enabled/always
> # Instantiating module "attr_filter.post-proxy" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file
> /etc/freeradius/3.0/mods-config/attr_filter/post-proxy
> # Instantiating module "attr_filter.pre-proxy" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy
> # Instantiating module "attr_filter.access_reject" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file
> /etc/freeradius/3.0/mods-config/attr_filter/access_reject
> [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item
> "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT".
> [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item
> "FreeRADIUS-Response-Delay-USec" found in filter list for realm
> "DEFAULT".
> # Instantiating module "attr_filter.access_challenge" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file
> /etc/freeradius/3.0/mods-config/attr_filter/access_challenge
> # Instantiating module "attr_filter.accounting_response" from file
> /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file
> /etc/freeradius/3.0/mods-config/attr_filter/accounting_response
> # Instantiating module "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 "detail" from file
> /etc/freeradius/3.0/mods-enabled/detail
> # Instantiating module "auth_log" from file
> /etc/freeradius/3.0/mods-enabled/detail.log
> rlm_detail (auth_log): 'User-Password' suppressed, will not appear in
> detail output
> # Instantiating module "reply_log" from file
> /etc/freeradius/3.0/mods-enabled/detail.log
> # Instantiating module "pre_proxy_log" from file
> /etc/freeradius/3.0/mods-enabled/detail.log
> # Instantiating module "post_proxy_log" from file
> /etc/freeradius/3.0/mods-enabled/detail.log
> # Instantiating module "eap" from file
> /etc/freeradius/3.0/mods-enabled/eap
> # Linked to sub-module rlm_eap_md5
> # Linked to sub-module rlm_eap_leap
> # 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 >>>
> dh_file = "/etc/freeradius/3.0/certs/dh"
> fragment_size = 1024
> include_length = yes
> auto_chain = yes
> check_crl = no
> check_all_crl = no
> cipher_list = "DEFAULT"
> cipher_server_preference = no
> ecdh_curve = "prime256v1"
> tls_max_version = ""
> tls_min_version = "1.0"
> 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 = no
> proxy_tunneled_request_as_eap = yes
> virtual_server = "inner-tunnel"
> soh = no
> require_client_cert = no
> }
> tls: Using cached TLS configuration from previous invocation
> # Linked to sub-module rlm_eap_mschapv2
> mschapv2 {
> with_ntdomain_hack = no
> send_error = no
> }
> # Instantiating module "files" from file
> /etc/freeradius/3.0/mods-enabled/files
> reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize
> [/etc/freeradius/3.0/mods-config/files/authorize]:7 Check item "Secret"
> found in reply item list for user "user1". This attribute MUST go
> on the first line with the other check items
> [/etc/freeradius/3.0/mods-config/files/authorize]:7 Check item "PIN"
> found in reply item list for user "user1". This attribute MUST go on the
> first line with the other check items
> [/etc/freeradius/3.0/mods-config/files/authorize]:7 Check item "Offset"
> found in reply item list for user "user1". This attribute MUST go
> on the first line with the other check items
> [/etc/freeradius/3.0/mods-config/files/authorize]:12 Check item "Secret"
> found in reply item list for user "user2". This attribute MUST
> go on the first line with the other check items
> [/etc/freeradius/3.0/mods-config/files/authorize]:12 Check item "PIN"
> found in reply item list for user "user2". This attribute MUST go on
> the first line with the other check items
> [/etc/freeradius/3.0/mods-config/files/authorize]:12 Check item "Offset"
> found in reply item list for user "user2". This attribute MUST
> go on the first line with the other check items
> 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 "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 "mschap" from file
> /etc/freeradius/3.0/mods-enabled/mschap
> rlm_mschap (mschap): using internal authentication
> # Instantiating module "pap" from file
> /etc/freeradius/3.0/mods-enabled/pap
> # 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 "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 "IPASS" from file
> /etc/freeradius/3.0/mods-enabled/realm
> # Instantiating module "suffix" from file
> /etc/freeradius/3.0/mods-enabled/realm
> # Instantiating module "realmpercent" from file
> /etc/freeradius/3.0/mods-enabled/realm
> # Instantiating module "ntdomain" from file
> /etc/freeradius/3.0/mods-enabled/realm
> } # modules
> radiusd: #### Loading Virtual Servers ####
> server { # from file /etc/freeradius/3.0/radiusd.conf
> } # server
> server default { # from file /etc/freeradius/3.0/sites-enabled/default
> # Loading authenticate {...}
> # Loading authorize {...}
> # Loading preacct {...}
> # Loading accounting {...}
> Ignoring "sql" (see raddb/mods-available/README.rst)
> # Loading post-proxy {...}
> # Loading post-auth {...}
> } # server default
> server inner-tunnel { # from file
> /etc/freeradius/3.0/sites-enabled/inner-tunnel
> # Loading authenticate {...}
> # Loading authorize {...}
> Ignoring "ldap" (see raddb/mods-available/README.rst)
> # 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:61
> } # 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"
> 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 127.0.0.1 port 18120 bound to server inner-tunnel
> Listening on proxy address * port 48955
> Ready to process requests
>
> (0) Received Access-Request Id 69 from 192.168.Y.Z:55087 to
> 192.168.Y.Z:1812 length 88
> (0) User-Name = "user2"
> (0) User-Password = "e0462c"
> (0) NAS-IP-Address = 127.0.1.1
> (0) NAS-Identifier = "sshd"
> (0) NAS-Port = 18078
> (0) NAS-Port-Type = Virtual
> (0) Service-Type = Authenticate-Only
> (0) Calling-Station-Id = "192.168.Y.Z"
> (0) # Executing section authorize from file
> /etc/freeradius/3.0/sites-enabled/default
> (0) authorize {
> (0) [preprocess] = ok
> (0) [chap] = noop
> (0) [mschap] = noop
> (0) [digest] = noop
> (0) suffix: Checking for suffix after "@"
> (0) suffix: No '@' in User-Name = "user2", looking up realm NULL
> (0) suffix: No such realm "NULL"
> (0) [suffix] = noop
> (0) files: users: Matched entry DEFAULT at line 4
> (0) files: users: Matched entry user2 at line 12
> (0) [files] = ok
> (0) [expiration] = noop
> (0) [logintime] = noop
> (0) pap: WARNING: No "known good" password found for the user. Not
> setting Auth-Type
> (0) pap: WARNING: Authentication will fail unless a "known good" password
> is available
> (0) [pap] = noop
> (0) } # authorize = ok
> (0) Found Auth-Type = External
> (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (0) Auth-Type External {
> (0) motp: Executing: /usr/sbin/otpverify.sh %{User-Name} %{User-Password}
> %{reply:Secret} %{reply:PIN} %{reply:Offset}:
> (0) motp: EXPAND %{User-Name}
> (0) motp: --> user2
> (0) motp: EXPAND %{User-Password}
> (0) motp: --> e0462c
> (0) motp: EXPAND %{reply:Secret}
> (0) motp: --> MYSECRET
> (0) motp: EXPAND %{reply:PIN}
> (0) motp: --> MYPIN
> (0) motp: EXPAND %{reply:Offset}
> (0) motp: --> 0
> (0) motp: ERROR: Failed parsing output from: /usr/sbin/otpverify.sh
> %{User-Name} %{User-Password} %{reply:Secret} %{reply:PIN} %{reply:Offset}:
> Expecting operator
> (0) motp: ERROR: Program returned code (0) and output 'ACCEPT'
> (0) [motp] = fail
> (0) } # Auth-Type External = fail
> (0) Failed to authenticate the user
> (0) Using Post-Auth-Type Reject
> (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (0) Post-Auth-Type REJECT {
> (0) attr_filter.access_reject: EXPAND %{User-Name}
> (0) attr_filter.access_reject: --> user2
> (0) attr_filter.access_reject: Matched entry DEFAULT at line 11
> (0) [attr_filter.access_reject] = updated
> (0) [eap] = noop
> (0) policy remove_reply_message_if_eap {
> (0) if (&reply:EAP-Message && &reply:Reply-Message) {
> (0) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
> (0) else {
> (0) [noop] = noop
> (0) } # else = noop
> (0) } # policy remove_reply_message_if_eap = noop
> (0) } # Post-Auth-Type REJECT = updated
> (0) Login incorrect (motp: Failed parsing output from:
> /usr/sbin/otpverify.sh %{User-Name} %{User-Password} %{reply:Secret}
> %{reply:PIN} %{reply:Offset}: Expecting operator): [user2/e0462c] (from
> client devVM port 18078 cli 192.168.Y.Z)
> (0) Delaying response for 1.000000 seconds
> Waking up in 0.1 seconds.
> Waking up in 0.8 seconds.
> (0) Sending delayed response
> (0) Sent Access-Reject Id 69 from 192.168.Y.Z:1812 to 192.168.Y.Z:55087
> length 20
> Waking up in 3.9 seconds.
> (0) Cleaning up request packet ID 69 with timestamp +32
> Ready to process requests
2
1