Control List Attribute in Post-Auth for Dynamic VLAN assignment logic

S. sandeep81 at protonmail.com
Fri Dec 20 20:58:13 CET 2019


I finally managed to get this figured out. Man, what a mission. I've post my findings here for anyone who may be searching in the future.

The trick was to place the unlang programming logic in the correct files.

For handling EAP-TLS clients, the default site configuration file was the correct file (/etc/freeradius/3.0/sites-enabled/default).

For EAP-TTLS or EAP-PEAP clients, the "inner-tunnel" configuration file (/etc/freeradius/3.0/sites-enabled/default) was the correct file and to access some of the attributes, a prefix of "outer" was required.

Running the debugs with the "debug_all" option enabled in the "post-auth" section of the above configuration files revealed that the custom control list attribute was available and I was thus able to use it"

My working test configuration (in the post-auth section) ended up looking like the following:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-v

# cat /etc/freeradius/3.0/sites-enabled/default #EAP-TLS Clients
...
..
.
        if ((&request:NAS-IP-Address == 192.168.X.X) && (&request:EAP-Type == "TLS") && (&control:VLAN-Name == "CLIENT-Secure-WLAN")) {
               update reply {
                       &Tunnel-Type := VLAN
                       &Tunnel-Medium-Type := IEEE-802
                       &Tunnel-Private-Group-Id := "100"
               }
        }
        elsif ((&request:NAS-IP-Address == 192.168.Y.Y) && (&request:EAP-Type == "TLS") && (&control:VLAN-Name == "CLIENT-Secure-WLAN")) {
               update reply {
                       &Tunnel-Type := VLAN
                       &Tunnel-Medium-Type := IEEE-802
                       &Tunnel-Private-Group-Id := "200"
               }
        }

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-v

# cat less /etc/freeradius/3.0/sites-enabled/inner-tunnel #EAP-TTLS and EAP-PEAP Clients
...
..
.
        if (&outer.request:NAS-IP-Address == 192.168.X.X) {
                switch &control:VLAN-Name {
                        case "CLIENT-WLAN" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "111"
                                }
                        }
                        case "CLIENT-VPN" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "121"
                                }
                        }

                        case "GUEST-WLAN" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "131"
                                }
                        }
                        case "GUEST-WLAN-VPN1" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "141"
                                }
                        }
                }
        }
        elsif (&outer.request:NAS-IP-Address == 192.168.Y.Y) {
                switch &control:VLAN-Name {
                        case "CLIENT-WLAN" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "211"
                                }
                        }
                        case "CLIENT-VPN" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "221"
                                }
                        }
                        case "GUEST-WLAN" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "231"
                                }
                        }
                        case "GUEST-WLAN-VPN1" {
                                update reply {
                                        &Tunnel-Type := VLAN
                                        &Tunnel-Medium-Type := IEEE-802
                                        &Tunnel-Private-Group-Id := "241"
                                }
                        }
                }
        }


Hope that helps.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, December 20, 2019 6:38 AM, S. <sandeep81 at protonmail.com> wrote:

> I think some of the debug output was truncated in the previous email. Here's the remainder from (8) onwards:
>
> (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257
> (8) User-Name = "anonymous"
> (8) NAS-Identifier = "802aa8d3d475"
> (8) NAS-Port = 0
> (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> (8) Framed-MTU = 1400
> (8) NAS-Port-Type = Wireless-802.11
> (8) Connect-Info = "CONNECT 0Mbps 802.11b"
> (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5
> (8) State = 0xdcff01a1db6218422343d3b59bbb1704
> (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d
> (8) session-state: No cached attributes
> (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> (8) authorize {
> (8) policy filter_username {
> (8) if (&User-Name) {
> (8) if (&User-Name) -> TRUE
> (8) if (&User-Name) {
> (8) if (&User-Name =~ / /) {
> (8) if (&User-Name =~ / /) -> FALSE
> (8) if (&User-Name =~ /@[^@]@/ ) {
> (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) {
> (8) if (&User-Name =~ /\.\./ ) -> FALSE
> (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> (8) if (&User-Name =~ /\.$/) {
> (8) if (&User-Name =~ /\.$/) -> FALSE
> (8) if (&User-Name =~ /@\./) {
> (8) if (&User-Name =~ /@\./) -> FALSE
> (8) } # if (&User-Name) = notfound
> (8) } # policy filter_username = notfound
> (8) [preprocess] = ok
> (8) [chap] = noop
> (8) [mschap] = noop
> (8) [digest] = noop
> (8) suffix: Checking for suffix after "@"
> (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> (8) suffix: No such realm "NULL"
> (8) [suffix] = noop
> (8) eap: Peer sent EAP Response (code 2) ID 157 length 90
> (8) eap: Continuing tunnel setup
> (8) [eap] = ok
> (8) } # authorize = ok
> (8) Found Auth-Type = eap
> (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (8) authenticate {
> (8) eap: Expiring EAP session with state 0x73614bc173fc510e
> (8) eap: Finished EAP session with state 0xdcff01a1db621842
> (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list
> (8) eap: Peer sent packet with method EAP PEAP (25)
> (8) eap: Calling submodule eap_peap to process data
> (8) eap_peap: Continuing EAP-TLS
> (8) eap_peap: [eaptls verify] = ok
> (8) eap_peap: Done initial handshake
> (8) eap_peap: [eaptls process] = ok
> (8) eap_peap: Session established. Decoding tunneled attributes
> (8) eap_peap: PEAP state phase2
> (8) eap_peap: EAP method MSCHAPv2 (26)
> (8) eap_peap: Got tunneled request
> (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572
> (8) eap_peap: Setting User-Name to testuser
> (8) eap_peap: Sending tunneled request to inner-tunnel
> (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572
> (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
> (8) eap_peap: User-Name = "testuser"
> (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> (8) Virtual server inner-tunnel received request
> (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572
> (8) FreeRADIUS-Proxied-To = 127.0.0.1
> (8) User-Name = "testuser"
> (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> (8) server inner-tunnel {
> (8) session-state: No cached attributes
> (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (8) authorize {
> (8) policy filter_username {
> (8) if (&User-Name) {
> (8) if (&User-Name) -> TRUE
> (8) if (&User-Name) {
> (8) if (&User-Name =~ / /) {
> (8) if (&User-Name =~ / /) -> FALSE
> (8) if (&User-Name =~ /@[^@]@/ ) {
> (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) {
> (8) if (&User-Name =~ /\.\./ ) -> FALSE
> (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> (8) if (&User-Name =~ /\.$/) {
> (8) if (&User-Name =~ /\.$/) -> FALSE
> (8) if (&User-Name =~ /@\./) {
> (8) if (&User-Name =~ /@\./) -> FALSE
> (8) } # if (&User-Name) = notfound
> (8) } # policy filter_username = notfound
> (8) [chap] = noop
> (8) [mschap] = noop
> (8) suffix: Checking for suffix after "@"
> (8) suffix: No '@' in User-Name = "testuser", looking up realm NULL
> (8) suffix: No such realm "NULL"
> (8) [suffix] = noop
> (8) update control {
> (8) &Proxy-To-Realm := LOCAL
> (8) } # update control = noop
> (8) eap: Peer sent EAP Response (code 2) ID 157 length 67
> (8) eap: No EAP Start, assuming it's an on-going EAP conversation
> (8) [eap] = updated
> (8) files: users: Matched entry testuser at line 98
> (8) [files] = ok
> (8) [expiration] = noop
> (8) [logintime] = noop
> (8) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes
> (8) pap: WARNING: Auth-Type already set. Not setting to PAP
> (8) [pap] = noop
> (8) } # authorize = updated
> (8) Found Auth-Type = eap
> (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (8) authenticate {
> (8) eap: Expiring EAP session with state 0x73614bc173fc510e
> (8) eap: Finished EAP session with state 0x73614bc173fc510e
> (8) eap: Previous EAP request found for state 0x73614bc173fc510e, released from the list
> (8) eap: Peer sent packet with method EAP MSCHAPv2 (26)
> (8) eap: Calling submodule eap_mschapv2 to process data
> (8) eap_mschapv2: # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (8) eap_mschapv2: authenticate {
> (8) mschap: Found NT-Password
> (8) mschap: Creating challenge hash with username: testuser
> (8) mschap: Client is using MS-CHAPv2
> (8) mschap: Adding MS-CHAPv2 MPPE keys
> (8) [mschap] = ok
> (8) } # authenticate = ok
> (8) MSCHAP Success
> (8) eap: Sending EAP Request (code 1) ID 158 length 51
> (8) eap: EAP session adding &reply:State = 0x73614bc172ff510e
> (8) [eap] = handled
> (8) } # authenticate = handled
> (8) } # server inner-tunnel
> (8) Virtual server sending reply
> (8) EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246
> (8) Message-Authenticator = 0x00000000000000000000000000000000
> (8) State = 0x73614bc172ff510eb5bcf37c76b9f7ee
> (8) eap_peap: Got tunneled reply code 11
> (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246
> (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
> (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee
> (8) eap_peap: Got tunneled reply RADIUS code 11
> (8) eap_peap: EAP-Message = 0x019e00331a039d002e533d31363737363631463632443438383845313233363033394636463330444346383046424642444246
> (8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
> (8) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee
> (8) eap_peap: Got tunneled Access-Challenge
> (8) eap: Sending EAP Request (code 1) ID 158 length 74
> (8) eap: EAP session adding &reply:State = 0xdcff01a1d4611842
> (8) [eap] = handled
> (8) } # authenticate = handled
> (8) Using Post-Auth-Type Challenge
> (8) Post-Auth-Type sub-section not found. Ignoring.
> (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (8) Sent Access-Challenge Id 204 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> (8) EAP-Message = 0x019e004a1900170303003ff70a519d23edc920820f3d0be13b93b144017cdec458f0d2c6ead00732bf70fc4d1fb57809b96fae00825ae59bcabe9de9c4c8d49cd95e6e303f7f5bc63083
> (8) Message-Authenticator = 0x00000000000000000000000000000000
> (8) State = 0xdcff01a1d46118422343d3b59bbb1704
> (8) Finished request
> Waking up in 4.6 seconds.
> (9) Received Access-Request Id 205 from 192.168.40.21:46541 to 192.168.8.35:1812 length 196
> (9) User-Name = "anonymous"
> (9) NAS-Identifier = "802aa8d3d475"
> (9) NAS-Port = 0
> (9) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> (9) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> (9) Framed-MTU = 1400
> (9) NAS-Port-Type = Wireless-802.11
> (9) Connect-Info = "CONNECT 0Mbps 802.11b"
> (9) EAP-Message = 0x029e001d190017030300124f10e0d106532bbcbddf7ae85d8ddf0c80be
> (9) State = 0xdcff01a1d46118422343d3b59bbb1704
> (9) Message-Authenticator = 0x1c8c0a8453c376fee0859f2286bf5fc2
> (9) session-state: No cached attributes
> (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> (9) authorize {
> (9) policy filter_username {
> (9) if (&User-Name) {
> (9) if (&User-Name) -> TRUE
> (9) if (&User-Name) {
> (9) if (&User-Name =~ / /) {
> (9) if (&User-Name =~ / /) -> FALSE
> (9) if (&User-Name =~ /@[^@]@/ ) {
> (9) if (&User-Name =~ /@[^@]@/ ) -> FALSE(9) if (&User-Name =~ /\.\./ ) {
> (9) if (&User-Name =~ /\.\./ ) -> FALSE
> (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> (9) if (&User-Name =~ /\.$/) {
> (9) if (&User-Name =~ /\.$/) -> FALSE
> (9) if (&User-Name =~ /@\./) {
> (9) if (&User-Name =~ /@\./) -> FALSE
> (9) } # if (&User-Name) = notfound
> (9) } # policy filter_username = notfound
> (9) [preprocess] = ok
> (9) [chap] = noop
> (9) [mschap] = noop
> (9) [digest] = noop
> (9) suffix: Checking for suffix after "@"
> (9) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> (9) suffix: No such realm "NULL"
> (9) [suffix] = noop
> (9) eap: Peer sent EAP Response (code 2) ID 158 length 29
> (9) eap: Continuing tunnel setup
> (9) [eap] = ok
> (9) } # authorize = ok
> (9) Found Auth-Type = eap
> (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (9) authenticate {
> (9) eap: Expiring EAP session with state 0x73614bc172ff510e
> (9) eap: Finished EAP session with state 0xdcff01a1d4611842
> (9) eap: Previous EAP request found for state 0xdcff01a1d4611842, released from the list
> (9) eap: Peer sent packet with method EAP PEAP (25)
> (9) eap: Calling submodule eap_peap to process data
> (9) eap_peap: Continuing EAP-TLS
> (9) eap_peap: [eaptls verify] = ok
> (9) eap_peap: Done initial handshake
> (9) eap_peap: [eaptls process] = ok
> (9) eap_peap: Session established. Decoding tunneled attributes
> (9) eap_peap: PEAP state phase2
> (9) eap_peap: EAP method MSCHAPv2 (26)
> (9) eap_peap: Got tunneled request
> (9) eap_peap: EAP-Message = 0x029e00061a03
> (9) eap_peap: Setting User-Name to testuser
> (9) eap_peap: Sending tunneled request to inner-tunnel
> (9) eap_peap: EAP-Message = 0x029e00061a03
> (9) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
> (9) eap_peap: User-Name = "testuser"
> (9) eap_peap: State = 0x73614bc172ff510eb5bcf37c76b9f7ee
> (9) Virtual server inner-tunnel received request
> (9) EAP-Message = 0x029e00061a03
> (9) FreeRADIUS-Proxied-To = 127.0.0.1
> (9) User-Name = "testuser"
> (9) State = 0x73614bc172ff510eb5bcf37c76b9f7ee
> (9) server inner-tunnel {
> (9) session-state: No cached attributes
> (9) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (9) authorize {
> (9) policy filter_username {
> (9) if (&User-Name) {
> (9) if (&User-Name) -> TRUE
> (9) if (&User-Name) {
> (9) if (&User-Name =~ / /) {
> (9) if (&User-Name =~ / /) -> FALSE
> (9) if (&User-Name =~ /@[^@]@/ ) {
> (9) if (&User-Name =~ /@[^@]@/ ) -> FALSE(9) if (&User-Name =~ /\.\./ ) {
> (9) if (&User-Name =~ /\.\./ ) -> FALSE
> (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> (9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> (9) if (&User-Name =~ /\.$/) {
> (9) if (&User-Name =~ /\.$/) -> FALSE
> (9) if (&User-Name =~ /@\./) {
> (9) if (&User-Name =~ /@\./) -> FALSE
> (9) } # if (&User-Name) = notfound
> (9) } # policy filter_username = notfound
> (9) [chap] = noop
> (9) [mschap] = noop
> (9) suffix: Checking for suffix after "@"
> (9) suffix: No '@' in User-Name = "testuser", looking up realm NULL
> (9) suffix: No such realm "NULL"
> (9) [suffix] = noop
> (9) update control {
> (9) &Proxy-To-Realm := LOCAL
> (9) } # update control = noop
> (9) eap: Peer sent EAP Response (code 2) ID 158 length 6
> (9) eap: No EAP Start, assuming it's an on-going EAP conversation
> (9) [eap] = updated
> (9) files: users: Matched entry testuser at line 98
> (9) [files] = ok
> (9) [expiration] = noop
> (9) [logintime] = noop
> (9) pap: Normalizing NT-Password from hex encoding, 32 bytes -> 16 bytes
> (9) pap: WARNING: Auth-Type already set. Not setting to PAP
> (9) [pap] = noop
> (9) } # authorize = updated
> (9) Found Auth-Type = eap
> (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (9) authenticate {
> (9) eap: Expiring EAP session with state 0x73614bc172ff510e
> (9) eap: Finished EAP session with state 0x73614bc172ff510e
> (9) eap: Previous EAP request found for state 0x73614bc172ff510e, released from the list
> (9) eap: Peer sent packet with method EAP MSCHAPv2 (26)
> (9) eap: Calling submodule eap_mschapv2 to process data
> (9) eap: Sending EAP Success (code 3) ID 158 length 4
> (9) eap: Freeing handler
> (9) [eap] = ok
> (9) } # authenticate = ok
> (9) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (9) post-auth {
> (9) update {
> (9) &outer.session-state::MS-MPPE-Encryption-Policy += &reply:MS-MPPE-Encryption-Policy[*] -> Encryption-Allowed
> (9) &outer.session-state::MS-MPPE-Encryption-Types += &reply:MS-MPPE-Encryption-Types[*] -> RC4-40or128-bit-Allowed
> (9) &outer.session-state::MS-MPPE-Send-Key += &reply:MS-MPPE-Send-Key[*] -> 0x33046b7deb897ca1ac0495bae9824012
> (9) &outer.session-state::MS-MPPE-Recv-Key += &reply:MS-MPPE-Recv-Key[*] -> 0x53cb2180b174fddc9bd6bee5cb0a3f0d
> (9) &outer.session-state::EAP-Message += &reply:EAP-Message[*] -> 0x039e0004
> (9) &outer.session-state::Message-Authenticator += &reply:Message-Authenticator[*] -> 0x00000000000000000000000000000000
> (9) &outer.session-state::User-Name += &reply:User-Name[*] -> 'testuser'
> (9) } # update = noop
> (9) update outer.session-state {
> (9) MS-MPPE-Encryption-Policy !* ANY
> (9) MS-MPPE-Encryption-Types !* ANY
> (9) MS-MPPE-Send-Key !* ANY
> (9) MS-MPPE-Recv-Key !* ANY
> (9) Message-Authenticator !* ANY
> (9) EAP-Message !* ANY
> (9) Proxy-State !* ANY
> (9) } # update outer.session-state = noop
> (9) } # post-auth = noop
> (9) Login OK: [testuser] (from client BNE-WLAN-UAP1 port 0 via TLS tunnel)
> (9) } # server inner-tunnel
> (9) Virtual server sending reply
> (9) MS-MPPE-Encryption-Policy = Encryption-Allowed
> (9) MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
> (9) MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012
> (9) MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d
> (9) EAP-Message = 0x039e0004
> (9) Message-Authenticator = 0x00000000000000000000000000000000
> (9) User-Name = "testuser"
> (9) eap_peap: Got tunneled reply code 2
> (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed
> (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
> (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012
> (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d
> (9) eap_peap: EAP-Message = 0x039e0004
> (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
> (9) eap_peap: User-Name = "testuser"
> (9) eap_peap: Got tunneled reply RADIUS code 2
> (9) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed
> (9) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
> (9) eap_peap: MS-MPPE-Send-Key = 0x33046b7deb897ca1ac0495bae9824012
> (9) eap_peap: MS-MPPE-Recv-Key = 0x53cb2180b174fddc9bd6bee5cb0a3f0d
> (9) eap_peap: EAP-Message = 0x039e0004
> (9) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
> (9) eap_peap: User-Name = "testuser"
> (9) eap_peap: Tunneled authentication was successful
> (9) eap_peap: SUCCESS
> (9) eap: Sending EAP Request (code 1) ID 159 length 38
> (9) eap: EAP session adding &reply:State = 0xdcff01a1d5601842
> (9) [eap] = handled
> (9) } # authenticate = handled
> (9) Using Post-Auth-Type Challenge
> (9) Post-Auth-Type sub-section not found. Ignoring.
> (9) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (9) session-state: Saving cached attributes
> (9) User-Name += "testuser"
> (9) Sent Access-Challenge Id 205 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> (9) EAP-Message = 0x019f00261900170303001b8dd194cd37ae97986b82c7a825fd124f9c9f6538e32bc910266c38
> (9) Message-Authenticator = 0x00000000000000000000000000000000
> (9) State = 0xdcff01a1d56018422343d3b59bbb1704
> (9) Finished request
> Waking up in 4.5 seconds.
> (10) Received Access-Request Id 206 from 192.168.40.21:46541 to 192.168.8.35:1812 length 205
> (10) User-Name = "anonymous"
> (10) NAS-Identifier = "802aa8d3d475"
> (10) NAS-Port = 0
> (10) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> (10) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> (10) Framed-MTU = 1400
> (10) NAS-Port-Type = Wireless-802.11
> (10) Connect-Info = "CONNECT 0Mbps 802.11b"
> (10) EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870
> (10) State = 0xdcff01a1d56018422343d3b59bbb1704
> (10) Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81
> (10) Restoring &session-state
> (10) &session-state:User-Name += "testuser"
> (10) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> (10) authorize {
> (10) policy filter_username {
> (10) if (&User-Name) {
> (10) if (&User-Name) -> TRUE
> (10) if (&User-Name) {
> (10) if (&User-Name =~ / /) {
> (10) if (&User-Name =~ / /) -> FALSE
> (10) if (&User-Name =~ /@[^@]@/ ) {
> (10) if (&User-Name =~ /@[^@]@/ ) -> FALSE(10) if (&User-Name =~ /\.\./ ) {
> (10) if (&User-Name =~ /\.\./ ) -> FALSE
> (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> (10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> (10) if (&User-Name =~ /\.$/) {
> (10) if (&User-Name =~ /\.$/) -> FALSE
> (10) if (&User-Name =~ /@\./) {
> (10) if (&User-Name =~ /@\./) -> FALSE
> (10) } # if (&User-Name) = notfound
> (10) } # policy filter_username = notfound
> (10) [preprocess] = ok
> (10) [chap] = noop
> (10) [mschap] = noop
> (10) [digest] = noop
> (10) suffix: Checking for suffix after "@"
> (10) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> (10) suffix: No such realm "NULL"
> (10) [suffix] = noop
> (10) eap: Peer sent EAP Response (code 2) ID 159 length 38
> (10) eap: Continuing tunnel setup
> (10) [eap] = ok
> (10) } # authorize = ok
> (10) Found Auth-Type = eap
> (10) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (10) authenticate {
> (10) eap: Expiring EAP session with state 0xdcff01a1d5601842
> (10) eap: Finished EAP session with state 0xdcff01a1d5601842
> (10) eap: Previous EAP request found for state 0xdcff01a1d5601842, released from the list
> (10) eap: Peer sent packet with method EAP PEAP (25)
> (10) eap: Calling submodule eap_peap to process data
> (10) eap_peap: Continuing EAP-TLS
> (10) eap_peap: [eaptls verify] = ok
> (10) eap_peap: Done initial handshake
> (10) eap_peap: [eaptls process] = ok
> (10) eap_peap: Session established. Decoding tunneled attributes
> (10) eap_peap: PEAP state send tlv success
> (10) eap_peap: Received EAP-TLV response
> (10) eap_peap: Success
> (10) eap: Sending EAP Success (code 3) ID 159 length 4
> (10) eap: Freeing handler
> (10) [eap] = ok
> (10) } # authenticate = ok
> (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default
> (10) post-auth {
> (10) policy debug_all {
> (10) policy debug_control {
> (10) if ("%{debug_attr:control:}" == '') {
> (10) Attributes matching "control:"
> (10) &control:Auth-Type = eap
> (10) EXPAND %{debug_attr:control:}
> (10) -->
> (10) if ("%{debug_attr:control:}" == '') -> TRUE
> (10) if ("%{debug_attr:control:}" == '') {
> (10) [noop] = noop
> (10) } # if ("%{debug_attr:control:}" == '') = noop
> (10) } # policy debug_control = noop
> (10) policy debug_request {
> (10) if ("%{debug_attr:request:}" == '') {
> (10) Attributes matching "request:"
> (10) &request:User-Name = anonymous
> (10) &request:NAS-Identifier = 802aa8d3d475
> (10) &request:NAS-Port = 0
> (10) &request:Called-Station-Id = 82-2A-A8-D5-D4-75:WLAN
> (10) &request:Calling-Station-Id = EC-1F-72-7E-BC-BB
> (10) &request:Framed-MTU = 1400
> (10) &request:NAS-Port-Type = Wireless-802.11
> (10) &request:Connect-Info = CONNECT 0Mbps 802.11b
> (10) &request:EAP-Message = 0x029f00261900170303001b08297473cdcc0f4aa763212bf39685e9ce66ea74ca72efa8945870
> (10) &request:State = 0xdcff01a1d56018422343d3b59bbb1704
> (10) &request:Message-Authenticator = 0x97069102e9654b3765a5877b1d775b81
> (10) &request:Event-Timestamp = Dec 20 2019 16:01:10 AEST
> (10) &request:NAS-IP-Address = 192.168.40.21
> (10) &request:EAP-Type = PEAP
> (10) EXPAND %{debug_attr:request:}
> (10) -->
> (10) if ("%{debug_attr:request:}" == '') -> TRUE
> (10) if ("%{debug_attr:request:}" == '') {
> (10) [noop] = noop
> (10) } # if ("%{debug_attr:request:}" == '') = noop
> (10) } # policy debug_request = noop
> (10) policy debug_coa {
> (10) if ("%{debug_attr:coa:}" == '') {
> (10) Attributes matching "coa:"
> (10) WARNING: List "coa" is not available
> (10) EXPAND %{debug_attr:coa:}
> (10) -->
> (10) if ("%{debug_attr:coa:}" == '') -> TRUE
> (10) if ("%{debug_attr:coa:}" == '') {
> (10) [noop] = noop
> (10) } # if ("%{debug_attr:coa:}" == '') = noop
> (10) } # policy debug_coa = noop
> (10) policy debug_reply {
> (10) if ("%{debug_attr:reply:}" == '') {
> (10) Attributes matching "reply:"
> (10) &reply:MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e
> (10) &reply:MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138
> (10) &reply:EAP-MSK = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491eadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138
> (10) &reply:EAP-EMSK = 0x68ed4ecf9dba4d63ae95c5226d39f88c5ec2c2a995d3faa4132911ee671b70e9fac2e9a0537612142720f69e17562da9ba9d672355c03d816669777248da35de
> (10) &reply:EAP-Session-Id = 0x19ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d8345cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e
> (10) &reply:EAP-Message = 0x039f0004
> (10) &reply:Message-Authenticator = 0x00000000000000000000000000000000
> (10) &reply:User-Name = anonymous
> (10) EXPAND %{debug_attr:reply:}
> (10) -->
> (10) if ("%{debug_attr:reply:}" == '') -> TRUE
> (10) if ("%{debug_attr:reply:}" == '') {
> (10) [noop] = noop
> (10) } # if ("%{debug_attr:reply:}" == '') = noop
> (10) } # policy debug_reply = noop
> (10) policy debug_session_state {
> (10) if ("%{debug_attr:session-state:}" == '') {
> (10) Attributes matching "session-state:"
> (10) &session-state:User-Name += testuser
> (10) EXPAND %{debug_attr:session-state:}
> (10) -->
> (10) if ("%{debug_attr:session-state:}" == '') -> TRUE
> (10) if ("%{debug_attr:session-state:}" == '') {
> (10) [noop] = noop
> (10) } # if ("%{debug_attr:session-state:}" == '') = noop
> (10) } # policy debug_session_state = noop
> (10) } # policy debug_all = noop
> (10) update {
> (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser'
> (10) } # update = noop
> (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) {
> (10) ERROR: Failed retrieving values required to evaluate condition
> (10) [exec] = noop
> (10) policy remove_reply_message_if_eap {
> (10) if (&reply:EAP-Message && &reply:Reply-Message) {
> (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
> (10) else {
> (10) [noop] = noop
> (10) } # else = noop
> (10) } # policy remove_reply_message_if_eap = noop
> (10) } # post-auth = noop
> (10) Login OK: [anonymous] (from client BNE-WLAN-UAP1 port 0 cli EC-1F-72-7E-BC-BB)
> (10) Sent Access-Accept Id 206 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> (10) MS-MPPE-Recv-Key = 0x1ce75c3ceb03641a167a07ab493748f436823b840add5f9a0cdcc84bcca4491e
> (10) MS-MPPE-Send-Key = 0xadcc03cc534aca4b069be1127ff680b9208f130e301189ba15e54978f89a3138
> (10) EAP-Message = 0x039f0004
> (10) Message-Authenticator = 0x00000000000000000000000000000000
> (10) User-Name = "anonymous"
> (10) User-Name += "testuser"
> (10) Finished request
> Waking up in 4.5 seconds.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Friday, December 20, 2019 6:22 AM, S. via Freeradius-Users freeradius-users at lists.freeradius.org wrote:
>
> > Hi all,
> > I'm stuck on an issue with FreeRADIUS configuration and after a few days of reading and searching I'm out of ideas. Hopefully it's just a simple mistake which someone can pick up and help me out with.
> > I've been using FreeRADIUS to handle EAP authentication (both EAP-TLS and EAP-PEAP-MSCHAPv2) and dynamic VLAN assignments for wireless networks and it's been working flawlessly.
> > Recently I've had to look at making some configuration changes to suit a more complex situation and this is where I'm getting stuck and going around in circles.
> > Previously I have been defining the dynamic VLAN on a per-user basis within the "users" configuration file as such:
> > testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
> > Tunnel-Type = 13,
> > Tunnel-Medium-Type = 6,
> > Tunnel-Private-Group-Id = "125" # CLIENT-VPN
> > This has been working fine and the dynamic VLAN gets assigned as expected.
> > I need to change this now so that the "users" file only contains the username and password hash and the dynamic VLAN assignment actually happens using unlang logic in the post-auth section of the "/etc/freeradius/3.0/sites-enabled/default" file.
> > After a bit of reading, it appears that I can create an attribute in the users file which get's added into a control list which I can reference in the post-auth phase. So I try doing that by first defining the attribute in the "dictionary" file:
> > #tail -n 2 /etc/freeradius/3.0/dictionary
> > ATTRIBUTE VLAN-Name 3000 string
> > And then I add the attribute (and the desired value) in the users file:
> > testuser NT-Password := "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", VLAN-Name := "CLIENT-VPN"
> > I then create the relevant unlang logic. What I'm trying to do with this logic is determine the NAS-IP (WAP) and assigned VLAN-Name for the user. Based on this, I'll send back the approrpiate VLAN-ID.
> > cat /etc/freeradius/3.0/sites-enabled/default
> > ==============================================
> > ...
> > post-auth {
> > debug_all
> > ...
> > if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) {
> > update reply {
> > &Tunnel-Type := VLAN
> > &Tunnel-Medium-Type := IEEE-802
> > &Tunnel-Private-Group-Id := "225"
> > }
> > }
> > The unlang logic works fine just against the NAS-IP-Address however fails when used with the VLAN-Name custom attribute.
> > Looking through the debugs, I find two areas indicating a problem. The most obvious is the ERROR below indicating a failure to get my attribute:
> > (10) &reply::User-Name += &session-state:User-Name[*] -> 'testuser'
> > (10) } # update = noop
> > (10) if ((&request:NAS-IP-Address == 192.168.40.21) && (&control:VLAN-Name == "CLIENT-VPN")) {
> > (10) ERROR: Failed retrieving values required to evaluate condition
> > (10) [exec] = noop
> > (10) policy remove_reply_message_if_eap {
> > (10) if (&reply:EAP-Message && &reply:Reply-Message) {
> > (10) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
> > (10) else {
> > (10) [noop] = noop
> > (10) } # else = noop
> > (10) } # policy remove_reply_message_if_eap = noop
> > (10) } # post-auth = noop
> > Enabling the "debug_all" option in the post-auth section (to dump all attributes) also reveals that my control list attribute "&control:VLAN-Name" doesn't appear to be available for use. The only control list attribute is "&control:Auth-Type".
> > (10) eap: Freeing handler
> > (10) [eap] = ok
> > (10) } # authenticate = ok
> > (10) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default
> > (10) post-auth {
> > (10) policy debug_all {
> > (10) policy debug_control {
> > (10) if ("%{debug_attr:control:}" == '') {
> > (10) Attributes matching "control:"
> > (10) &control:Auth-Type = eap
> > (10) EXPAND %{debug_attr:control:}
> > (10) -->
> > (10) if ("%{debug_attr:control:}" == '') -> TRUE
> > (10) if ("%{debug_attr:control:}" == '') {
> > (10) [noop] = noop
> > (10) } # if ("%{debug_attr:control:}" == '') = noop
> > (10) } # policy debug_control = noop
> > (10) policy debug_request {
> > (10) if ("%{debug_attr:request:}" == '') {
> > Appreciate any help you can provide.
> > Thank you.
> > P.S. I've included the full debug output here as requested in the mailing list rules/FAQ:
> > freeradius -X
> > FreeRADIUS Version 3.0.12
> > Copyright (C) 1999-2016 The FreeRADIUS server project and contributors
> > There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> > PARTICULAR PURPOSE
> > You may redistribute copies of FreeRADIUS under the terms of the
> > GNU General Public License
> > For more information about these matters, see the file named COPYRIGHT
> > Starting - reading configuration files ...
> > including dictionary file /usr/share/freeradius/dictionary
> > including dictionary file /usr/share/freeradius/dictionary.dhcp
> > including dictionary file /usr/share/freeradius/dictionary.vqp
> > including dictionary file /etc/freeradius/3.0/dictionary
> > including configuration file /etc/freeradius/3.0/radiusd.conf
> > including configuration file /etc/freeradius/3.0/proxy.conf
> > including configuration file /etc/freeradius/3.0/clients.conf
> > including files in directory /etc/freeradius/3.0/mods-enabled/
> > including configuration file /etc/freeradius/3.0/mods-enabled/always
> > including configuration file /etc/freeradius/3.0/mods-enabled/unpack
> > including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth
> > including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter
> > including configuration file /etc/freeradius/3.0/mods-enabled/realm
> > including configuration file /etc/freeradius/3.0/mods-enabled/detail
> > including configuration file /etc/freeradius/3.0/mods-enabled/utf8
> > including configuration file /etc/freeradius/3.0/mods-enabled/detail.log
> > including configuration file /etc/freeradius/3.0/mods-enabled/chap
> > including configuration file /etc/freeradius/3.0/mods-enabled/expiration
> > including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp
> > including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients
> > including configuration file /etc/freeradius/3.0/mods-enabled/expr
> > including configuration file /etc/freeradius/3.0/mods-enabled/echo
> > including configuration file /etc/freeradius/3.0/mods-enabled/linelog
> > including configuration file /etc/freeradius/3.0/mods-enabled/preprocess
> > including configuration file /etc/freeradius/3.0/mods-enabled/eap
> > including configuration file /etc/freeradius/3.0/mods-enabled/mschap
> > including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap
> > including configuration file /etc/freeradius/3.0/mods-enabled/replicate
> > including configuration file /etc/freeradius/3.0/mods-enabled/exec
> > including configuration file /etc/freeradius/3.0/mods-enabled/digest
> > including configuration file /etc/freeradius/3.0/mods-enabled/files
> > including configuration file /etc/freeradius/3.0/mods-enabled/soh
> > including configuration file /etc/freeradius/3.0/mods-enabled/pap
> > including configuration file /etc/freeradius/3.0/mods-enabled/unix
> > including configuration file /etc/freeradius/3.0/mods-enabled/radutmp
> > including configuration file /etc/freeradius/3.0/mods-enabled/logintime
> > including configuration file /etc/freeradius/3.0/mods-enabled/passwd
> > including files in directory /etc/freeradius/3.0/policy.d/
> > including configuration file /etc/freeradius/3.0/policy.d/operator-name
> > including configuration file /etc/freeradius/3.0/policy.d/filter
> > including configuration file /etc/freeradius/3.0/policy.d/canonicalization
> > including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids
> > including configuration file /etc/freeradius/3.0/policy.d/control
> > including configuration file /etc/freeradius/3.0/policy.d/accounting
> > including configuration file /etc/freeradius/3.0/policy.d/dhcp
> > including configuration file /etc/freeradius/3.0/policy.d/debug
> > including configuration file /etc/freeradius/3.0/policy.d/cui
> > including configuration file /etc/freeradius/3.0/policy.d/abfab-tr
> > including configuration file /etc/freeradius/3.0/policy.d/eap
> > including files in directory /etc/freeradius/3.0/sites-enabled/
> > including configuration file /etc/freeradius/3.0/sites-enabled/default
> > including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> > main {
> > security {
> > user = "freerad"
> > group = "freerad"
> > allow_core_dumps = no
> > }
> > name = "freeradius"
> > prefix = "/usr"
> > localstatedir = "/var"
> > logdir = "/var/log/freeradius"
> > run_dir = "/var/run/freeradius"
> > }
> > main {
> > name = "freeradius"
> > prefix = "/usr"
> > localstatedir = "/var"
> > sbindir = "/usr/sbin"
> > logdir = "/var/log/freeradius"
> > run_dir = "/var/run/freeradius"
> > libdir = "/usr/lib/freeradius"
> > radacctdir = "/var/log/freeradius/radacct"
> > hostname_lookups = no
> > max_request_time = 30
> > cleanup_delay = 5
> > max_requests = 16384
> > pidfile = "/var/run/freeradius/freeradius.pid"
> > checkrad = "/usr/sbin/checkrad"
> > debug_level = 0
> > proxy_requests = yes
> > log {
> > stripped_names = no
> > auth = yes
> > auth_badpass = no
> > auth_goodpass = no
> > colourise = yes
> > msg_denied = "You are already logged in - access denied"
> > }
> > resources {
> > }
> > security {
> > max_attributes = 200
> > reject_delay = 1.000000
> > status_server = yes
> > }
> > }
> > radiusd: #### Loading Realms and Home Servers ####
> > proxy server {
> > retry_delay = 5
> > retry_count = 3
> > default_fallback = no
> > dead_time = 120
> > wake_all_if_all_dead = no
> > }
> > home_server localhost {
> > ipaddr = 127.0.0.1
> > port = 1812
> > type = "auth"
> > secret = <<< secret >>>
> > response_window = 20.000000
> > response_timeouts = 1
> > max_outstanding = 65536
> > zombie_period = 40
> > status_check = "status-server"
> > ping_interval = 30
> > check_interval = 30
> > check_timeout = 4
> > num_answers_to_alive = 3
> > revive_interval = 120
> > limit {
> > max_connections = 16
> > max_requests = 0
> > lifetime = 0
> > idle_timeout = 0
> > }
> > coa {
> > irt = 2
> > mrt = 16
> > mrc = 5
> > mrd = 30
> > }
> > }
> > home_server_pool my_auth_failover {
> > type = fail-over
> > home_server = localhost
> > }
> > realm example.com {
> > auth_pool = my_auth_failover
> > }
> > realm LOCAL {
> > }
> > radiusd: #### Loading Clients ####
> > client localhost {
> > ipaddr = 127.0.0.1
> > require_message_authenticator = no
> > secret = <<< secret >>>
> > nas_type = "other"
> > proto = "*"
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > client localhost_ipv6 {
> > ipv6addr = ::1
> > require_message_authenticator = no
> > secret = <<< secret >>>
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > client GC-WLAN-UAP1 {
> > ipaddr = 192.168.8.21
> > require_message_authenticator = no
> > secret = <<< secret >>>
> > nas_type = "other"
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > client BNE-WLAN-UAP1 {
> > ipaddr = 192.168.40.21
> > require_message_authenticator = no
> > secret = <<< secret >>>
> > nas_type = "other"
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > Debugger not attached
> > Creating Auth-Type = mschap
> > ============================
> > Creating Auth-Type = digest
> > ============================
> > Creating Auth-Type = eap
> > =========================
> > Creating Auth-Type = PAP
> > =========================
> > Creating Auth-Type = CHAP
> > ==========================
> > Creating Auth-Type = MS-CHAP
> > =============================
> > radiusd: #### Instantiating modules ####
> > modules {
> > Loaded module rlm_always
> > =========================
> > Loading module "reject" from file /etc/freeradius/3.0/mods-enabled/always
> > ==========================================================================
> > always reject {
> > rcode = "reject"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "fail" from file /etc/freeradius/3.0/mods-enabled/always
> > ========================================================================
> > always fail {
> > rcode = "fail"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "ok" from file /etc/freeradius/3.0/mods-enabled/always
> > ======================================================================
> > always ok {
> > rcode = "ok"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "handled" from file /etc/freeradius/3.0/mods-enabled/always
> > ===========================================================================
> > always handled {
> > rcode = "handled"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
> > ===========================================================================
> > always invalid {
> > rcode = "invalid"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
> > ============================================================================
> > always userlock {
> > rcode = "userlock"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
> > ============================================================================
> > always notfound {
> > rcode = "notfound"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "noop" from file /etc/freeradius/3.0/mods-enabled/always
> > ========================================================================
> > always noop {
> > rcode = "noop"
> > simulcount = 0
> > mpp = no
> > }
> > Loading module "updated" from file /etc/freeradius/3.0/mods-enabled/always
> > ===========================================================================
> > always updated {
> > rcode = "updated"
> > simulcount = 0
> > mpp = no
> > }
> > Loaded module rlm_unpack
> > =========================
> > Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack
> > ==========================================================================
> > Loaded module rlm_exec
> > =======================
> > Loading module "ntlm_auth" from file /etc/freeradius/3.0/mods-enabled/ntlm_auth
> > ================================================================================
> > exec ntlm_auth {
> > wait = yes
> > program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}"
> > shell_escape = yes
> > }
> > Loaded module rlm_attr_filter
> > ==============================
> > Loading module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ===============================================================================================
> > attr_filter attr_filter.post-proxy {
> > filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy"
> > key = "%{Realm}"
> > relaxed = no
> > }
> > Loading module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ==============================================================================================
> > attr_filter attr_filter.pre-proxy {
> > filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy"
> > key = "%{Realm}"
> > relaxed = no
> > }
> > Loading module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ==================================================================================================
> > attr_filter attr_filter.access_reject {
> > filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_reject"
> > key = "%{User-Name}"
> > relaxed = no
> > }
> > Loading module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > =====================================================================================================
> > attr_filter attr_filter.access_challenge {
> > filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge"
> > key = "%{User-Name}"
> > relaxed = no
> > }
> > Loading module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ========================================================================================================
> > attr_filter attr_filter.accounting_response {
> > filename = "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response"
> > key = "%{User-Name}"
> > relaxed = no
> > }
> > Loaded module rlm_realm
> > ========================
> > Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
> > ========================================================================
> > realm IPASS {
> > format = "prefix"
> > delimiter = "/"
> > ignore_default = no
> > ignore_null = no
> > }
> > Loading module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
> > =========================================================================
> > realm suffix {
> > format = "suffix"
> > delimiter = "@"
> > ignore_default = no
> > ignore_null = no
> > }
> > Loading module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
> > ===============================================================================
> > realm realmpercent {
> > format = "suffix"
> > delimiter = "%"
> > ignore_default = no
> > ignore_null = no
> > }
> > Loading module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
> > ===========================================================================
> > realm ntdomain {
> > format = "prefix"
> > delimiter = "\\"
> > ignore_default = no
> > ignore_null = no
> > }
> > Loaded module rlm_detail
> > =========================
> > Loading module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
> > ==========================================================================
> > detail {
> > filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
> > header = "%t"
> > permissions = 384
> > locking = no
> > escape_filenames = no
> > log_packet_header = no
> > }
> > Loaded module rlm_utf8
> > =======================
> > Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
> > ======================================================================
> > Loading module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > ================================================================================
> > detail auth_log {
> > filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
> > header = "%t"
> > permissions = 384
> > locking = no
> > escape_filenames = no
> > log_packet_header = no
> > }
> > Loading module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > =================================================================================
> > detail reply_log {
> > filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
> > header = "%t"
> > permissions = 384
> > locking = no
> > escape_filenames = no
> > log_packet_header = no
> > }
> > Loading module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > =====================================================================================
> > detail pre_proxy_log {
> > filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
> > header = "%t"
> > permissions = 384
> > locking = no
> > escape_filenames = no
> > log_packet_header = no
> > }
> > Loading module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > ======================================================================================
> > detail post_proxy_log {
> > filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
> > header = "%t"
> > permissions = 384
> > locking = no
> > escape_filenames = no
> > log_packet_header = no
> > }
> > Loaded module rlm_chap
> > =======================
> > Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
> > ======================================================================
> > Loaded module rlm_expiration
> > =============================
> > Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
> > ==================================================================================
> > Loaded module rlm_radutmp
> > ==========================
> > Loading module "sradutmp" from file /etc/freeradius/3.0/mods-enabled/sradutmp
> > ==============================================================================
> > radutmp sradutmp {
> > filename = "/var/log/freeradius/sradutmp"
> > username = "%{User-Name}"
> > case_sensitive = yes
> > check_with_nas = yes
> > permissions = 420
> > caller_id = no
> > }
> > Loaded module rlm_dynamic_clients
> > ==================================
> > Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients
> > ============================================================================================
> > Loaded module rlm_expr
> > =======================
> > Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
> > ======================================================================
> > expr {
> > safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
> > }
> > Loading module "echo" from file /etc/freeradius/3.0/mods-enabled/echo
> > ======================================================================
> > exec echo {
> > wait = yes
> > program = "/bin/echo %{User-Name}"
> > input_pairs = "request"
> > output_pairs = "reply"
> > shell_escape = yes
> > }
> > Loaded module rlm_linelog
> > ==========================
> > Loading module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
> > ============================================================================
> > linelog {
> > filename = "/var/log/freeradius/linelog"
> > escape_filenames = no
> > syslog_severity = "info"
> > permissions = 384
> > format = "This is a log message for %{User-Name}"
> > reference = "messages.%{%{reply:Packet-Type}:-default}"
> > }
> > Loading module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
> > ===================================================================================
> > linelog log_accounting {
> > filename = "/var/log/freeradius/linelog-accounting"
> > escape_filenames = no
> > syslog_severity = "info"
> > permissions = 384
> > format = ""
> > reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
> > }
> > Loaded module rlm_preprocess
> > =============================
> > Loading module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
> > ==================================================================================
> > preprocess {
> > huntgroups = "/etc/freeradius/3.0/mods-config/preprocess/huntgroups"
> > hints = "/etc/freeradius/3.0/mods-config/preprocess/hints"
> > with_ascend_hack = no
> > ascend_channels_per_line = 23
> > with_ntdomain_hack = no
> > with_specialix_jetstream_hack = no
> > with_cisco_vsa_hack = no
> > with_alvarion_vsa_hack = no
> > }
> > Loaded module rlm_eap
> > ======================
> > Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
> > ====================================================================
> > eap {
> > default_eap_type = "peap"
> > timer_expire = 60
> > ignore_unknown_eap_types = no
> > cisco_accounting_username_bug = no
> > max_sessions = 16384
> > }
> > Loaded module rlm_mschap
> > =========================
> > Loading module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
> > ==========================================================================
> > mschap {
> > use_mppe = yes
> > require_encryption = no
> > require_strong = no
> > with_ntdomain_hack = yes
> > passchange {
> > }
> > allow_retry = yes
> > }
> > Loaded module rlm_cache
> > ========================
> > Loading module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
> > ================================================================================
> > cache cache_eap {
> > driver = "rlm_cache_rbtree"
> > key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
> > ttl = 15
> > max_entries = 0
> > epoch = 0
> > add_stats = no
> > }
> > Loaded module rlm_replicate
> > ============================
> > Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate
> > ================================================================================
> > Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec
> > ======================================================================
> > exec {
> > wait = no
> > input_pairs = "request"
> > shell_escape = yes
> > timeout = 10
> > }
> > Loaded module rlm_digest
> > =========================
> > Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest
> > ==========================================================================
> > Loaded module rlm_files
> > ========================
> > Loading module "files" from file /etc/freeradius/3.0/mods-enabled/files
> > ========================================================================
> > files {
> > filename = "/etc/freeradius/3.0/mods-config/files/authorize"
> > acctusersfile = "/etc/freeradius/3.0/mods-config/files/accounting"
> > preproxy_usersfile = "/etc/freeradius/3.0/mods-config/files/pre-proxy"
> > }
> > Loaded module rlm_soh
> > ======================
> > Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
> > ====================================================================
> > soh {
> > dhcp = yes
> > }
> > Loaded module rlm_pap
> > ======================
> > Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
> > ====================================================================
> > pap {
> > normalise = yes
> > }
> > Loaded module rlm_unix
> > =======================
> > Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix
> > ======================================================================
> > unix {
> > radwtmp = "/var/log/freeradius/radwtmp"
> > }
> > Creating attribute Unix-Group
> > Loading module "radutmp" from file /etc/freeradius/3.0/mods-enabled/radutmp
> > ============================================================================
> > radutmp {
> > filename = "/var/log/freeradius/radutmp"
> > username = "%{User-Name}"
> > case_sensitive = yes
> > check_with_nas = yes
> > permissions = 384
> > caller_id = yes
> > }
> > Loaded module rlm_logintime
> > ============================
> > Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
> > ================================================================================
> > logintime {
> > minimum_timeout = 60
> > }
> > Loaded module rlm_passwd
> > =========================
> > Loading module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
> > ==============================================================================
> > passwd etc_passwd {
> > filename = "/etc/passwd"
> > format = "*User-Name:Crypt-Password:"
> > delimiter = ":"
> > ignore_nislike = no
> > ignore_empty = yes
> > allow_multiple_keys = no
> > hash_size = 100
> > }
> > instantiate {
> > }
> > Instantiating module "reject" from file /etc/freeradius/3.0/mods-enabled/always
> > ================================================================================
> > Instantiating module "fail" from file /etc/freeradius/3.0/mods-enabled/always
> > ==============================================================================
> > Instantiating module "ok" from file /etc/freeradius/3.0/mods-enabled/always
> > ============================================================================
> > Instantiating module "handled" from file /etc/freeradius/3.0/mods-enabled/always
> > =================================================================================
> > Instantiating module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
> > =================================================================================
> > Instantiating module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
> > ==================================================================================
> > Instantiating module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
> > ==================================================================================
> > Instantiating module "noop" from file /etc/freeradius/3.0/mods-enabled/always
> > ==============================================================================
> > Instantiating module "updated" from file /etc/freeradius/3.0/mods-enabled/always
> > =================================================================================
> > Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > =====================================================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/post-proxy
> > Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ====================================================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy
> > Instantiating module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ========================================================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_reject
> > [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT".
> > [/etc/freeradius/3.0/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay-USec" found in filter list for realm "DEFAULT".
> > Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ===========================================================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_challenge
> > Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> > ==============================================================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/accounting_response
> > Instantiating module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
> > ==============================================================================
> > Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
> > ===============================================================================
> > Instantiating module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
> > =====================================================================================
> > Instantiating module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
> > =================================================================================
> > Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
> > ================================================================================
> > Instantiating module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > ======================================================================================
> > rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
> > Instantiating module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > =======================================================================================
> > Instantiating module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > ===========================================================================================
> > Instantiating module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> > ============================================================================================
> > Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
> > ========================================================================================
> > Instantiating module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
> > ==================================================================================
> > Instantiating module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
> > =========================================================================================
> > Instantiating module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
> > ========================================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/huntgroups
> > reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/hints
> > Instantiating module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
> > ==========================================================================
> > Linked to sub-module rlm_eap_gtc
> > =================================
> > gtc {
> > challenge = "Password: "
> > auth_type = "PAP"
> > }
> > Linked to sub-module rlm_eap_tls
> > =================================
> > tls {
> > tls = "tls-common"
> > }
> > tls-config tls-common {
> > verify_depth = 0
> > ca_path = "/etc/freeradius/3.0/certs"
> > pem_file_type = yes
> > private_key_file = "/etc/ssl/private/XXXXXX.key.pem"
> > certificate_file = "/etc/ssl/certs/XXXXXX.cert.pem"
> > ca_file = "/etc/ssl/certs/ca-certificates.crt"
> > dh_file = "/etc/freeradius/3.0/certs/dh"
> > fragment_size = 1024
> > include_length = yes
> > auto_chain = yes
> > check_crl = no
> > check_all_crl = no
> > cipher_list = "HIGH"
> > ecdh_curve = "prime256v1"
> > cache {
> > enable = yes
> > lifetime = 24
> > max_entries = 255
> > }
> > verify {
> > skip_if_ocsp_ok = no
> > }
> > ocsp {
> > enable = no
> > override_cert_url = yes
> > url = "http://127.0.0.1/ocsp/"
> > use_nonce = yes
> > timeout = 0
> > softfail = no
> > }
> > }
> > Linked to sub-module rlm_eap_peap
> > ==================================
> > peap {
> > tls = "tls-common"
> > default_eap_type = "mschapv2"
> > copy_request_to_tunnel = no
> > use_tunneled_reply = no
> > proxy_tunneled_request_as_eap = yes
> > virtual_server = "inner-tunnel"
> > soh = no
> > require_client_cert = no
> > }
> > tls: Using cached TLS configuration from previous invocation
> > Linked to sub-module rlm_eap_mschapv2
> > ======================================
> > mschapv2 {
> > with_ntdomain_hack = no
> > send_error = no
> > }
> > Instantiating module "mschap" from file /etc/freeradius/3.0/mods-enabled/mschap
> > ================================================================================
> > rlm_mschap (mschap): using internal authentication
> > Instantiating module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
> > ======================================================================================
> > rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
> > Instantiating module "files" from file /etc/freeradius/3.0/mods-enabled/files
> > ==============================================================================
> > reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize
> > reading pairlist file /etc/freeradius/3.0/mods-config/files/accounting
> > reading pairlist file /etc/freeradius/3.0/mods-config/files/pre-proxy
> > Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
> > ==========================================================================
> > Instantiating module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
> > ======================================================================================
> > Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
> > ====================================================================================
> > rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
> > } # modules
> > radiusd: #### Loading Virtual Servers ####
> > server { # from file /etc/freeradius/3.0/radiusd.conf
> > } # server
> > server default { # from file /etc/freeradius/3.0/sites-enabled/default
> > Loading authenticate {...}
> > ===========================
> > Loading authorize {...}
> > ========================
> > Ignoring "sql" (see raddb/mods-available/README.rst)
> > Ignoring "ldap" (see raddb/mods-available/README.rst)
> > Loading preacct {...}
> > ======================
> > Loading accounting {...}
> > =========================
> > Loading post-proxy {...}
> > =========================
> > Loading post-auth {...}
> > ========================
> > } # server default
> > server inner-tunnel { # from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> > Loading authenticate {...}
> > ===========================
> > Loading authorize {...}
> > ========================
> > Loading session {...}
> > ======================
> > Loading post-proxy {...}
> > =========================
> > Loading post-auth {...}
> > ========================
> > } # server inner-tunnel
> > radiusd: #### Opening IP addresses and Ports ####
> > listen {
> > type = "auth"
> > ipaddr = *
> > port = 0
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > listen {
> > type = "acct"
> > ipaddr = *
> > port = 0
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > listen {
> > type = "auth"
> > ipv6addr = ::
> > port = 0
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > listen {
> > type = "acct"
> > ipv6addr = ::
> > port = 0
> > limit {
> > max_connections = 16
> > lifetime = 0
> > idle_timeout = 30
> > }
> > }
> > listen {
> > type = "auth"
> > ipaddr = 127.0.0.1
> > port = 18120
> > }
> > Listening on auth address * port 1812 bound to server default
> > Listening on acct address * port 1813 bound to server default
> > Listening on auth address :: port 1812 bound to server default
> > Listening on acct address :: port 1813 bound to server default
> > Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
> > Listening on proxy address * port 53109
> > Listening on proxy address :: port 50014
> > Ready to process requests
> > (0) Received Access-Request Id 196 from 192.168.40.21:46541 to 192.168.8.35:1812 length 163
> > (0) User-Name = "anonymous"
> > (0) NAS-Identifier = "802aa8d3d475"
> > (0) NAS-Port = 0
> > (0) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (0) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (0) Framed-MTU = 1400
> > (0) NAS-Port-Type = Wireless-802.11
> > (0) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (0) EAP-Message = 0x0295000e01616e6f6e796d6f7573
> > (0) Message-Authenticator = 0x39e811b49e0603269b2b13734db8c4d3
> > (0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (0) authorize {
> > (0) policy filter_username {
> > (0) if (&User-Name) {
> > (0) if (&User-Name) -> TRUE
> > (0) if (&User-Name) {
> > (0) if (&User-Name =~ / /) {
> > (0) if (&User-Name =~ / /) -> FALSE
> > (0) if (&User-Name =~ /@[^@]@/ ) {
> > (0) if (&User-Name =~ /@[^@]@/ ) -> FALSE(0) if (&User-Name =~ /\.\./ ) {
> > (0) if (&User-Name =~ /\.\./ ) -> FALSE
> > (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (0) if (&User-Name =~ /\.$/) {
> > (0) if (&User-Name =~ /\.$/) -> FALSE
> > (0) if (&User-Name =~ /@\./) {
> > (0) if (&User-Name =~ /@\./) -> FALSE
> > (0) } # if (&User-Name) = notfound
> > (0) } # policy filter_username = notfound
> > (0) [preprocess] = ok
> > (0) [chap] = noop
> > (0) [mschap] = noop
> > (0) [digest] = noop
> > (0) suffix: Checking for suffix after "@"
> > (0) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (0) suffix: No such realm "NULL"
> > (0) [suffix] = noop
> > (0) eap: Peer sent EAP Response (code 2) ID 149 length 14
> > (0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
> > (0) [eap] = ok
> > (0) } # authorize = ok
> > (0) Found Auth-Type = eap
> > (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (0) authenticate {
> > (0) eap: Peer sent packet with method EAP Identity (1)
> > (0) eap: Calling submodule eap_peap to process data
> > (0) eap_peap: Initiating new EAP-TLS session
> > (0) eap_peap: [eaptls start] = request
> > (0) eap: Sending EAP Request (code 1) ID 150 length 6
> > (0) eap: EAP session adding &reply:State = 0xdcff01a1dc691842
> > (0) [eap] = handled
> > (0) } # authenticate = handled
> > (0) Using Post-Auth-Type Challenge
> > (0) Post-Auth-Type sub-section not found. Ignoring.
> > (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (0) Sent Access-Challenge Id 196 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (0) EAP-Message = 0x019600061920
> > (0) Message-Authenticator = 0x00000000000000000000000000000000
> > (0) State = 0xdcff01a1dc6918422343d3b59bbb1704
> > (0) Finished request
> > Waking up in 4.9 seconds.
> > (1) Received Access-Request Id 197 from 192.168.40.21:46541 to 192.168.8.35:1812 length 320
> > (1) User-Name = "anonymous"
> > (1) NAS-Identifier = "802aa8d3d475"
> > (1) NAS-Port = 0
> > (1) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (1) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (1) Framed-MTU = 1400
> > (1) NAS-Port-Type = Wireless-802.11
> > (1) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (1) EAP-Message = 0x0296009919800000008f160301008a010000860303ec979b7b6f81e04f09f5d9b8d7ed3378828f001f372eb2fbf8b912717f1d834500002acca9cca8c02bc02fc02cc030c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a01000033ff0100010000170000000d001400120403
> > (1) State = 0xdcff01a1dc6918422343d3b59bbb1704
> > (1) Message-Authenticator = 0x76ea1adde71a5cdad501da5ad77f89a2
> > (1) session-state: No cached attributes
> > (1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (1) authorize {
> > (1) policy filter_username {
> > (1) if (&User-Name) {
> > (1) if (&User-Name) -> TRUE
> > (1) if (&User-Name) {
> > (1) if (&User-Name =~ / /) {
> > (1) if (&User-Name =~ / /) -> FALSE
> > (1) if (&User-Name =~ /@[^@]@/ ) {
> > (1) if (&User-Name =~ /@[^@]@/ ) -> FALSE(1) if (&User-Name =~ /\.\./ ) {
> > (1) if (&User-Name =~ /\.\./ ) -> FALSE
> > (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (1) if (&User-Name =~ /\.$/) {
> > (1) if (&User-Name =~ /\.$/) -> FALSE
> > (1) if (&User-Name =~ /@\./) {
> > (1) if (&User-Name =~ /@\./) -> FALSE
> > (1) } # if (&User-Name) = notfound
> > (1) } # policy filter_username = notfound
> > (1) [preprocess] = ok
> > (1) [chap] = noop
> > (1) [mschap] = noop
> > (1) [digest] = noop
> > (1) suffix: Checking for suffix after "@"
> > (1) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (1) suffix: No such realm "NULL"
> > (1) [suffix] = noop
> > (1) eap: Peer sent EAP Response (code 2) ID 150 length 153
> > (1) eap: Continuing tunnel setup
> > (1) [eap] = ok
> > (1) } # authorize = ok
> > (1) Found Auth-Type = eap
> > (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (1) authenticate {
> > (1) eap: Expiring EAP session with state 0xdcff01a1dc691842
> > (1) eap: Finished EAP session with state 0xdcff01a1dc691842
> > (1) eap: Previous EAP request found for state 0xdcff01a1dc691842, released from the list
> > (1) eap: Peer sent packet with method EAP PEAP (25)
> > (1) eap: Calling submodule eap_peap to process data
> > (1) eap_peap: Continuing EAP-TLS
> > (1) eap_peap: Peer indicated complete TLS record size will be 143 bytes
> > (1) eap_peap: Got complete TLS record (143 bytes)
> > (1) eap_peap: [eaptls verify] = length included
> > (1) eap_peap: (other): before SSL initialization
> > (1) eap_peap: TLS_accept: before SSL initialization
> > (1) eap_peap: TLS_accept: before SSL initialization
> > (1) eap_peap: <<< recv TLS 1.2 [length 008a]
> > (1) eap_peap: TLS_accept: SSLv3/TLS read client hello
> > (1) eap_peap: >>> send TLS 1.2 [length 003d]
> > (1) eap_peap: TLS_accept: SSLv3/TLS write server hello
> > (1) eap_peap: >>> send TLS 1.2 [length 0c06]
> > (1) eap_peap: TLS_accept: SSLv3/TLS write certificate
> > (1) eap_peap: >>> send TLS 1.2 [length 024d]
> > (1) eap_peap: TLS_accept: SSLv3/TLS write key exchange
> > (1) eap_peap: >>> send TLS 1.2 [length 0004]
> > (1) eap_peap: TLS_accept: SSLv3/TLS write server done
> > (1) eap_peap: TLS_accept: Need to read more data: SSLv3/TLS write server done
> > (1) eap_peap: In SSL Handshake Phase
> > (1) eap_peap: In SSL Accept mode
> > (1) eap_peap: [eaptls process] = handled
> > (1) eap: Sending EAP Request (code 1) ID 151 length 1014
> > (1) eap: EAP session adding &reply:State = 0xdcff01a1dd681842
> > (1) [eap] = handled
> > (1) } # authenticate = handled
> > (1) Using Post-Auth-Type Challenge
> > (1) Post-Auth-Type sub-section not found. Ignoring.
> > (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (1) Sent Access-Challenge Id 197 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (1) EAP-Message = 0x019703f619c000000ea8160303003d020000390303cb0dbbaebc37affb9ea861ad9cdd5229b60032c5c5e051bca74530ed8fa78d2e00cca8000011ff01000100000b000403000102001700001603030c060b000c02000bff00065f3082065b30820443a0030201020202100b300d06092a864886f70d01
> > (1) Message-Authenticator = 0x00000000000000000000000000000000
> > (1) State = 0xdcff01a1dd6818422343d3b59bbb1704
> > (1) Finished request
> > Waking up in 4.9 seconds.
> > (2) Received Access-Request Id 198 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173
> > (2) User-Name = "anonymous"
> > (2) NAS-Identifier = "802aa8d3d475"
> > (2) NAS-Port = 0
> > (2) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (2) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (2) Framed-MTU = 1400
> > (2) NAS-Port-Type = Wireless-802.11
> > (2) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (2) EAP-Message = 0x029700061900
> > (2) State = 0xdcff01a1dd6818422343d3b59bbb1704
> > (2) Message-Authenticator = 0xe6bd97dd94d0e74610db361cdabe26f1
> > (2) session-state: No cached attributes
> > (2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (2) authorize {
> > (2) policy filter_username {
> > (2) if (&User-Name) {
> > (2) if (&User-Name) -> TRUE
> > (2) if (&User-Name) {
> > (2) if (&User-Name =~ / /) {
> > (2) if (&User-Name =~ / /) -> FALSE
> > (2) if (&User-Name =~ /@[^@]@/ ) {
> > (2) if (&User-Name =~ /@[^@]@/ ) -> FALSE(2) if (&User-Name =~ /\.\./ ) {
> > (2) if (&User-Name =~ /\.\./ ) -> FALSE
> > (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (2) if (&User-Name =~ /\.$/) {
> > (2) if (&User-Name =~ /\.$/) -> FALSE
> > (2) if (&User-Name =~ /@\./) {
> > (2) if (&User-Name =~ /@\./) -> FALSE
> > (2) } # if (&User-Name) = notfound
> > (2) } # policy filter_username = notfound
> > (2) [preprocess] = ok
> > (2) [chap] = noop
> > (2) [mschap] = noop
> > (2) [digest] = noop
> > (2) suffix: Checking for suffix after "@"
> > (2) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (2) suffix: No such realm "NULL"
> > (2) [suffix] = noop
> > (2) eap: Peer sent EAP Response (code 2) ID 151 length 6
> > (2) eap: Continuing tunnel setup
> > (2) [eap] = ok
> > (2) } # authorize = ok
> > (2) Found Auth-Type = eap
> > (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (2) authenticate {
> > (2) eap: Expiring EAP session with state 0xdcff01a1dd681842
> > (2) eap: Finished EAP session with state 0xdcff01a1dd681842
> > (2) eap: Previous EAP request found for state 0xdcff01a1dd681842, released from the list
> > (2) eap: Peer sent packet with method EAP PEAP (25)
> > (2) eap: Calling submodule eap_peap to process data
> > (2) eap_peap: Continuing EAP-TLS
> > (2) eap_peap: Peer ACKed our handshake fragment
> > (2) eap_peap: [eaptls verify] = request
> > (2) eap_peap: [eaptls process] = handled
> > (2) eap: Sending EAP Request (code 1) ID 152 length 1010
> > (2) eap: EAP session adding &reply:State = 0xdcff01a1de671842
> > (2) [eap] = handled
> > (2) } # authenticate = handled
> > (2) Using Post-Auth-Type Challenge
> > (2) Post-Auth-Type sub-section not found. Ignoring.
> > (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (2) Sent Access-Challenge Id 198 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (2) EAP-Message = 0x019803f2194081890603551d23048181307f8014f5a4fe043082531ea9c9e8894ce371c0d8b76e0ca15ca45a3058310b30090603550406130241553113301106035504080c0a517565656e736c616e6431153013060355040a0c0c4950414e59414e59204c7464311d301b06035504030c144950414e59
> > (2) Message-Authenticator = 0x00000000000000000000000000000000
> > (2) State = 0xdcff01a1de6718422343d3b59bbb1704
> > (2) Finished request
> > Waking up in 4.9 seconds.
> > (3) Received Access-Request Id 199 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173
> > (3) User-Name = "anonymous"
> > (3) NAS-Identifier = "802aa8d3d475"
> > (3) NAS-Port = 0
> > (3) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (3) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (3) Framed-MTU = 1400
> > (3) NAS-Port-Type = Wireless-802.11
> > (3) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (3) EAP-Message = 0x029800061900
> > (3) State = 0xdcff01a1de6718422343d3b59bbb1704
> > (3) Message-Authenticator = 0xd4e4a6306a82241636efbaedeb77614e
> > (3) session-state: No cached attributes
> > (3) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (3) authorize {
> > (3) policy filter_username {
> > (3) if (&User-Name) {
> > (3) if (&User-Name) -> TRUE
> > (3) if (&User-Name) {
> > (3) if (&User-Name =~ / /) {
> > (3) if (&User-Name =~ / /) -> FALSE
> > (3) if (&User-Name =~ /@[^@]@/ ) {
> > (3) if (&User-Name =~ /@[^@]@/ ) -> FALSE(3) if (&User-Name =~ /\.\./ ) {
> > (3) if (&User-Name =~ /\.\./ ) -> FALSE
> > (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (3) if (&User-Name =~ /\.$/) {
> > (3) if (&User-Name =~ /\.$/) -> FALSE
> > (3) if (&User-Name =~ /@\./) {
> > (3) if (&User-Name =~ /@\./) -> FALSE
> > (3) } # if (&User-Name) = notfound
> > (3) } # policy filter_username = notfound
> > (3) [preprocess] = ok
> > (3) [chap] = noop
> > (3) [mschap] = noop
> > (3) [digest] = noop
> > (3) suffix: Checking for suffix after "@"
> > (3) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (3) suffix: No such realm "NULL"
> > (3) [suffix] = noop
> > (3) eap: Peer sent EAP Response (code 2) ID 152 length 6
> > (3) eap: Continuing tunnel setup
> > (3) [eap] = ok
> > (3) } # authorize = ok
> > (3) Found Auth-Type = eap
> > (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (3) authenticate {
> > (3) eap: Expiring EAP session with state 0xdcff01a1de671842
> > (3) eap: Finished EAP session with state 0xdcff01a1de671842
> > (3) eap: Previous EAP request found for state 0xdcff01a1de671842, released from the list
> > (3) eap: Peer sent packet with method EAP PEAP (25)
> > (3) eap: Calling submodule eap_peap to process data
> > (3) eap_peap: Continuing EAP-TLS
> > (3) eap_peap: Peer ACKed our handshake fragment
> > (3) eap_peap: [eaptls verify] = request
> > (3) eap_peap: [eaptls process] = handled
> > (3) eap: Sending EAP Request (code 1) ID 153 length 1010
> > (3) eap: EAP session adding &reply:State = 0xdcff01a1df661842
> > (3) [eap] = handled
> > (3) } # authenticate = handled
> > (3) Using Post-Auth-Type Challenge
> > (3) Post-Auth-Type sub-section not found. Ignoring.
> > (3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (3) Sent Access-Challenge Id 199 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (3) EAP-Message = 0x019903f219403db777b2ab1db344d5c78cff8c6741f67e95299b96815e5bcb66eb71439eb8a99050aa381ef4d9d7cc65154cbd3dcdc50a20d6f4da6c3eedc4a6c4c4adb072c4d5d71a4e6ed7456e5e0c9f73de1367f00dbd34e027282672811a6dd2aecdebd2cb615ccddf147d02b1c65fde6b28ea22f7
> > (3) Message-Authenticator = 0x00000000000000000000000000000000
> > (3) State = 0xdcff01a1df6618422343d3b59bbb1704
> > (3) Finished request
> > Waking up in 4.8 seconds.
> > (4) Received Access-Request Id 200 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173
> > (4) User-Name = "anonymous"
> > (4) NAS-Identifier = "802aa8d3d475"
> > (4) NAS-Port = 0
> > (4) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (4) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (4) Framed-MTU = 1400
> > (4) NAS-Port-Type = Wireless-802.11
> > (4) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (4) EAP-Message = 0x029900061900
> > (4) State = 0xdcff01a1df6618422343d3b59bbb1704
> > (4) Message-Authenticator = 0x4a07d878ea0ab40860bd41840d9b53d1
> > (4) session-state: No cached attributes
> > (4) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (4) authorize {
> > (4) policy filter_username {
> > (4) if (&User-Name) {
> > (4) if (&User-Name) -> TRUE
> > (4) if (&User-Name) {
> > (4) if (&User-Name =~ / /) {
> > (4) if (&User-Name =~ / /) -> FALSE
> > (4) if (&User-Name =~ /@[^@]@/ ) {
> > (4) if (&User-Name =~ /@[^@]@/ ) -> FALSE(4) if (&User-Name =~ /\.\./ ) {
> > (4) if (&User-Name =~ /\.\./ ) -> FALSE
> > (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (4) if (&User-Name =~ /\.$/) {
> > (4) if (&User-Name =~ /\.$/) -> FALSE
> > (4) if (&User-Name =~ /@\./) {
> > (4) if (&User-Name =~ /@\./) -> FALSE
> > (4) } # if (&User-Name) = notfound
> > (4) } # policy filter_username = notfound
> > (4) [preprocess] = ok
> > (4) [chap] = noop
> > (4) [mschap] = noop
> > (4) [digest] = noop
> > (4) suffix: Checking for suffix after "@"
> > (4) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (4) suffix: No such realm "NULL"
> > (4) [suffix] = noop
> > (4) eap: Peer sent EAP Response (code 2) ID 153 length 6
> > (4) eap: Continuing tunnel setup
> > (4) [eap] = ok
> > (4) } # authorize = ok
> > (4) Found Auth-Type = eap
> > (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (4) authenticate {
> > (4) eap: Expiring EAP session with state 0xdcff01a1df661842
> > (4) eap: Finished EAP session with state 0xdcff01a1df661842
> > (4) eap: Previous EAP request found for state 0xdcff01a1df661842, released from the list
> > (4) eap: Peer sent packet with method EAP PEAP (25)
> > (4) eap: Calling submodule eap_peap to process data
> > (4) eap_peap: Continuing EAP-TLS
> > (4) eap_peap: Peer ACKed our handshake fragment
> > (4) eap_peap: [eaptls verify] = request
> > (4) eap_peap: [eaptls process] = handled
> > (4) eap: Sending EAP Request (code 1) ID 154 length 746
> > (4) eap: EAP session adding &reply:State = 0xdcff01a1d8651842
> > (4) [eap] = handled
> > (4) } # authenticate = handled
> > (4) Using Post-Auth-Type Challenge
> > (4) Post-Auth-Type sub-section not found. Ignoring.
> > (4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (4) Sent Access-Challenge Id 200 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (4) EAP-Message = 0x019a02ea19008fba9616587fb1ea32ee83f2f0972c1cde589ebb9e94a1deba7339756e56e802e9439eb0c62667a97b0b7771ab622fe5422684d07d5f276180e361a9ab2cb3db23c2705d0c12b7d25b66bcacdff1c531817bd650abe21e1ef3df65ca76f81e5cf091d43d31f95c97e8dcaf3269fbc18cfe
> > (4) Message-Authenticator = 0x00000000000000000000000000000000
> > (4) State = 0xdcff01a1d86518422343d3b59bbb1704
> > (4) Finished request
> > Waking up in 4.8 seconds.
> > (5) Received Access-Request Id 201 from 192.168.40.21:46541 to 192.168.8.35:1812 length 295
> > (5) User-Name = "anonymous"
> > (5) NAS-Identifier = "802aa8d3d475"
> > (5) NAS-Port = 0
> > (5) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (5) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (5) Framed-MTU = 1400
> > (5) NAS-Port-Type = Wireless-802.11
> > (5) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (5) EAP-Message = 0x029a0080198000000076160303004610000042410489c8bd0afbba1b5226f36bba36403153a0adc35a301aad07d58b9688b3371475eacc1ad36aa2fa043d225c347d21f1d8d8581073ea0db0c403ad488a53a8f85d140303000101160303002005961f8818b3e5348683646f8a541de9ea5073ce2efa66
> > (5) State = 0xdcff01a1d86518422343d3b59bbb1704
> > (5) Message-Authenticator = 0x3311ca3d5bfb4e1796cc1d6c70cb725c
> > (5) session-state: No cached attributes
> > (5) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (5) authorize {
> > (5) policy filter_username {
> > (5) if (&User-Name) {
> > (5) if (&User-Name) -> TRUE
> > (5) if (&User-Name) {
> > (5) if (&User-Name =~ / /) {
> > (5) if (&User-Name =~ / /) -> FALSE
> > (5) if (&User-Name =~ /@[^@]@/ ) {
> > (5) if (&User-Name =~ /@[^@]@/ ) -> FALSE(5) if (&User-Name =~ /\.\./ ) {
> > (5) if (&User-Name =~ /\.\./ ) -> FALSE
> > (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (5) if (&User-Name =~ /\.$/) {
> > (5) if (&User-Name =~ /\.$/) -> FALSE
> > (5) if (&User-Name =~ /@\./) {
> > (5) if (&User-Name =~ /@\./) -> FALSE
> > (5) } # if (&User-Name) = notfound
> > (5) } # policy filter_username = notfound
> > (5) [preprocess] = ok
> > (5) [chap] = noop
> > (5) [mschap] = noop
> > (5) [digest] = noop
> > (5) suffix: Checking for suffix after "@"
> > (5) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (5) suffix: No such realm "NULL"
> > (5) [suffix] = noop
> > (5) eap: Peer sent EAP Response (code 2) ID 154 length 128
> > (5) eap: Continuing tunnel setup
> > (5) [eap] = ok
> > (5) } # authorize = ok
> > (5) Found Auth-Type = eap
> > (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (5) authenticate {
> > (5) eap: Expiring EAP session with state 0xdcff01a1d8651842
> > (5) eap: Finished EAP session with state 0xdcff01a1d8651842
> > (5) eap: Previous EAP request found for state 0xdcff01a1d8651842, released from the list
> > (5) eap: Peer sent packet with method EAP PEAP (25)
> > (5) eap: Calling submodule eap_peap to process data
> > (5) eap_peap: Continuing EAP-TLS
> > (5) eap_peap: Peer indicated complete TLS record size will be 118 bytes
> > (5) eap_peap: Got complete TLS record (118 bytes)
> > (5) eap_peap: [eaptls verify] = length included
> > (5) eap_peap: TLS_accept: SSLv3/TLS write server done
> > (5) eap_peap: <<< recv TLS 1.2 [length 0046]
> > (5) eap_peap: TLS_accept: SSLv3/TLS read client key exchange
> > (5) eap_peap: TLS_accept: SSLv3/TLS read change cipher spec
> > (5) eap_peap: <<< recv TLS 1.2 [length 0010]
> > (5) eap_peap: TLS_accept: SSLv3/TLS read finished
> > (5) eap_peap: >>> send TLS 1.2 [length 0001]
> > (5) eap_peap: TLS_accept: SSLv3/TLS write change cipher spec
> > (5) eap_peap: >>> send TLS 1.2 [length 0010]
> > (5) eap_peap: TLS_accept: SSLv3/TLS write finished
> > (5) eap_peap: (other): SSL negotiation finished successfully
> > (5) eap_peap: SSL Connection Established
> > (5) eap_peap: [eaptls process] = handled
> > (5) eap: Sending EAP Request (code 1) ID 155 length 49
> > (5) eap: EAP session adding &reply:State = 0xdcff01a1d9641842
> > (5) [eap] = handled
> > (5) } # authenticate = handled
> > (5) Using Post-Auth-Type Challenge
> > (5) Post-Auth-Type sub-section not found. Ignoring.
> > (5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (5) Sent Access-Challenge Id 201 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (5) EAP-Message = 0x019b003119001403030001011603030020928339ca9a02fb4881ae249f612df4a26df59326e0672ac8e445c34168991d32
> > (5) Message-Authenticator = 0x00000000000000000000000000000000
> > (5) State = 0xdcff01a1d96418422343d3b59bbb1704
> > (5) Finished request
> > Waking up in 4.7 seconds.
> > (6) Received Access-Request Id 202 from 192.168.40.21:46541 to 192.168.8.35:1812 length 173
> > (6) User-Name = "anonymous"
> > (6) NAS-Identifier = "802aa8d3d475"
> > (6) NAS-Port = 0
> > (6) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (6) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (6) Framed-MTU = 1400
> > (6) NAS-Port-Type = Wireless-802.11
> > (6) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (6) EAP-Message = 0x029b00061900
> > (6) State = 0xdcff01a1d96418422343d3b59bbb1704
> > (6) Message-Authenticator = 0xf6be5cee51e32fdacbbef344781223d3
> > (6) session-state: No cached attributes
> > (6) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (6) authorize {
> > (6) policy filter_username {
> > (6) if (&User-Name) {
> > (6) if (&User-Name) -> TRUE
> > (6) if (&User-Name) {
> > (6) if (&User-Name =~ / /) {
> > (6) if (&User-Name =~ / /) -> FALSE
> > (6) if (&User-Name =~ /@[^@]@/ ) {
> > (6) if (&User-Name =~ /@[^@]@/ ) -> FALSE(6) if (&User-Name =~ /\.\./ ) {
> > (6) if (&User-Name =~ /\.\./ ) -> FALSE
> > (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (6) if (&User-Name =~ /\.$/) {
> > (6) if (&User-Name =~ /\.$/) -> FALSE
> > (6) if (&User-Name =~ /@\./) {
> > (6) if (&User-Name =~ /@\./) -> FALSE
> > (6) } # if (&User-Name) = notfound
> > (6) } # policy filter_username = notfound
> > (6) [preprocess] = ok
> > (6) [chap] = noop
> > (6) [mschap] = noop
> > (6) [digest] = noop
> > (6) suffix: Checking for suffix after "@"
> > (6) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (6) suffix: No such realm "NULL"
> > (6) [suffix] = noop
> > (6) eap: Peer sent EAP Response (code 2) ID 155 length 6
> > (6) eap: Continuing tunnel setup
> > (6) [eap] = ok
> > (6) } # authorize = ok
> > (6) Found Auth-Type = eap
> > (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (6) authenticate {
> > (6) eap: Expiring EAP session with state 0xdcff01a1d9641842
> > (6) eap: Finished EAP session with state 0xdcff01a1d9641842
> > (6) eap: Previous EAP request found for state 0xdcff01a1d9641842, released from the list
> > (6) eap: Peer sent packet with method EAP PEAP (25)
> > (6) eap: Calling submodule eap_peap to process data
> > (6) eap_peap: Continuing EAP-TLS
> > (6) eap_peap: Peer ACKed our handshake fragment. handshake is finished
> > (6) eap_peap: [eaptls verify] = success
> > (6) eap_peap: [eaptls process] = success
> > (6) eap_peap: Session established. Decoding tunneled attributes
> > (6) eap_peap: PEAP state TUNNEL ESTABLISHED
> > (6) eap: Sending EAP Request (code 1) ID 156 length 32
> > (6) eap: EAP session adding &reply:State = 0xdcff01a1da631842
> > (6) [eap] = handled
> > (6) } # authenticate = handled
> > (6) Using Post-Auth-Type Challenge
> > (6) Post-Auth-Type sub-section not found. Ignoring.
> > (6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (6) Sent Access-Challenge Id 202 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (6) EAP-Message = 0x019c00201900170303001599b5f4133e2b7766900ad78dd36daf40d396f375f2
> > (6) Message-Authenticator = 0x00000000000000000000000000000000
> > (6) State = 0xdcff01a1da6318422343d3b59bbb1704
> > (6) Finished request
> > Waking up in 4.7 seconds.
> > (7) Received Access-Request Id 203 from 192.168.40.21:46541 to 192.168.8.35:1812 length 203
> > (7) User-Name = "anonymous"
> > (7) NAS-Identifier = "802aa8d3d475"
> > (7) NAS-Port = 0
> > (7) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (7) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (7) Framed-MTU = 1400
> > (7) NAS-Port-Type = Wireless-802.11
> > (7) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (7) EAP-Message = 0x029c002419001703030019dfbe3664b6ba25228ceeefd1544ec446fce8a53f317c6cdc30
> > (7) State = 0xdcff01a1da6318422343d3b59bbb1704
> > (7) Message-Authenticator = 0xe33ca0e8b373f089e411f537f6aa90b8
> > (7) session-state: No cached attributes
> > (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (7) authorize {
> > (7) policy filter_username {
> > (7) if (&User-Name) {
> > (7) if (&User-Name) -> TRUE
> > (7) if (&User-Name) {
> > (7) if (&User-Name =~ / /) {
> > (7) if (&User-Name =~ / /) -> FALSE
> > (7) if (&User-Name =~ /@[^@]@/ ) {
> > (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) {
> > (7) if (&User-Name =~ /\.\./ ) -> FALSE
> > (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (7) if (&User-Name =~ /\.$/) {
> > (7) if (&User-Name =~ /\.$/) -> FALSE
> > (7) if (&User-Name =~ /@\./) {
> > (7) if (&User-Name =~ /@\./) -> FALSE
> > (7) } # if (&User-Name) = notfound
> > (7) } # policy filter_username = notfound
> > (7) [preprocess] = ok
> > (7) [chap] = noop
> > (7) [mschap] = noop
> > (7) [digest] = noop
> > (7) suffix: Checking for suffix after "@"
> > (7) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (7) suffix: No such realm "NULL"
> > (7) [suffix] = noop
> > (7) eap: Peer sent EAP Response (code 2) ID 156 length 36
> > (7) eap: Continuing tunnel setup
> > (7) [eap] = ok
> > (7) } # authorize = ok
> > (7) Found Auth-Type = eap
> > (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (7) authenticate {
> > (7) eap: Expiring EAP session with state 0xdcff01a1da631842
> > (7) eap: Finished EAP session with state 0xdcff01a1da631842
> > (7) eap: Previous EAP request found for state 0xdcff01a1da631842, released from the list
> > (7) eap: Peer sent packet with method EAP PEAP (25)
> > (7) eap: Calling submodule eap_peap to process data
> > (7) eap_peap: Continuing EAP-TLS
> > (7) eap_peap: [eaptls verify] = ok
> > (7) eap_peap: Done initial handshake
> > (7) eap_peap: [eaptls process] = ok
> > (7) eap_peap: Session established. Decoding tunneled attributes
> > (7) eap_peap: PEAP state WAITING FOR INNER IDENTITY
> > (7) eap_peap: Identity - testuser
> > (7) eap_peap: Got inner identity 'testuser'
> > (7) eap_peap: Setting default EAP type for tunneled EAP session
> > (7) eap_peap: Got tunneled request
> > (7) eap_peap: EAP-Message = 0x029c000d017465737475736572
> > (7) eap_peap: Setting User-Name to testuser
> > (7) eap_peap: Sending tunneled request to inner-tunnel
> > (7) eap_peap: EAP-Message = 0x029c000d017465737475736572
> > (7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
> > (7) eap_peap: User-Name = "testuser"
> > (7) Virtual server inner-tunnel received request
> > (7) EAP-Message = 0x029c000d017465737475736572
> > (7) FreeRADIUS-Proxied-To = 127.0.0.1
> > (7) User-Name = "testuser"
> > (7) server inner-tunnel {
> > (7) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> > (7) authorize {
> > (7) policy filter_username {
> > (7) if (&User-Name) {
> > (7) if (&User-Name) -> TRUE
> > (7) if (&User-Name) {
> > (7) if (&User-Name =~ / /) {
> > (7) if (&User-Name =~ / /) -> FALSE
> > (7) if (&User-Name =~ /@[^@]@/ ) {
> > (7) if (&User-Name =~ /@[^@]@/ ) -> FALSE(7) if (&User-Name =~ /\.\./ ) {
> > (7) if (&User-Name =~ /\.\./ ) -> FALSE
> > (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (7) if (&User-Name =~ /\.$/) {
> > (7) if (&User-Name =~ /\.$/) -> FALSE
> > (7) if (&User-Name =~ /@\./) {
> > (7) if (&User-Name =~ /@\./) -> FALSE
> > (7) } # if (&User-Name) = notfound
> > (7) } # policy filter_username = notfound
> > (7) [chap] = noop
> > (7) [mschap] = noop
> > (7) suffix: Checking for suffix after "@"
> > (7) suffix: No '@' in User-Name = "testuser", looking up realm NULL
> > (7) suffix: No such realm "NULL"
> > (7) [suffix] = noop
> > (7) update control {
> > (7) &Proxy-To-Realm := LOCAL
> > (7) } # update control = noop
> > (7) eap: Peer sent EAP Response (code 2) ID 156 length 13
> > (7) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
> > (7) [eap] = ok
> > (7) } # authorize = ok
> > (7) Found Auth-Type = eap
> > (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> > (7) authenticate {
> > (7) eap: Peer sent packet with method EAP Identity (1)
> > (7) eap: Calling submodule eap_mschapv2 to process data
> > (7) eap_mschapv2: Issuing Challenge
> > (7) eap: Sending EAP Request (code 1) ID 157 length 43
> > (7) eap: EAP session adding &reply:State = 0x73614bc173fc510e
> > (7) [eap] = handled
> > (7) } # authenticate = handled
> > (7) } # server inner-tunnel
> > (7) Virtual server sending reply
> > (7) EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132
> > (7) Message-Authenticator = 0x00000000000000000000000000000000
> > (7) State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> > (7) eap_peap: Got tunneled reply code 11
> > (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132
> > (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
> > (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> > (7) eap_peap: Got tunneled reply RADIUS code 11
> > (7) eap_peap: EAP-Message = 0x019d002b1a019d002610e5e45786ca3a29b6956bd8375f1639c0667265657261646975732d332e302e3132
> > (7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
> > (7) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> > (7) eap_peap: Got tunneled Access-Challenge
> > (7) eap: Sending EAP Request (code 1) ID 157 length 66
> > (7) eap: EAP session adding &reply:State = 0xdcff01a1db621842
> > (7) [eap] = handled
> > (7) } # authenticate = handled
> > (7) Using Post-Auth-Type Challenge
> > (7) Post-Auth-Type sub-section not found. Ignoring.
> > (7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (7) Sent Access-Challenge Id 203 from 192.168.8.35:1812 to 192.168.40.21:46541 length 0
> > (7) EAP-Message = 0x019d004219001703030037dffc0f74fbf5c2a1c1b4e813f1bedcd02a226b0d28b1fcd482c11a0c445a5769fb76b4160a1592400e1e3132b40adfcd8487ab156e0774
> > (7) Message-Authenticator = 0x00000000000000000000000000000000
> > (7) State = 0xdcff01a1db6218422343d3b59bbb1704
> > (7) Finished request
> > Waking up in 4.6 seconds.
> > (8) Received Access-Request Id 204 from 192.168.40.21:46541 to 192.168.8.35:1812 length 257
> > (8) User-Name = "anonymous"
> > (8) NAS-Identifier = "802aa8d3d475"
> > (8) NAS-Port = 0
> > (8) Called-Station-Id = "82-2A-A8-D5-D4-75:WLAN"
> > (8) Calling-Station-Id = "EC-1F-72-7E-BC-BB"
> > (8) Framed-MTU = 1400
> > (8) NAS-Port-Type = Wireless-802.11
> > (8) Connect-Info = "CONNECT 0Mbps 802.11b"
> > (8) EAP-Message = 0x029d005a1900170303004fac11437186f600192f1d060baa8875d682df61ad47e0e246cf391949b2272efd532220d5f3bc4898f73b36d4b0bbd67f76b79d8085469c0d42c14266c541c8ac5832394b2a9c58d4c996d2c12052b5
> > (8) State = 0xdcff01a1db6218422343d3b59bbb1704
> > (8) Message-Authenticator = 0xae99edf0405ba34c80a232350a88654d
> > (8) session-state: No cached attributes
> > (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
> > (8) authorize {
> > (8) policy filter_username {
> > (8) if (&User-Name) {
> > (8) if (&User-Name) -> TRUE
> > (8) if (&User-Name) {
> > (8) if (&User-Name =~ / /) {
> > (8) if (&User-Name =~ / /) -> FALSE
> > (8) if (&User-Name =~ /@[^@]@/ ) {
> > (8) if (&User-Name =~ /@[^@]@/ ) -> FALSE(8) if (&User-Name =~ /\.\./ ) {
> > (8) if (&User-Name =~ /\.\./ ) -> FALSE
> > (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
> > (8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) -> FALSE
> > (8) if (&User-Name =~ /\.$/) {
> > (8) if (&User-Name =~ /\.$/) -> FALSE
> > (8) if (&User-Name =~ /@\./) {
> > (8) if (&User-Name =~ /@\./) -> FALSE
> > (8) } # if (&User-Name) = notfound
> > (8) } # policy filter_username = notfound
> > (8) [preprocess] = ok
> > (8) [chap] = noop
> > (8) [mschap] = noop
> > (8) [digest] = noop
> > (8) suffix: Checking for suffix after "@"
> > (8) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
> > (8) suffix: No such realm "NULL"
> > (8) [suffix] = noop
> > (8) eap: Peer sent EAP Response (code 2) ID 157 length 90
> > (8) eap: Continuing tunnel setup
> > (8) [eap] = ok
> > (8) } # authorize = ok
> > (8) Found Auth-Type = eap
> > (8) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> > (8) authenticate {
> > (8) eap: Expiring EAP session with state 0x73614bc173fc510e
> > (8) eap: Finished EAP session with state 0xdcff01a1db621842
> > (8) eap: Previous EAP request found for state 0xdcff01a1db621842, released from the list
> > (8) eap: Peer sent packet with method EAP PEAP (25)
> > (8) eap: Calling submodule eap_peap to process data
> > (8) eap_peap: Continuing EAP-TLS
> > (8) eap_peap: [eaptls verify] = ok
> > (8) eap_peap: Done initial handshake
> > (8) eap_peap: [eaptls process] = ok
> > (8) eap_peap: Session established. Decoding tunneled attributes
> > (8) eap_peap: PEAP state phase2
> > (8) eap_peap: EAP method MSCHAPv2 (26)
> > (8) eap_peap: Got tunneled request
> > (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572
> > (8) eap_peap: Setting User-Name to testuser
> > (8) eap_peap: Sending tunneled request to inner-tunnel
> > (8) eap_peap: EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572
> > (8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
> > (8) eap_peap: User-Name = "testuser"
> > (8) eap_peap: State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> > (8) Virtual server inner-tunnel received request
> > (8) EAP-Message = 0x029d00431a029d003e316faa2fa72f071a07fc2fa07c14a760890000000000000000f12df86a0605ad36f6429ce8687a49633d5dde6fff3d7153007465737475736572
> > (8) FreeRADIUS-Proxied-To = 127.0.0.1
> > (8) User-Name = "testuser"
> > (8) State = 0x73614bc173fc510eb5bcf37c76b9f7ee
> > (8) server inner-tunnel {
> > (8) session-state: No cached attributes
> > (8) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> > (8) authorize {
> > (8) policy filter_username {
> > (8) if (&User-Name) {
> > (8)
> >
> > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html





More information about the Freeradius-Users mailing list