Freeradius-Users
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 10 participants
- 27046 discussions
Hi! i have a problem with this vulnerability, i need mitigate it.
I have ine server with freeradius, other with dhcp and they are connect to cisco 6800 swicht. We aunthenticate the endpoint with mab, because we cant use 802.1x. the problem that i want to resolve is to mitigate mac spoofing on layer two.
For us is the same mitigate the problem on the radius or the swicht config.
Do you guys know any idea?
Best regards,
Say hi for your sisters!
5
4
Hi everyone!
I'm working with Freeradius 3.0.15
And trying to implement authentification by MAC and NAS-Port and
NAS-IP-Address and files module.
The solution i found by now is to assign key variable in
mods-available/files
files authorized_macs {
key = "%{Calling-Station-ID}-%{NAS-Port}-%{NAS-IP-Address}"
usersfile = ${confdir}/authorized_macs
}
And in authorized_macs have string
00-24-54-05-8D-CB-5002-192.168.100.2
It works.
Is there a neat way to do it? Check attributes separetelly.
For example:
authorized_macs contents:
00-24-54-05-8D-CB
Cleartext-Password := 00-24-54-05-8D-CB
NAS-Port == 5002
NAS-IP-Address = 192.168.100.2
Reply-Message = "Device with MAC Address %{Calling-Station-Id}
authorized for network access"
I appreciate any help)
--
Best regards, Dmitri
3
4
Hello Alan,
Thank you, I am sorry I put to much info there, I was just thinking to
put everything out there just in case.
Greg S
On Fri, Feb 22, 2019 at 12:10 PM <
freeradius-users-request(a)lists.freeradius.org> wrote:
> Send Freeradius-Users mailing list submissions to
> freeradius-users(a)lists.freeradius.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.freeradius.org/mailman/listinfo/freeradius-users
> or, via email, send a message with subject or body 'help' to
> freeradius-users-request(a)lists.freeradius.org
>
> You can reach the person managing the list at
> freeradius-users-owner(a)lists.freeradius.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Freeradius-Users digest..."
>
>
> Today's Topics:
>
> 1. Cisco IOS authentication to Freeradius that is linked to AD
> (Greg Stuart)
> 2. Re: Cisco IOS authentication to Freeradius that is linked to
> AD (Alan DeKok)
> 3. Re: Mac-auth (Dave Macias)
> 4. Use expr for reply from sql database (kai.zemke(a)hauni.com)
> 5. Re: Mac-auth (Dmitriy Andryashin)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 22 Feb 2019 11:00:21 -0500
> From: Greg Stuart <gstuart(a)portageps.org>
> To: freeradius-users(a)lists.freeradius.org
> Subject: Cisco IOS authentication to Freeradius that is linked to AD
> Message-ID:
> <CAJuGZELCJhm3mA4+ZjohGJnzKU9y9Vit_KNO9gH4UCVo=
> T5mfw(a)mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Hello,
>
> I am new to freeradius so please go easy on me :) Here is what I am trying
> to do. I am trying to get my Cisco switches to authenticate a user with
> full permissions "lvl 15" by using freeradius that is linked to AD. Using
> AD credentials
>
> Below are the configs:
>
> Switch Config:
>
> aaa group server radius FreeRadius
> server name ppsauth1
> ip radius source-interface GigabitEthernet1/0/50
> !
>
> !
> !
> radius-server attribute 6 mandatory
> !
> radius server ppsauth1
> address ipv4 10.15.0.51 auth-port 1812 acct-port 1813
> key 7 15060E1F107B7977
> !
>
> Switch Debugs:
> test aaa group FreeRadius username password legacy
> Attempting authentication test to server-group FreeRadius using radius
>
> 000175: Feb 22 10:47:38: AAA: parse name=<no string> idb type=-1 tty=-1
> 000176: Feb 22 10:47:38: AAA/MEMORY: create_user (0x8C41E4C)
> user='username' ruser='NULL' ds0=0 port='' rem_addr='NULL'
> authen_type=ASCII servi)
> 000177: Feb 22 10:47:38: RADIUS: Pick NAS IP for u=0x8C41E4C tableid=0
> cfg_addr=0.0.0.0
> 000178: Feb 22 10:47:38: RADIUS(00000000): Config NAS IPv6: ::
> 000179: Feb 22 10:4User authentication request was rejected by server.
>
> TTC-GREG2#7:38: RADIUS: ustruct sharecount=1
> 000180: Feb 22 10:47:38: Radius: radius_port_info() success=0
> radius_nas_port=1
> 000181: Feb 22 10:47:38: RADIUS/ENCODE: Best Local IP-Address
> 192.168.160.47 for Radius-Server 10.15.0.51
> 000182: Feb 22 10:47:38: RADIUS(00000000): Send Access-Request to
> 10.15.0.51:1812 onvrf(0) id 1645/8, len 59
> 000183: Feb 22 10:47:38: RADIUS: authenticator 5F D8 9A 26 5E 67 09 AC -
> E8 D9 4F 9C F9 36 D5 24
> 000184: Feb 22 10:47:38: RADIUS: NAS-IP-Address [4] 6
> 192.168.160.47
> TTC-GREG2#
> 000185: Feb 22 10:47:38: RADIUS: NAS-Port-Type [61] 6 Async
> [0]
> 000186: Feb 22 10:47:38: RADIUS: User-Name [1] 9 "username"
> 000187: Feb 22 10:47:38: RADIUS: User-Password [2] 18 *
> 000188: Feb 22 10:47:38: RADIUS(00000000): Sending a IPv4 Radius Packet
> 000189: Feb 22 10:47:38: RADIUS(00000000): Started 5 sec timeout
> 000190: Feb 22 10:47:39: RADIUS: Received from id 1645/8 10.15.0.51:1812,
> Access-Reject, len 20
> 000191: Feb 22 10:47:39:
> TTC-GREG2# RADIUS: authenticator FC F7 1D 2F 38 08 3A 52 - 80 4D 13 7C 9A
> E9 C1 B7
> 000192: Feb 22 10:47:39: RADIUS: saved authorization data for user 8C41E4C
> at 0
> 000193: Feb 22 10:47:39: AAA/MEMORY: free_user (0x8C41E4C) user='username'
> ruser='NULL' port='' rem_addr='NULL' authen_type=ASCII service=LOGIN)
>
>
> Server Info:FreeRadius server running on Ubuntu 18.04 LTS
>
> tcpdump:
> tcpdump -i ens160 -vvv port 1812
> tcpdump: listening on ens160, link-type EN10MB (Ethernet), capture size
> 262144 bytes
> 10:52:36.760284 IP (tos 0x0, ttl 254, id 338, offset 0, flags [none], proto
> UDP (17), length 87)
> TTC-GREG.portageps.org.datametrics > ppsauth1.portageps.org.radius:
> [udp
> sum ok] RADIUS, length: 59
> Access-Request (1), id: 0x0a, Authenticator:
> d77adf09bca33bbc3c9a22d8e057b5d0
> NAS-IP-Address Attribute (4), length: 6, Value:
> TTC-GREG.portageps.org
> 0x0000: c0a8 a02f
> NAS-Port-Type Attribute (61), length: 6, Value: Async
> 0x0000: 0000 0000
> User-Name Attribute (1), length: 9, Value: username
> 0x0000: 6773 7475 6172 74
> User-Password Attribute (2), length: 18, Value:
> 0x0000: 40ee d3ca 65d6 b7a6 48fe 9f81 3460 b73f
> 10:52:37.761280 IP (tos 0x0, ttl 64, id 64656, offset 0, flags [none],
> proto UDP (17), length 48)
> ppsauth1.portageps.org.radius > TTC-GREG.portageps.org.datametrics:
> [bad
> udp cksum 0x6b47 -> 0xf8e3!] RADIUS, length: 20
> Access-Reject (3), id: 0x0a, Authenticator:
> 096e874b36ae47c55b81fa012f1ff749
>
>
> Tail of Radius Log:
>
> tail -f radius.log
> ri Feb 22 10:49:38 2019 : Auth: (77) Login incorrect (No Auth-Type found:
> rejecting the user via Post-Auth-Type = Reject): [username/password] (from
> client LabSwitch por
> t 0)
> Fri Feb 22 10:49:54 2019 : Auth: (78) Login incorrect (No Auth-Type found:
> rejecting the user via Post-Auth-Type = Reject): [username/password] (from
> client LabSw
> itch port 0)
> Fri Feb 22 10:50:02 2019 : Auth: (79) Login incorrect (No Auth-Type found:
> rejecting the user via Post-Auth-Type = Reject): [username/password] (from
> client LabSw
> itch port 0)
> Fri Feb 22 10:51:58 2019 : Auth: (80) Login incorrect (No Auth-Type found:
> rejecting the user via Post-Auth-Type = Reject): [username/password] (from
> client LabSw
> itch port 0)
> Fri Feb 22 10:52:36 2019 : Auth: (81) Login incorrect (No Auth-Type found:
> rejecting the user via Post-Auth-Type = Reject): [username/password] (from
> client LabSw
> itch port 0)
>
> freeradius -X output:
> eady to process requests
> (0) Received Access-Request Id 11 from 192.168.160.47:1645 to
> 10.15.0.51:1812 length 59
> (0) NAS-IP-Address = 192.168.160.47
> (0) NAS-Port-Type = Async
> (0) User-Name = "username"
> (0) User-Password = "password"
> (0) # Executing section authorize from file
> /etc/freeradius/3.0/sites-enabled/default
> (0) authorize {
> (0) policy filter_username {
> (0) if (&User-Name) {
> (0) if (&User-Name) -> TRUE
> (0) if (&User-Name) {
> (0) if (&User-Name =~ / /) {
> (0) if (&User-Name =~ / /) -> FALSE
> (0) if (&User-Name =~ /@[^@]*@/ ) {
> (0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
> (0) if (&User-Name =~ /\.\./ ) {
> (0) if (&User-Name =~ /\.\./ ) -> FALSE
> (0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
> (0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
> FALSE
> (0) if (&User-Name =~ /\.$/) {
> (0) if (&User-Name =~ /\.$/) -> FALSE
> (0) if (&User-Name =~ /(a)\./) {
> (0) if (&User-Name =~ /(a)\./) -> FALSE
> (0) } # if (&User-Name) = notfound
> (0) } # policy filter_username = notfound
> (0) [preprocess] = ok
> (0) [chap] = noop
> (0) [mschap] = noop
> (0) [digest] = noop
> (0) suffix: Checking for suffix after "@"
> (0) suffix: No '@' in User-Name = "username", looking up realm NULL
> (0) suffix: No such realm "NULL"
> (0) [suffix] = noop
> (0) eap: No EAP-Message, not doing EAP
> (0) [eap] = noop
> (0) [files] = noop
> (0) [expiration] = noop
> (0) [logintime] = noop
> (0) pap: WARNING: No "known good" password found for the user. Not setting
> Auth-Type
> (0) pap: WARNING: Authentication will fail unless a "known good" password
> is available
> (0) [pap] = noop
> (0) } # authorize = ok
> (0) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type =
> Reject
> (0) Failed to authenticate the user
> (0) Using Post-Auth-Type Reject
> (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
> (0) Post-Auth-Type REJECT {
> (0) attr_filter.access_reject: EXPAND %{User-Name}
> (0) attr_filter.access_reject: --> username
> (0) attr_filter.access_reject: Matched entry DEFAULT at line 11
> (0) [attr_filter.access_reject] = updated
> (0) [eap] = noop
> (0) policy remove_reply_message_if_eap {
> (0) if (&reply:EAP-Message && &reply:Reply-Message) {
> (0) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
> (0) else {
> (0) [noop] = noop
> (0) } # else = noop
> (0) } # policy remove_reply_message_if_eap = noop
> (0) } # Post-Auth-Type REJECT = updated
> (0) Login incorrect (No Auth-Type found: rejecting the user via
> Post-Auth-Type = Reject): [username/password] (from client LabSwitch port
> 0)
> (0) Delaying response for 1.000000 seconds
> Waking up in 0.3 seconds.
> Waking up in 0.6 seconds.
> (0) Sending delayed response
> (0) Sent Access-Reject Id 11 from 10.15.0.51:1812 to 192.168.160.47:1645
> length 20
> Waking up in 3.9 seconds.
> (0) Cleaning up request packet ID 11 with timestamp +5
>
>
> Any help would be appreciated. Again what I am trying to do, is log into
> a cisco switch using my AD credentials. I have a freeradius server that is
> linked to AD. The link to AD has been confirmed to work.
>
> Thank you.
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 22 Feb 2019 11:08:41 -0500
> From: Alan DeKok <aland(a)deployingradius.com>
> To: FreeRadius users mailing list
> <freeradius-users(a)lists.freeradius.org>
> Subject: Re: Cisco IOS authentication to Freeradius that is linked to
> AD
> Message-ID: <CB17EFE7-91F3-4FEA-AE9F-C9B26475FD56(a)deployingradius.com>
> Content-Type: text/plain; charset=us-ascii
>
> On Feb 22, 2019, at 11:00 AM, Greg Stuart <gstuart(a)portageps.org> wrote:
> > I am new to freeradius so please go easy on me :) Here is what I am
> trying
> > to do. I am trying to get my Cisco switches to authenticate a user with
> > full permissions "lvl 15" by using freeradius that is linked to AD.
> Using
> > AD credentials
> >
> > Below are the configs:
>
> We don't need to see the switch config or debug output. The FreeRADIUS
> debug log shows everything we need.
>
> > Server Info:FreeRadius server running on Ubuntu 18.04 LTS
> >
> > tcpdump:
> ...
> > Tail of Radius Log:
>
> We don't need those, either.
>
> You get a message when you join the list. That message tells you what
> we *do* need, and what you *should not* post. Please read it.
>
> > freeradius -X output:
> > eady to process requests
> > (0) Received Access-Request Id 11 from 192.168.160.47:1645 to
>
> With lots of stuff deleted...
>
> > Any help would be appreciated. Again what I am trying to do, is log
> into
> > a cisco switch using my AD credentials. I have a freeradius server that
> is
> > linked to AD. The link to AD has been confirmed to work.
>
> What do you mean "linked to AD"? That the FreeRADIUS machine has joined
> the AD domain?
>
> That's nice, but FreeRADIUS doesn't know that. There's no magic in the
> server (or OS) saying "look users up in AD"
>
> The issuer here is that you haven't configured FreeRADIUS to do anything
> with AD. i.e. it doesn't use LDAP or ntlm_auth to authenticate the users.
> That's why it's rejecting the users.
>
> Please read my documentation on AD integration:
> http://deployingradius.com/documents/configuration/active_directory.html
>
> If you look through the config files for "Active Directory", you will
> see a number of comments with what to do, and what to configure. Those
> should help, too.
>
> Alan DeKok.
>
>
>
>
> ------------------------------
>
> Message: 3
> Date: Fri, 22 Feb 2019 11:46:37 -0500
> From: Dave Macias <davama(a)gmail.com>
> To: FreeRadius users mailing list
> <freeradius-users(a)lists.freeradius.org>
> Subject: Re: Mac-auth
> Message-ID:
> <CA+nFYV-cedRFGS-c5-CdVO93sWBEVdkb+7Ww5zvee=
> LyfbWxfw(a)mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> My 2 cents,
>
> your authorized_macs looks closer to a DB.
> Thought of sql? Might be neater maybe
>
> First time i see mac-auth in this way. It is interesting. Though if not too
> many clients a flat file should be ok.
> If you want a custom reply msg you could do that in the default config. Or
> if a log use the linelog module.
>
> Not sure if you authorized_macs file which you "suggest/think" is possible.
> Maybe someone more experience could chime in.
> Be patient
>
> Hope this helps
> Dave
>
> On Fri, Feb 22, 2019 at 2:40 AM Dmitriy Andryashin <
> safokoi.sikrone(a)gmail.com> wrote:
>
> > Help everyone!
> >
> > I'm working with Freeradius 3.0.15
> > And trying to implement authentification by MAC and NAS-Port and
> > NAS-IP-Address and files module.
> >
> > The solution i found by now is to assign key variable in
> > mods-available/files
> >
> > files authorized_macs {
> > key = "%{Calling-Station-ID}-%{NAS-Port}-%{NAS-IP-Address}"
> > usersfile = ${confdir}/authorized_macs
> > }
> >
> > And in authorized_macs have string
> > 00-24-54-05-8D-CB-5002-192.168.100.2
> >
> > It works.
> >
> > Is there a neat way to do it? Check attributes separetelly.
> >
> > For example:
> > authorized_macs contents:
> >
> > 00-24-54-05-8D-CB
> > Cleartext-Password := 00-24-54-05-8D-CB
> > NAS-Port == 5002
> > NAS-IP-Address = 192.168.100.2
> > Reply-Message = "Device with MAC Address %{Calling-Station-Id}
> > authorized for network access"
> >
> > I appreciate any help)
> >
> > --
> > Best regards, Dmitri
> > -
> > List info/subscribe/unsubscribe? See
> > http://www.freeradius.org/list/users.html
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 22 Feb 2019 16:57:58 +0000
> From: <kai.zemke(a)hauni.com>
> To: <freeradius-users(a)lists.freeradius.org>
> Subject: Use expr for reply from sql database
> Message-ID: <021f782c6aec40a8b5aa9a735ebe70ac(a)KNS102.HAUNI.KOERBER.DE>
> Content-Type: text/plain; charset="us-ascii"
>
> Hi,
>
> I do have freeradius setup with a sql configuration. My mysql server is
> running the scheme that is proposed on the freeradius wiki.
>
> So far everything is doing fine. Now I want to replay with an
> Egress-VLANID.
>
> If I enter the value hexencoded everything works fine.
>
> But if I enter the value with the expr function the replied value is
> always zero and I have the following entry in my radius.log
>
> sql: Error parsing value: Unknown or invalid value "%{expr: 0x31000000 +
> 105}" for attribute Egress-VLANID)
>
> Do I have to mask certain characters in order to make this work?
>
> Example:
> Egress-VLANID = `%{expr: 0x31000000 + 105}`
>
> Best regards
> Kai
>
>
>
> ________________________________
>
> Diese E-Mail kann vertrauliche Informationen enthalten. Das unerlaubte
> Kopieren sowie die unbefugte Weitergabe dieser Informationen sind nicht
> gestattet. Sollten Sie diese E-Mail irrt?mlich erhalten haben, informieren
> Sie bitte den Absender und l?schen diese E-Mail.
> This e-mail may contain confidential information, which should not be
> copied or distributed without authorization. If you have received this
> e-mail message by mistake, please inform the sender and delete it from your
> system.
>
>
> ------------------------------
>
> Message: 5
> Date: Sat, 23 Feb 2019 01:08:45 +0800
> From: Dmitriy Andryashin <safokoi.sikrone(a)gmail.com>
> To: FreeRadius users mailing list
> <freeradius-users(a)lists.freeradius.org>
> Subject: Re: Mac-auth
> Message-ID:
> <
> CAAGcXdyZGzDMZh+fhurxxSp4YOsSTm7+fBdb7GRce+vDoj1-jg(a)mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Flat text file seems to be acceptable, it's a lightweight and can be used
> without need of another packages, and also can be gererated by a script.
>
> Is there a way to check 3 attributes separately in files module, to make
> file became readible? Or it can only make decisions on a single key
> parameter?
>
> Thank you.
>
> On Sat, Feb 23, 2019 at 12:46 AM Dave Macias <davama(a)gmail.com> wrote:
>
> > My 2 cents,
> >
> > your authorized_macs looks closer to a DB.
> > Thought of sql? Might be neater maybe
> >
> > First time i see mac-auth in this way. It is interesting. Though if not
> too
> > many clients a flat file should be ok.
> > If you want a custom reply msg you could do that in the default config.
> Or
> > if a log use the linelog module.
> >
> > Not sure if you authorized_macs file which you "suggest/think" is
> possible.
> > Maybe someone more experience could chime in.
> > Be patient
> >
> > Hope this helps
> > Dave
> >
> > On Fri, Feb 22, 2019 at 2:40 AM Dmitriy Andryashin <
> > safokoi.sikrone(a)gmail.com> wrote:
> >
> > > Help everyone!
> > >
> > > I'm working with Freeradius 3.0.15
> > > And trying to implement authentification by MAC and NAS-Port and
> > > NAS-IP-Address and files module.
> > >
> > > The solution i found by now is to assign key variable in
> > > mods-available/files
> > >
> > > files authorized_macs {
> > > key = "%{Calling-Station-ID}-%{NAS-Port}-%{NAS-IP-Address}"
> > > usersfile = ${confdir}/authorized_macs
> > > }
> > >
> > > And in authorized_macs have string
> > > 00-24-54-05-8D-CB-5002-192.168.100.2
> > >
> > > It works.
> > >
> > > Is there a neat way to do it? Check attributes separetelly.
> > >
> > > For example:
> > > authorized_macs contents:
> > >
> > > 00-24-54-05-8D-CB
> > > Cleartext-Password := 00-24-54-05-8D-CB
> > > NAS-Port == 5002
> > > NAS-IP-Address = 192.168.100.2
> > > Reply-Message = "Device with MAC Address %{Calling-Station-Id}
> > > authorized for network access"
> > >
> > > I appreciate any help)
> > >
> > > --
> > > Best regards, Dmitri
> > > -
> > > List info/subscribe/unsubscribe? See
> > > http://www.freeradius.org/list/users.html
> > -
> > List info/subscribe/unsubscribe? See
> > http://www.freeradius.org/list/users.html
>
>
>
> --
> С уважением к Вам, Дмитрий.
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
>
> ------------------------------
>
> End of Freeradius-Users Digest, Vol 166, Issue 48
> *************************************************
>
--
*Greg Stuart*
Infrastructure Operations Specialist
Portage Public Schools
P:269.323.5103
1
0
Hello,
I am new to freeradius so please go easy on me :) Here is what I am trying
to do. I am trying to get my Cisco switches to authenticate a user with
full permissions "lvl 15" by using freeradius that is linked to AD. Using
AD credentials
Below are the configs:
Switch Config:
aaa group server radius FreeRadius
server name ppsauth1
ip radius source-interface GigabitEthernet1/0/50
!
!
!
radius-server attribute 6 mandatory
!
radius server ppsauth1
address ipv4 10.15.0.51 auth-port 1812 acct-port 1813
key 7 15060E1F107B7977
!
Switch Debugs:
test aaa group FreeRadius username password legacy
Attempting authentication test to server-group FreeRadius using radius
000175: Feb 22 10:47:38: AAA: parse name=<no string> idb type=-1 tty=-1
000176: Feb 22 10:47:38: AAA/MEMORY: create_user (0x8C41E4C)
user='username' ruser='NULL' ds0=0 port='' rem_addr='NULL'
authen_type=ASCII servi)
000177: Feb 22 10:47:38: RADIUS: Pick NAS IP for u=0x8C41E4C tableid=0
cfg_addr=0.0.0.0
000178: Feb 22 10:47:38: RADIUS(00000000): Config NAS IPv6: ::
000179: Feb 22 10:4User authentication request was rejected by server.
TTC-GREG2#7:38: RADIUS: ustruct sharecount=1
000180: Feb 22 10:47:38: Radius: radius_port_info() success=0
radius_nas_port=1
000181: Feb 22 10:47:38: RADIUS/ENCODE: Best Local IP-Address
192.168.160.47 for Radius-Server 10.15.0.51
000182: Feb 22 10:47:38: RADIUS(00000000): Send Access-Request to
10.15.0.51:1812 onvrf(0) id 1645/8, len 59
000183: Feb 22 10:47:38: RADIUS: authenticator 5F D8 9A 26 5E 67 09 AC -
E8 D9 4F 9C F9 36 D5 24
000184: Feb 22 10:47:38: RADIUS: NAS-IP-Address [4] 6
192.168.160.47
TTC-GREG2#
000185: Feb 22 10:47:38: RADIUS: NAS-Port-Type [61] 6 Async
[0]
000186: Feb 22 10:47:38: RADIUS: User-Name [1] 9 "username"
000187: Feb 22 10:47:38: RADIUS: User-Password [2] 18 *
000188: Feb 22 10:47:38: RADIUS(00000000): Sending a IPv4 Radius Packet
000189: Feb 22 10:47:38: RADIUS(00000000): Started 5 sec timeout
000190: Feb 22 10:47:39: RADIUS: Received from id 1645/8 10.15.0.51:1812,
Access-Reject, len 20
000191: Feb 22 10:47:39:
TTC-GREG2# RADIUS: authenticator FC F7 1D 2F 38 08 3A 52 - 80 4D 13 7C 9A
E9 C1 B7
000192: Feb 22 10:47:39: RADIUS: saved authorization data for user 8C41E4C
at 0
000193: Feb 22 10:47:39: AAA/MEMORY: free_user (0x8C41E4C) user='username'
ruser='NULL' port='' rem_addr='NULL' authen_type=ASCII service=LOGIN)
Server Info:FreeRadius server running on Ubuntu 18.04 LTS
tcpdump:
tcpdump -i ens160 -vvv port 1812
tcpdump: listening on ens160, link-type EN10MB (Ethernet), capture size
262144 bytes
10:52:36.760284 IP (tos 0x0, ttl 254, id 338, offset 0, flags [none], proto
UDP (17), length 87)
TTC-GREG.portageps.org.datametrics > ppsauth1.portageps.org.radius: [udp
sum ok] RADIUS, length: 59
Access-Request (1), id: 0x0a, Authenticator:
d77adf09bca33bbc3c9a22d8e057b5d0
NAS-IP-Address Attribute (4), length: 6, Value:
TTC-GREG.portageps.org
0x0000: c0a8 a02f
NAS-Port-Type Attribute (61), length: 6, Value: Async
0x0000: 0000 0000
User-Name Attribute (1), length: 9, Value: username
0x0000: 6773 7475 6172 74
User-Password Attribute (2), length: 18, Value:
0x0000: 40ee d3ca 65d6 b7a6 48fe 9f81 3460 b73f
10:52:37.761280 IP (tos 0x0, ttl 64, id 64656, offset 0, flags [none],
proto UDP (17), length 48)
ppsauth1.portageps.org.radius > TTC-GREG.portageps.org.datametrics: [bad
udp cksum 0x6b47 -> 0xf8e3!] RADIUS, length: 20
Access-Reject (3), id: 0x0a, Authenticator:
096e874b36ae47c55b81fa012f1ff749
Tail of Radius Log:
tail -f radius.log
ri Feb 22 10:49:38 2019 : Auth: (77) Login incorrect (No Auth-Type found:
rejecting the user via Post-Auth-Type = Reject): [username/password] (from
client LabSwitch por
t 0)
Fri Feb 22 10:49:54 2019 : Auth: (78) Login incorrect (No Auth-Type found:
rejecting the user via Post-Auth-Type = Reject): [username/password] (from
client LabSw
itch port 0)
Fri Feb 22 10:50:02 2019 : Auth: (79) Login incorrect (No Auth-Type found:
rejecting the user via Post-Auth-Type = Reject): [username/password] (from
client LabSw
itch port 0)
Fri Feb 22 10:51:58 2019 : Auth: (80) Login incorrect (No Auth-Type found:
rejecting the user via Post-Auth-Type = Reject): [username/password] (from
client LabSw
itch port 0)
Fri Feb 22 10:52:36 2019 : Auth: (81) Login incorrect (No Auth-Type found:
rejecting the user via Post-Auth-Type = Reject): [username/password] (from
client LabSw
itch port 0)
freeradius -X output:
eady to process requests
(0) Received Access-Request Id 11 from 192.168.160.47:1645 to
10.15.0.51:1812 length 59
(0) NAS-IP-Address = 192.168.160.47
(0) NAS-Port-Type = Async
(0) User-Name = "username"
(0) User-Password = "password"
(0) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(0) authorize {
(0) policy filter_username {
(0) if (&User-Name) {
(0) if (&User-Name) -> TRUE
(0) if (&User-Name) {
(0) if (&User-Name =~ / /) {
(0) if (&User-Name =~ / /) -> FALSE
(0) if (&User-Name =~ /@[^@]*@/ ) {
(0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(0) if (&User-Name =~ /\.\./ ) {
(0) if (&User-Name =~ /\.\./ ) -> FALSE
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /(a)\./) {
(0) if (&User-Name =~ /(a)\./) -> FALSE
(0) } # if (&User-Name) = notfound
(0) } # policy filter_username = notfound
(0) [preprocess] = ok
(0) [chap] = noop
(0) [mschap] = noop
(0) [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "username", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) eap: No EAP-Message, not doing EAP
(0) [eap] = noop
(0) [files] = noop
(0) [expiration] = noop
(0) [logintime] = noop
(0) pap: WARNING: No "known good" password found for the user. Not setting
Auth-Type
(0) pap: WARNING: Authentication will fail unless a "known good" password
is available
(0) [pap] = noop
(0) } # authorize = ok
(0) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type =
Reject
(0) Failed to authenticate the user
(0) Using Post-Auth-Type Reject
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0) Post-Auth-Type REJECT {
(0) attr_filter.access_reject: EXPAND %{User-Name}
(0) attr_filter.access_reject: --> username
(0) attr_filter.access_reject: Matched entry DEFAULT at line 11
(0) [attr_filter.access_reject] = updated
(0) [eap] = noop
(0) policy remove_reply_message_if_eap {
(0) if (&reply:EAP-Message && &reply:Reply-Message) {
(0) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
(0) else {
(0) [noop] = noop
(0) } # else = noop
(0) } # policy remove_reply_message_if_eap = noop
(0) } # Post-Auth-Type REJECT = updated
(0) Login incorrect (No Auth-Type found: rejecting the user via
Post-Auth-Type = Reject): [username/password] (from client LabSwitch port 0)
(0) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(0) Sending delayed response
(0) Sent Access-Reject Id 11 from 10.15.0.51:1812 to 192.168.160.47:1645
length 20
Waking up in 3.9 seconds.
(0) Cleaning up request packet ID 11 with timestamp +5
Any help would be appreciated. Again what I am trying to do, is log into
a cisco switch using my AD credentials. I have a freeradius server that is
linked to AD. The link to AD has been confirmed to work.
Thank you.
2
1
I have been playing around with linelog in order to send all the status via
rsyslog to a remote machine and it has been working pretty well.
What I still don't manage to get is how to have more detailed
authentication failure messages in order to troubleshoot what went wrong.
I'm currently using %{Module-Failure-Message}, but i only get stuff like
"EAP module failure" instead of something more useful like "username is not
found in ldap" or "Password incorrect"
How can I do this?
Thanks!
2
4
I am trying to setup FreeRadius 3.0.17 to use LDAP as backend. My
FreeRadius is running on an OpenSuse server. I have configured
/etc/raddb/mods-available/ldap with the LDAP service account information.
After I uncommented the line "Auth-Type LDAP {ldap}" in
/etc/raddb/sites-available/default, I tried to start the radius service
with "./radiusd -X", but got the following error message:
" server default { # from file /etc/raddb/sites-enabled/default
# Loading authenticate {...}
/etc/raddb/sites-enabled/default[528]: Failed to find "ldap" as a module or
policy.
/etc/raddb/sites-enabled/default[528]: Please verify that the configuration
exists in /etc/raddb/mods-enabled/ldap.
/etc/raddb/sites-enabled/default[528]: Failed to parse "ldap" entry.
I searched on the Internet, but couldn't find freeradius-ldap for OpenSuse.
I found lrm-ldap for FreeRadius 3.0.15, but not 3.0.17. Could anyone do me
a favor help me out?
Thank you!
Rong Wang
3
5
How I can send many radius requests/packets in parallel mode using radclient?
by work vlpl 21 Feb '19
by work vlpl 21 Feb '19
21 Feb '19
Hello,
I am trying to find limitation of my freeradius server setup. To do
that I use this command
`date && radclient -r 1 -t 1 -q -c 350 -p 350 -f ./radpacket -s
172.31.10.73:1812 auth mysecret && date`
I am expecting that `-p` will try to send radius packets in parallel
mode. But it seems it does not work. Because, the stats after command
finished looks like this
`
Thu 21 Feb 17:54:00 UTC 2019
Packet summary:
Accepted : 350
Rejected : 0
Lost : 0
Passed filter : 350
Failed filter : 0
Thu 21 Feb 17:54:39 UTC 2019
`
I use `date` command just to understand how much time it take to
process 350 requests. I am expecting that if packets were send in
parallel mode then processing time should be significant smaller.
Also I am reading this in comments from `radiusd.conf`
"When the server receives a packet, it places it onto an internal
queue, where the worker threads (configured above) pick it up for
processing. The maximum size of that queue is given here. When the
queue is full, any new packets will be silently discarded."
But stats show me that 0 packets were lost.
I admit that maybe I use `raclient` in the wrong way. I used these emails
http://lists.freeradius.org/pipermail/freeradius-users/2016-February/082013…
http://lists.freeradius.org/pipermail/freeradius-users/2007-November/023477…
and man pages as guides how to use radclient to send packets in
parallel mode. So I don't understand what I am missing, and looking
how I can send many radius packets in parallel mode. Can somebody help
me with this?
2
1
Hello,
we have a freeradius 3.0.17 server configuration which already supports EAP-TTLS and EAP-PEAP. We now want to add support for EAP-PWD. So far this has been quite easy (just enabling the pwd subsection of the EAP module), but I faced some problems with using a whitelist.
As our production setup is quite complex, I explain the issue via the smallest modification to the standard config. A full debug output of this is attached in [1].
A normal whitelist is done like this:
mods-config/files_whitelist/whitelist
bob
DEFAULT Auth-Type := Reject
And this is used in the inner-tunnel:
sites-available/inner-tunnel
authorize {
filter_username
chap
mschap
suffix
eap {
ok = return
}
files # <- get users password, this is substituted by ldap in our production server
files_whitelist # <- whitelist
pap
}
This works as intended with TTLS. For adding PWD it does not work, as PWD does not check the return status of the inner-tunnel, this is intended. So I need to do the authorization in the outer server:
sites-available/default
authorize {
filter_username
chap
mschap
suffix
eap {
ok = return
}
files_whitelist # <- whitelist
pap
}
But this now kills the TTLS-Authorization, as users set anonymous as outer identity and this will get blocked in the outer server by the whitelist. A workaround could be to also add "updated = return" to the eap module of the outer server but that would destroy the whitelist for PWD again, as nothing after the eap module gets executed.
So I can either choose the above and PWD works, but nobody can use TTLS with an anonymous identity or I add the "updated = return" and every user in our database can bypass the whitelist via choosing EAP-PWD.
There are two solutions that I can see: (1) Either I only do the authorization in the inner-tunnel (also for PWD) and copy the result via the session-state attributes to the outer server or (2) I introduce an unlang if-clause to the outer server to handle EAP-PWD differently, like:
eap {
ok = return
}
if (EAP-PWD) { <- How does this condition look like?
files_whitelist # <- whitelist
} else { noop }
Has someone already used EAP-PWD together with a whitelist? What is the preferred solution? Or am I just using the configuration wrong?
Kind regards,
Jan Niklas Richter
[1] As the files modue config is not included in debug output here it is:
mods-config/files/authorize:
bob Cleartext-Password := "hello"
Reply-Message := "Hello, %{User-Name}"
bob2 Cleartext-Password := "hello"
Reply-Message := "Hello, %{User-Name}"
mods-config/files_whitelist/whitelist:
bob
Reply-Message = "Hello, %{User-Name}"
DEFAULT Auth-Type := Reject
Reply-Message = "Your account has been disabled."
Output of radiusd -X:
Requests 0-1 are from bob doing TTLS -> should work, does not
Requests 2-3 are from bob2 doing TTLS -> should not work, is correct
Requests 4-8 are from bob doing EAP-PWD -> should work, is correct
Requests 9-10 are from bob2 doing EAP-PWD -> should not work, is correct
$ radiusd -X
FreeRADIUS Version 3.0.17
Copyright (C) 1999-2017 The FreeRADIUS server project and contributors
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License
For more information about these matters, see the file named COPYRIGHT
Starting - reading configuration files ...
including dictionary file /usr/local/share/freeradius/dictionary
including dictionary file /usr/local/share/freeradius/dictionary.dhcp
including dictionary file /usr/local/share/freeradius/dictionary.vqp
including dictionary file /usr/local/etc/raddb/dictionary
including configuration file /usr/local/etc/raddb/radiusd.conf
including configuration file /usr/local/etc/raddb/proxy.conf
including configuration file /usr/local/etc/raddb/clients.conf
including files in directory /usr/local/etc/raddb/mods-enabled/
including configuration file /usr/local/etc/raddb/mods-enabled/sradutmp
including configuration file /usr/local/etc/raddb/mods-enabled/utf8
including configuration file /usr/local/etc/raddb/mods-enabled/digest
including configuration file /usr/local/etc/raddb/mods-enabled/detail
including configuration file /usr/local/etc/raddb/mods-enabled/chap
including configuration file /usr/local/etc/raddb/mods-enabled/detail.log
including configuration file /usr/local/etc/raddb/mods-enabled/unix
including configuration file /usr/local/etc/raddb/mods-enabled/expr
including configuration file /usr/local/etc/raddb/mods-enabled/files
including configuration file /usr/local/etc/raddb/mods-enabled/preprocess
including configuration file /usr/local/etc/raddb/mods-enabled/attr_filter
including configuration file /usr/local/etc/raddb/mods-enabled/mschap
including configuration file /usr/local/etc/raddb/mods-enabled/date
including configuration file /usr/local/etc/raddb/mods-enabled/expiration
including configuration file /usr/local/etc/raddb/mods-enabled/exec
including configuration file /usr/local/etc/raddb/mods-enabled/passwd
including configuration file /usr/local/etc/raddb/mods-enabled/radutmp
including configuration file /usr/local/etc/raddb/mods-enabled/always
including configuration file /usr/local/etc/raddb/mods-enabled/realm
including configuration file /usr/local/etc/raddb/mods-enabled/eap
including configuration file /usr/local/etc/raddb/mods-enabled/cache_eap
including configuration file /usr/local/etc/raddb/mods-enabled/ntlm_auth
including configuration file /usr/local/etc/raddb/mods-enabled/dynamic_clients
including configuration file /usr/local/etc/raddb/mods-enabled/logintime
including configuration file /usr/local/etc/raddb/mods-enabled/pap
including configuration file /usr/local/etc/raddb/mods-enabled/linelog
including configuration file /usr/local/etc/raddb/mods-enabled/unpack
including configuration file /usr/local/etc/raddb/mods-enabled/soh
including configuration file /usr/local/etc/raddb/mods-enabled/replicate
including configuration file /usr/local/etc/raddb/mods-enabled/echo
including configuration file /usr/local/etc/raddb/mods-enabled/files_whitelist
including files in directory /usr/local/etc/raddb/policy.d/
including configuration file /usr/local/etc/raddb/policy.d/moonshot-targeted-ids
including configuration file /usr/local/etc/raddb/policy.d/abfab-tr
including configuration file /usr/local/etc/raddb/policy.d/debug
including configuration file /usr/local/etc/raddb/policy.d/accounting
including configuration file /usr/local/etc/raddb/policy.d/cui
including configuration file /usr/local/etc/raddb/policy.d/operator-name
including configuration file /usr/local/etc/raddb/policy.d/canonicalization
including configuration file /usr/local/etc/raddb/policy.d/filter
including configuration file /usr/local/etc/raddb/policy.d/eap
including configuration file /usr/local/etc/raddb/policy.d/control
including configuration file /usr/local/etc/raddb/policy.d/dhcp
including files in directory /usr/local/etc/raddb/sites-enabled/
including configuration file /usr/local/etc/raddb/sites-enabled/default
including configuration file /usr/local/etc/raddb/sites-enabled/inner-tunnel
main {
security {
allow_core_dumps = no
}
name = "radiusd"
prefix = "/usr/local"
localstatedir = "/usr/local/var"
logdir = "/usr/local/var/log/radius"
run_dir = "/usr/local/var/run/radiusd"
}
main {
name = "radiusd"
prefix = "/usr/local"
localstatedir = "/usr/local/var"
sbindir = "/usr/local/sbin"
logdir = "/usr/local/var/log/radius"
run_dir = "/usr/local/var/run/radiusd"
libdir = "/usr/local/lib"
radacctdir = "/usr/local/var/log/radius/radacct"
hostname_lookups = no
max_request_time = 30
cleanup_delay = 5
max_requests = 16384
pidfile = "/usr/local/var/run/radiusd/radiusd.pid"
checkrad = "/usr/local/sbin/checkrad"
debug_level = 0
proxy_requests = yes
log {
stripped_names = no
auth = no
auth_badpass = no
auth_goodpass = no
colourise = yes
msg_denied = "You are already logged in - access denied"
}
resources {
}
security {
max_attributes = 200
reject_delay = 1.000000
status_server = yes
allow_vulnerable_openssl = "no"
}
}
radiusd: #### Loading Realms and Home Servers ####
proxy server {
retry_delay = 5
retry_count = 3
default_fallback = no
dead_time = 120
wake_all_if_all_dead = no
}
home_server localhost {
ipaddr = 127.0.0.1
port = 1812
type = "auth"
secret = <<< secret >>>
response_window = 20.000000
response_timeouts = 1
max_outstanding = 65536
zombie_period = 40
status_check = "status-server"
ping_interval = 30
check_interval = 30
check_timeout = 4
num_answers_to_alive = 3
revive_interval = 120
limit {
max_connections = 16
max_requests = 0
lifetime = 0
idle_timeout = 0
}
coa {
irt = 2
mrt = 16
mrc = 5
mrd = 30
}
}
home_server_pool my_auth_failover {
type = fail-over
home_server = localhost
}
realm example.com {
auth_pool = my_auth_failover
}
realm LOCAL {
}
radiusd: #### Loading Clients ####
client localhost {
ipaddr = 127.0.0.1
require_message_authenticator = no
secret = <<< secret >>>
nas_type = "other"
proto = "*"
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
client localhost_ipv6 {
ipv6addr = ::1
require_message_authenticator = no
secret = <<< secret >>>
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
Debugger not attached
# Creating Auth-Type = 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_radutmp
# Loading module "sradutmp" from file /usr/local/etc/raddb/mods-enabled/sradutmp
radutmp sradutmp {
filename = "/usr/local/var/log/radius/sradutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 420
caller_id = no
}
# Loaded module rlm_utf8
# Loading module "utf8" from file /usr/local/etc/raddb/mods-enabled/utf8
# Loaded module rlm_digest
# Loading module "digest" from file /usr/local/etc/raddb/mods-enabled/digest
# Loaded module rlm_detail
# Loading module "detail" from file /usr/local/etc/raddb/mods-enabled/detail
detail {
filename = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loaded module rlm_chap
# Loading module "chap" from file /usr/local/etc/raddb/mods-enabled/chap
# Loading module "auth_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
detail auth_log {
filename = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "reply_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
detail reply_log {
filename = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "pre_proxy_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
detail pre_proxy_log {
filename = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "post_proxy_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
detail post_proxy_log {
filename = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loaded module rlm_unix
# Loading module "unix" from file /usr/local/etc/raddb/mods-enabled/unix
unix {
radwtmp = "/usr/local/var/log/radius/radwtmp"
}
Creating attribute Unix-Group
# Loaded module rlm_expr
# Loading module "expr" from file /usr/local/etc/raddb/mods-enabled/expr
expr {
safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
# Loaded module rlm_files
# Loading module "files" from file /usr/local/etc/raddb/mods-enabled/files
files {
filename = "/usr/local/etc/raddb/mods-config/files/authorize"
acctusersfile = "/usr/local/etc/raddb/mods-config/files/accounting"
preproxy_usersfile = "/usr/local/etc/raddb/mods-config/files/pre-proxy"
}
# Loaded module rlm_preprocess
# Loading module "preprocess" from file /usr/local/etc/raddb/mods-enabled/preprocess
preprocess {
huntgroups = "/usr/local/etc/raddb/mods-config/preprocess/huntgroups"
hints = "/usr/local/etc/raddb/mods-config/preprocess/hints"
with_ascend_hack = no
ascend_channels_per_line = 23
with_ntdomain_hack = no
with_specialix_jetstream_hack = no
with_cisco_vsa_hack = no
with_alvarion_vsa_hack = no
}
# Loaded module rlm_attr_filter
# Loading module "attr_filter.post-proxy" from file /usr/local/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.post-proxy {
filename = "/usr/local/etc/raddb/mods-config/attr_filter/post-proxy"
key = "%{Realm}"
relaxed = no
}
# Loading module "attr_filter.pre-proxy" from file /usr/local/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.pre-proxy {
filename = "/usr/local/etc/raddb/mods-config/attr_filter/pre-proxy"
key = "%{Realm}"
relaxed = no
}
# Loading module "attr_filter.access_reject" from file /usr/local/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.access_reject {
filename = "/usr/local/etc/raddb/mods-config/attr_filter/access_reject"
key = "%{User-Name}"
relaxed = no
}
# Loading module "attr_filter.access_challenge" from file /usr/local/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.access_challenge {
filename = "/usr/local/etc/raddb/mods-config/attr_filter/access_challenge"
key = "%{User-Name}"
relaxed = no
}
# Loading module "attr_filter.accounting_response" from file /usr/local/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.accounting_response {
filename = "/usr/local/etc/raddb/mods-config/attr_filter/accounting_response"
key = "%{User-Name}"
relaxed = no
}
# Loaded module rlm_mschap
# Loading module "mschap" from file /usr/local/etc/raddb/mods-enabled/mschap
mschap {
use_mppe = yes
require_encryption = no
require_strong = no
with_ntdomain_hack = yes
passchange {
}
allow_retry = yes
winbind_retry_with_normalised_username = no
}
# Loaded module rlm_date
# Loading module "date" from file /usr/local/etc/raddb/mods-enabled/date
date {
format = "%b %e %Y %H:%M:%S %Z"
utc = no
}
# Loaded module rlm_expiration
# Loading module "expiration" from file /usr/local/etc/raddb/mods-enabled/expiration
# Loaded module rlm_exec
# Loading module "exec" from file /usr/local/etc/raddb/mods-enabled/exec
exec {
wait = no
input_pairs = "request"
shell_escape = yes
timeout = 10
}
# Loaded module rlm_passwd
# Loading module "etc_passwd" from file /usr/local/etc/raddb/mods-enabled/passwd
passwd etc_passwd {
filename = "/etc/passwd"
format = "*User-Name:Crypt-Password:"
delimiter = ":"
ignore_nislike = no
ignore_empty = yes
allow_multiple_keys = no
hash_size = 100
}
# Loading module "radutmp" from file /usr/local/etc/raddb/mods-enabled/radutmp
radutmp {
filename = "/usr/local/var/log/radius/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 384
caller_id = yes
}
# Loaded module rlm_always
# Loading module "reject" from file /usr/local/etc/raddb/mods-enabled/always
always reject {
rcode = "reject"
simulcount = 0
mpp = no
}
# Loading module "fail" from file /usr/local/etc/raddb/mods-enabled/always
always fail {
rcode = "fail"
simulcount = 0
mpp = no
}
# Loading module "ok" from file /usr/local/etc/raddb/mods-enabled/always
always ok {
rcode = "ok"
simulcount = 0
mpp = no
}
# Loading module "handled" from file /usr/local/etc/raddb/mods-enabled/always
always handled {
rcode = "handled"
simulcount = 0
mpp = no
}
# Loading module "invalid" from file /usr/local/etc/raddb/mods-enabled/always
always invalid {
rcode = "invalid"
simulcount = 0
mpp = no
}
# Loading module "userlock" from file /usr/local/etc/raddb/mods-enabled/always
always userlock {
rcode = "userlock"
simulcount = 0
mpp = no
}
# Loading module "notfound" from file /usr/local/etc/raddb/mods-enabled/always
always notfound {
rcode = "notfound"
simulcount = 0
mpp = no
}
# Loading module "noop" from file /usr/local/etc/raddb/mods-enabled/always
always noop {
rcode = "noop"
simulcount = 0
mpp = no
}
# Loading module "updated" from file /usr/local/etc/raddb/mods-enabled/always
always updated {
rcode = "updated"
simulcount = 0
mpp = no
}
# Loaded module rlm_realm
# Loading module "IPASS" from file /usr/local/etc/raddb/mods-enabled/realm
realm IPASS {
format = "prefix"
delimiter = "/"
ignore_default = no
ignore_null = no
}
# Loading module "suffix" from file /usr/local/etc/raddb/mods-enabled/realm
realm suffix {
format = "suffix"
delimiter = "@"
ignore_default = no
ignore_null = no
}
# Loading module "realmpercent" from file /usr/local/etc/raddb/mods-enabled/realm
realm realmpercent {
format = "suffix"
delimiter = "%"
ignore_default = no
ignore_null = no
}
# Loading module "ntdomain" from file /usr/local/etc/raddb/mods-enabled/realm
realm ntdomain {
format = "prefix"
delimiter = "\\"
ignore_default = no
ignore_null = no
}
# Loaded module rlm_eap
# Loading module "eap" from file /usr/local/etc/raddb/mods-enabled/eap
eap {
default_eap_type = "md5"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 16384
}
# Loaded module rlm_cache
# Loading module "cache_eap" from file /usr/local/etc/raddb/mods-enabled/cache_eap
cache cache_eap {
driver = "rlm_cache_rbtree"
key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
ttl = 15
max_entries = 0
epoch = 0
add_stats = no
}
# Loading module "ntlm_auth" from file /usr/local/etc/raddb/mods-enabled/ntlm_auth
exec ntlm_auth {
wait = yes
program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}"
shell_escape = yes
}
# Loaded module rlm_dynamic_clients
# Loading module "dynamic_clients" from file /usr/local/etc/raddb/mods-enabled/dynamic_clients
# Loaded module rlm_logintime
# Loading module "logintime" from file /usr/local/etc/raddb/mods-enabled/logintime
logintime {
minimum_timeout = 60
}
# Loaded module rlm_pap
# Loading module "pap" from file /usr/local/etc/raddb/mods-enabled/pap
pap {
normalise = yes
}
# Loaded module rlm_linelog
# Loading module "linelog" from file /usr/local/etc/raddb/mods-enabled/linelog
linelog {
filename = "/usr/local/var/log/radius/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 /usr/local/etc/raddb/mods-enabled/linelog
linelog log_accounting {
filename = "/usr/local/var/log/radius/linelog-accounting"
escape_filenames = no
syslog_severity = "info"
permissions = 384
format = ""
reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
}
# Loaded module rlm_unpack
# Loading module "unpack" from file /usr/local/etc/raddb/mods-enabled/unpack
# Loaded module rlm_soh
# Loading module "soh" from file /usr/local/etc/raddb/mods-enabled/soh
soh {
dhcp = yes
}
# Loaded module rlm_replicate
# Loading module "replicate" from file /usr/local/etc/raddb/mods-enabled/replicate
# Loading module "echo" from file /usr/local/etc/raddb/mods-enabled/echo
exec echo {
wait = yes
program = "/bin/echo %{User-Name}"
input_pairs = "request"
output_pairs = "reply"
shell_escape = yes
}
# Loading module "files_whitelist" from file /usr/local/etc/raddb/mods-enabled/files_whitelist
files files_whitelist {
filename = "/usr/local/etc/raddb/mods-config/files_whitelist/whitelist"
}
instantiate {
}
# Instantiating module "detail" from file /usr/local/etc/raddb/mods-enabled/detail
# Instantiating module "auth_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
# Instantiating module "reply_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
# Instantiating module "pre_proxy_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
# Instantiating module "post_proxy_log" from file /usr/local/etc/raddb/mods-enabled/detail.log
# Instantiating module "files" from file /usr/local/etc/raddb/mods-enabled/files
reading pairlist file /usr/local/etc/raddb/mods-config/files/authorize
reading pairlist file /usr/local/etc/raddb/mods-config/files/accounting
reading pairlist file /usr/local/etc/raddb/mods-config/files/pre-proxy
# Instantiating module "preprocess" from file /usr/local/etc/raddb/mods-enabled/preprocess
reading pairlist file /usr/local/etc/raddb/mods-config/preprocess/huntgroups
reading pairlist file /usr/local/etc/raddb/mods-config/preprocess/hints
# Instantiating module "attr_filter.post-proxy" from file /usr/local/etc/raddb/mods-enabled/attr_filter
reading pairlist file /usr/local/etc/raddb/mods-config/attr_filter/post-proxy
# Instantiating module "attr_filter.pre-proxy" from file /usr/local/etc/raddb/mods-enabled/attr_filter
reading pairlist file /usr/local/etc/raddb/mods-config/attr_filter/pre-proxy
# Instantiating module "attr_filter.access_reject" from file /usr/local/etc/raddb/mods-enabled/attr_filter
reading pairlist file /usr/local/etc/raddb/mods-config/attr_filter/access_reject
[/usr/local/etc/raddb/mods-config/attr_filter/access_reject]:11 Check item "FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT".
[/usr/local/etc/raddb/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 /usr/local/etc/raddb/mods-enabled/attr_filter
reading pairlist file /usr/local/etc/raddb/mods-config/attr_filter/access_challenge
# Instantiating module "attr_filter.accounting_response" from file /usr/local/etc/raddb/mods-enabled/attr_filter
reading pairlist file /usr/local/etc/raddb/mods-config/attr_filter/accounting_response
# Instantiating module "mschap" from file /usr/local/etc/raddb/mods-enabled/mschap
rlm_mschap (mschap): using internal authentication
# Instantiating module "expiration" from file /usr/local/etc/raddb/mods-enabled/expiration
# Instantiating module "etc_passwd" from file /usr/local/etc/raddb/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
# Instantiating module "reject" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "fail" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "ok" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "handled" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "invalid" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "userlock" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "notfound" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "noop" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "updated" from file /usr/local/etc/raddb/mods-enabled/always
# Instantiating module "IPASS" from file /usr/local/etc/raddb/mods-enabled/realm
# Instantiating module "suffix" from file /usr/local/etc/raddb/mods-enabled/realm
# Instantiating module "realmpercent" from file /usr/local/etc/raddb/mods-enabled/realm
# Instantiating module "ntdomain" from file /usr/local/etc/raddb/mods-enabled/realm
# Instantiating module "eap" from file /usr/local/etc/raddb/mods-enabled/eap
# Linked to sub-module rlm_eap_md5
# Linked to sub-module rlm_eap_pwd
pwd {
group = 19
fragment_size = 1020
server_id = "theserver(a)example.com"
virtual_server = "inner-tunnel"
}
# Linked to sub-module rlm_eap_leap
# Linked to sub-module rlm_eap_gtc
gtc {
challenge = "Password: "
auth_type = "PAP"
}
# Linked to sub-module rlm_eap_tls
tls {
tls = "tls-common"
}
tls-config tls-common {
verify_depth = 0
ca_path = "/usr/local/etc/raddb/certs"
pem_file_type = yes
private_key_file = "/usr/local/etc/raddb/certs/server.pem"
certificate_file = "/usr/local/etc/raddb/certs/server.pem"
ca_file = "/usr/local/etc/raddb/certs/ca.pem"
private_key_password = <<< secret >>>
dh_file = "/usr/local/etc/raddb/certs/dh"
fragment_size = 1024
include_length = yes
auto_chain = yes
check_crl = no
check_all_crl = no
cipher_list = "DEFAULT"
cipher_server_preference = no
ecdh_curve = "prime256v1"
tls_max_version = ""
tls_min_version = "1.0"
cache {
enable = no
lifetime = 24
max_entries = 255
}
verify {
skip_if_ocsp_ok = no
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
use_nonce = yes
timeout = 0
softfail = no
}
}
# Linked to sub-module rlm_eap_ttls
ttls {
tls = "tls-common"
default_eap_type = "md5"
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
include_length = yes
require_client_cert = no
}
tls: Using cached TLS configuration from previous invocation
# Linked to sub-module rlm_eap_peap
peap {
tls = "tls-common"
default_eap_type = "mschapv2"
copy_request_to_tunnel = no
use_tunneled_reply = no
proxy_tunneled_request_as_eap = yes
virtual_server = "inner-tunnel"
soh = no
require_client_cert = no
}
tls: Using cached TLS configuration from previous invocation
# Linked to sub-module rlm_eap_mschapv2
mschapv2 {
with_ntdomain_hack = no
send_error = no
}
# Instantiating module "cache_eap" from file /usr/local/etc/raddb/mods-enabled/cache_eap
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
# Instantiating module "logintime" from file /usr/local/etc/raddb/mods-enabled/logintime
# Instantiating module "pap" from file /usr/local/etc/raddb/mods-enabled/pap
# Instantiating module "linelog" from file /usr/local/etc/raddb/mods-enabled/linelog
# Instantiating module "log_accounting" from file /usr/local/etc/raddb/mods-enabled/linelog
# Instantiating module "files_whitelist" from file /usr/local/etc/raddb/mods-enabled/files_whitelist
reading pairlist file /usr/local/etc/raddb/mods-config/files_whitelist/whitelist
} # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /usr/local/etc/raddb/radiusd.conf
} # server
server default { # from file /usr/local/etc/raddb/sites-enabled/default
# Loading authenticate {...}
# Loading authorize {...}
# Loading preacct {...}
# Loading accounting {...}
Ignoring "sql" (see raddb/mods-available/README.rst)
# Loading post-proxy {...}
# Loading post-auth {...}
} # server default
server inner-tunnel { # from file /usr/local/etc/raddb/sites-enabled/inner-tunnel
# Loading authenticate {...}
# Loading authorize {...}
# Loading session {...}
# Loading post-proxy {...}
# Loading post-auth {...}
# Skipping contents of 'if' as it is always 'false' -- /usr/local/etc/raddb/sites-enabled/inner-tunnel:332
} # 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 42136
Listening on proxy address :: port 33890
Ready to process requests
(0) Received Access-Request Id 0 from 127.0.0.1:40230 to 127.0.0.1:1812 length 132
(0) User-Name = "anonymous"
(0) NAS-IP-Address = 127.0.0.1
(0) Calling-Station-Id = "02-00-00-00-00-01"
(0) Framed-MTU = 1400
(0) NAS-Port-Type = Wireless-802.11
(0) Service-Type = Framed-User
(0) Connect-Info = "CONNECT 11Mbps 802.11b"
(0) EAP-Message = 0x0200000e01616e6f6e796d6f7573
(0) Message-Authenticator = 0x58014fe1322620e597f0770a570418f7
(0) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(0) authorize {
(0) policy filter_username {
(0) if (&User-Name) {
(0) if (&User-Name) -> TRUE
(0) if (&User-Name) {
(0) if (&User-Name =~ / /) {
(0) if (&User-Name =~ / /) -> FALSE
(0) if (&User-Name =~ /@[^@]*@/ ) {
(0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(0) if (&User-Name =~ /\.\./ ) {
(0) if (&User-Name =~ /\.\./ ) -> FALSE
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /(a)\./) {
(0) if (&User-Name =~ /(a)\./) -> FALSE
(0) } # if (&User-Name) = notfound
(0) } # policy filter_username = notfound
(0) [preprocess] = ok
(0) [chap] = noop
(0) [mschap] = noop
(0) [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) eap: Peer sent EAP Response (code 2) ID 0 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 /usr/local/etc/raddb/sites-enabled/default
(0) authenticate {
(0) eap: Peer sent packet with method EAP Identity (1)
(0) eap: Calling submodule eap_md5 to process data
(0) eap_md5: Issuing MD5 Challenge
(0) eap: Sending EAP Request (code 1) ID 1 length 22
(0) eap: EAP session adding &reply:State = 0x24777c502476782c
(0) [eap] = handled
(0) } # authenticate = handled
(0) Using Post-Auth-Type Challenge
(0) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(0) Challenge { ... } # empty sub-section is ignored
(0) Sent Access-Challenge Id 0 from 127.0.0.1:1812 to 127.0.0.1:40230 length 0
(0) EAP-Message = 0x010100160410a5863c91d1344a06ab5b9bb8eaf3ba2f
(0) Message-Authenticator = 0x00000000000000000000000000000000
(0) State = 0x24777c502476782cd8b4522ec21dc968
(0) Finished request
Waking up in 4.9 seconds.
(1) Received Access-Request Id 1 from 127.0.0.1:40230 to 127.0.0.1:1812 length 142
(1) User-Name = "anonymous"
(1) NAS-IP-Address = 127.0.0.1
(1) Calling-Station-Id = "02-00-00-00-00-01"
(1) Framed-MTU = 1400
(1) NAS-Port-Type = Wireless-802.11
(1) Service-Type = Framed-User
(1) Connect-Info = "CONNECT 11Mbps 802.11b"
(1) EAP-Message = 0x020100060315
(1) State = 0x24777c502476782cd8b4522ec21dc968
(1) Message-Authenticator = 0x452e316c7f4dfa36ecc1eeb3e5c9c3b5
(1) session-state: No cached attributes
(1) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(1) authorize {
(1) policy filter_username {
(1) if (&User-Name) {
(1) if (&User-Name) -> TRUE
(1) if (&User-Name) {
(1) if (&User-Name =~ / /) {
(1) if (&User-Name =~ / /) -> FALSE
(1) if (&User-Name =~ /@[^@]*@/ ) {
(1) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(1) if (&User-Name =~ /\.\./ ) {
(1) if (&User-Name =~ /\.\./ ) -> FALSE
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(1) if (&User-Name =~ /\.$/) {
(1) if (&User-Name =~ /\.$/) -> FALSE
(1) if (&User-Name =~ /(a)\./) {
(1) if (&User-Name =~ /(a)\./) -> FALSE
(1) } # if (&User-Name) = notfound
(1) } # policy filter_username = notfound
(1) [preprocess] = ok
(1) [chap] = noop
(1) [mschap] = noop
(1) [digest] = noop
(1) suffix: Checking for suffix after "@"
(1) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
(1) suffix: No such realm "NULL"
(1) [suffix] = noop
(1) eap: Peer sent EAP Response (code 2) ID 1 length 6
(1) eap: No EAP Start, assuming it's an on-going EAP conversation
(1) [eap] = updated
(1) [files] = noop
(1) files_whitelist: users: Matched entry DEFAULT at line 89
(1) [files_whitelist] = ok
(1) [expiration] = noop
(1) [logintime] = noop
(1) pap: WARNING: Auth-Type already set. Not setting to PAP
(1) [pap] = noop
(1) } # authorize = updated
(1) Found Auth-Type = Reject
(1) Auth-Type = Reject, rejecting user
(1) Failed to authenticate the user
(1) Using Post-Auth-Type Reject
(1) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(1) Post-Auth-Type REJECT {
(1) attr_filter.access_reject: EXPAND %{User-Name}
(1) attr_filter.access_reject: --> anonymous
(1) attr_filter.access_reject: Matched entry DEFAULT at line 11
(1) [attr_filter.access_reject] = updated
(1) eap: Expiring EAP session with state 0x24777c502476782c
(1) eap: Finished EAP session with state 0x24777c502476782c
(1) eap: Previous EAP request found for state 0x24777c502476782c, released from the list
(1) eap: Request was previously rejected, inserting EAP-Failure
(1) eap: Sending EAP Failure (code 4) ID 1 length 4
(1) [eap] = updated
(1) policy remove_reply_message_if_eap {
(1) if (&reply:EAP-Message && &reply:Reply-Message) {
(1) if (&reply:EAP-Message && &reply:Reply-Message) -> TRUE
(1) if (&reply:EAP-Message && &reply:Reply-Message) {
(1) update reply {
(1) &Reply-Message !* ANY
(1) } # update reply = noop
(1) } # if (&reply:EAP-Message && &reply:Reply-Message) = noop
(1) ... skipping else: Preceding "if" was taken
(1) } # policy remove_reply_message_if_eap = noop
(1) } # Post-Auth-Type REJECT = updated
(1) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(1) Sending delayed response
(1) Sent Access-Reject Id 1 from 127.0.0.1:1812 to 127.0.0.1:40230 length 44
(1) EAP-Message = 0x04010004
(1) Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 3.9 seconds.
(0) Cleaning up request packet ID 0 with timestamp +23
(1) Cleaning up request packet ID 1 with timestamp +23
Ready to process requests
(2) Received Access-Request Id 0 from 127.0.0.1:34655 to 127.0.0.1:1812 length 132
(2) User-Name = "anonymous"
(2) NAS-IP-Address = 127.0.0.1
(2) Calling-Station-Id = "02-00-00-00-00-01"
(2) Framed-MTU = 1400
(2) NAS-Port-Type = Wireless-802.11
(2) Service-Type = Framed-User
(2) Connect-Info = "CONNECT 11Mbps 802.11b"
(2) EAP-Message = 0x0200000e01616e6f6e796d6f7573
(2) Message-Authenticator = 0xcb7b113ddf5cdc850f6f065fb1042998
(2) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(2) authorize {
(2) policy filter_username {
(2) if (&User-Name) {
(2) if (&User-Name) -> TRUE
(2) if (&User-Name) {
(2) if (&User-Name =~ / /) {
(2) if (&User-Name =~ / /) -> FALSE
(2) if (&User-Name =~ /@[^@]*@/ ) {
(2) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(2) if (&User-Name =~ /\.\./ ) {
(2) if (&User-Name =~ /\.\./ ) -> FALSE
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(2) if (&User-Name =~ /\.$/) {
(2) if (&User-Name =~ /\.$/) -> FALSE
(2) if (&User-Name =~ /(a)\./) {
(2) if (&User-Name =~ /(a)\./) -> FALSE
(2) } # if (&User-Name) = notfound
(2) } # policy filter_username = notfound
(2) [preprocess] = ok
(2) [chap] = noop
(2) [mschap] = noop
(2) [digest] = noop
(2) suffix: Checking for suffix after "@"
(2) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
(2) suffix: No such realm "NULL"
(2) [suffix] = noop
(2) eap: Peer sent EAP Response (code 2) ID 0 length 14
(2) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(2) [eap] = ok
(2) } # authorize = ok
(2) Found Auth-Type = eap
(2) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(2) authenticate {
(2) eap: Peer sent packet with method EAP Identity (1)
(2) eap: Calling submodule eap_md5 to process data
(2) eap_md5: Issuing MD5 Challenge
(2) eap: Sending EAP Request (code 1) ID 1 length 22
(2) eap: EAP session adding &reply:State = 0xfb468ffdfb478b72
(2) [eap] = handled
(2) } # authenticate = handled
(2) Using Post-Auth-Type Challenge
(2) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(2) Challenge { ... } # empty sub-section is ignored
(2) Sent Access-Challenge Id 0 from 127.0.0.1:1812 to 127.0.0.1:34655 length 0
(2) EAP-Message = 0x0101001604103d49726f11ca7f1ee00540221e9c5614
(2) Message-Authenticator = 0x00000000000000000000000000000000
(2) State = 0xfb468ffdfb478b72b46fd038661bd219
(2) Finished request
Waking up in 4.9 seconds.
(3) Received Access-Request Id 1 from 127.0.0.1:34655 to 127.0.0.1:1812 length 142
(3) User-Name = "anonymous"
(3) NAS-IP-Address = 127.0.0.1
(3) Calling-Station-Id = "02-00-00-00-00-01"
(3) Framed-MTU = 1400
(3) NAS-Port-Type = Wireless-802.11
(3) Service-Type = Framed-User
(3) Connect-Info = "CONNECT 11Mbps 802.11b"
(3) EAP-Message = 0x020100060315
(3) State = 0xfb468ffdfb478b72b46fd038661bd219
(3) Message-Authenticator = 0xebce674d683f033c22da2728ff2154db
(3) session-state: No cached attributes
(3) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(3) authorize {
(3) policy filter_username {
(3) if (&User-Name) {
(3) if (&User-Name) -> TRUE
(3) if (&User-Name) {
(3) if (&User-Name =~ / /) {
(3) if (&User-Name =~ / /) -> FALSE
(3) if (&User-Name =~ /@[^@]*@/ ) {
(3) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(3) if (&User-Name =~ /\.\./ ) {
(3) if (&User-Name =~ /\.\./ ) -> FALSE
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(3) if (&User-Name =~ /\.$/) {
(3) if (&User-Name =~ /\.$/) -> FALSE
(3) if (&User-Name =~ /(a)\./) {
(3) if (&User-Name =~ /(a)\./) -> FALSE
(3) } # if (&User-Name) = notfound
(3) } # policy filter_username = notfound
(3) [preprocess] = ok
(3) [chap] = noop
(3) [mschap] = noop
(3) [digest] = noop
(3) suffix: Checking for suffix after "@"
(3) suffix: No '@' in User-Name = "anonymous", looking up realm NULL
(3) suffix: No such realm "NULL"
(3) [suffix] = noop
(3) eap: Peer sent EAP Response (code 2) ID 1 length 6
(3) eap: No EAP Start, assuming it's an on-going EAP conversation
(3) [eap] = updated
(3) [files] = noop
(3) files_whitelist: users: Matched entry DEFAULT at line 89
(3) [files_whitelist] = ok
(3) [expiration] = noop
(3) [logintime] = noop
(3) pap: WARNING: Auth-Type already set. Not setting to PAP
(3) [pap] = noop
(3) } # authorize = updated
(3) Found Auth-Type = Reject
(3) Auth-Type = Reject, rejecting user
(3) Failed to authenticate the user
(3) Using Post-Auth-Type Reject
(3) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(3) Post-Auth-Type REJECT {
(3) attr_filter.access_reject: EXPAND %{User-Name}
(3) attr_filter.access_reject: --> anonymous
(3) attr_filter.access_reject: Matched entry DEFAULT at line 11
(3) [attr_filter.access_reject] = updated
(3) eap: Expiring EAP session with state 0xfb468ffdfb478b72
(3) eap: Finished EAP session with state 0xfb468ffdfb478b72
(3) eap: Previous EAP request found for state 0xfb468ffdfb478b72, released from the list
(3) eap: Request was previously rejected, inserting EAP-Failure
(3) eap: Sending EAP Failure (code 4) ID 1 length 4
(3) [eap] = updated
(3) policy remove_reply_message_if_eap {
(3) if (&reply:EAP-Message && &reply:Reply-Message) {
(3) if (&reply:EAP-Message && &reply:Reply-Message) -> TRUE
(3) if (&reply:EAP-Message && &reply:Reply-Message) {
(3) update reply {
(3) &Reply-Message !* ANY
(3) } # update reply = noop
(3) } # if (&reply:EAP-Message && &reply:Reply-Message) = noop
(3) ... skipping else: Preceding "if" was taken
(3) } # policy remove_reply_message_if_eap = noop
(3) } # Post-Auth-Type REJECT = updated
(3) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(3) Sending delayed response
(3) Sent Access-Reject Id 1 from 127.0.0.1:1812 to 127.0.0.1:34655 length 44
(3) EAP-Message = 0x04010004
(3) Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 3.9 seconds.
(2) Cleaning up request packet ID 0 with timestamp +103
(3) Cleaning up request packet ID 1 with timestamp +103
Ready to process requests
(4) Received Access-Request Id 0 from 127.0.0.1:32835 to 127.0.0.1:1812 length 120
(4) User-Name = "bob"
(4) NAS-IP-Address = 127.0.0.1
(4) Calling-Station-Id = "02-00-00-00-00-01"
(4) Framed-MTU = 1400
(4) NAS-Port-Type = Wireless-802.11
(4) Service-Type = Framed-User
(4) Connect-Info = "CONNECT 11Mbps 802.11b"
(4) EAP-Message = 0x0200000801626f62
(4) Message-Authenticator = 0x437f8897606b2611aee7efdca3750c34
(4) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(4) authorize {
(4) policy filter_username {
(4) if (&User-Name) {
(4) if (&User-Name) -> TRUE
(4) if (&User-Name) {
(4) if (&User-Name =~ / /) {
(4) if (&User-Name =~ / /) -> FALSE
(4) if (&User-Name =~ /@[^@]*@/ ) {
(4) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(4) if (&User-Name =~ /\.\./ ) {
(4) if (&User-Name =~ /\.\./ ) -> FALSE
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(4) if (&User-Name =~ /\.$/) {
(4) if (&User-Name =~ /\.$/) -> FALSE
(4) if (&User-Name =~ /(a)\./) {
(4) if (&User-Name =~ /(a)\./) -> FALSE
(4) } # if (&User-Name) = notfound
(4) } # policy filter_username = notfound
(4) [preprocess] = ok
(4) [chap] = noop
(4) [mschap] = noop
(4) [digest] = noop
(4) suffix: Checking for suffix after "@"
(4) suffix: No '@' in User-Name = "bob", looking up realm NULL
(4) suffix: No such realm "NULL"
(4) [suffix] = noop
(4) eap: Peer sent EAP Response (code 2) ID 0 length 8
(4) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(4) [eap] = ok
(4) } # authorize = ok
(4) Found Auth-Type = eap
(4) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(4) authenticate {
(4) eap: Peer sent packet with method EAP Identity (1)
(4) eap: Calling submodule eap_md5 to process data
(4) eap_md5: Issuing MD5 Challenge
(4) eap: Sending EAP Request (code 1) ID 1 length 22
(4) eap: EAP session adding &reply:State = 0xbca001aabca1058c
(4) [eap] = handled
(4) } # authenticate = handled
(4) Using Post-Auth-Type Challenge
(4) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(4) Challenge { ... } # empty sub-section is ignored
(4) Sent Access-Challenge Id 0 from 127.0.0.1:1812 to 127.0.0.1:32835 length 0
(4) EAP-Message = 0x01010016041040915ea8b42f19d7923c748a6de4be4d
(4) Message-Authenticator = 0x00000000000000000000000000000000
(4) State = 0xbca001aabca1058cd93e9f3cb1c945ed
(4) Finished request
Waking up in 4.9 seconds.
(5) Received Access-Request Id 1 from 127.0.0.1:32835 to 127.0.0.1:1812 length 136
(5) User-Name = "bob"
(5) NAS-IP-Address = 127.0.0.1
(5) Calling-Station-Id = "02-00-00-00-00-01"
(5) Framed-MTU = 1400
(5) NAS-Port-Type = Wireless-802.11
(5) Service-Type = Framed-User
(5) Connect-Info = "CONNECT 11Mbps 802.11b"
(5) EAP-Message = 0x020100060334
(5) State = 0xbca001aabca1058cd93e9f3cb1c945ed
(5) Message-Authenticator = 0x6f0fd26f81c6724313e9810f0f9decc4
(5) session-state: No cached attributes
(5) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(5) authorize {
(5) policy filter_username {
(5) if (&User-Name) {
(5) if (&User-Name) -> TRUE
(5) if (&User-Name) {
(5) if (&User-Name =~ / /) {
(5) if (&User-Name =~ / /) -> FALSE
(5) if (&User-Name =~ /@[^@]*@/ ) {
(5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(5) if (&User-Name =~ /\.\./ ) {
(5) if (&User-Name =~ /\.\./ ) -> FALSE
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(5) if (&User-Name =~ /\.$/) {
(5) if (&User-Name =~ /\.$/) -> FALSE
(5) if (&User-Name =~ /(a)\./) {
(5) if (&User-Name =~ /(a)\./) -> FALSE
(5) } # if (&User-Name) = notfound
(5) } # policy filter_username = notfound
(5) [preprocess] = ok
(5) [chap] = noop
(5) [mschap] = noop
(5) [digest] = noop
(5) suffix: Checking for suffix after "@"
(5) suffix: No '@' in User-Name = "bob", looking up realm NULL
(5) suffix: No such realm "NULL"
(5) [suffix] = noop
(5) eap: Peer sent EAP Response (code 2) ID 1 length 6
(5) eap: No EAP Start, assuming it's an on-going EAP conversation
(5) [eap] = updated
(5) files: users: Matched entry bob at line 87
(5) files: EXPAND Hello, %{User-Name}
(5) files: --> Hello, bob
(5) [files] = ok
(5) files_whitelist: users: Matched entry bob at line 87
(5) files_whitelist: EXPAND Hello, %{User-Name}
(5) files_whitelist: --> Hello, bob
(5) [files_whitelist] = ok
(5) [expiration] = noop
(5) [logintime] = noop
(5) pap: WARNING: Auth-Type already set. Not setting to PAP
(5) [pap] = noop
(5) } # authorize = updated
(5) Found Auth-Type = eap
(5) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(5) authenticate {
(5) eap: Expiring EAP session with state 0xbca001aabca1058c
(5) eap: Finished EAP session with state 0xbca001aabca1058c
(5) eap: Previous EAP request found for state 0xbca001aabca1058c, released from the list
(5) eap: Peer sent packet with method EAP NAK (3)
(5) eap: Found mutually acceptable type PWD (52)
(5) eap: Calling submodule eap_pwd to process data
(5) eap: Sending EAP Request (code 1) ID 2 length 36
(5) eap: EAP session adding &reply:State = 0xbca001aabda2358c
(5) [eap] = handled
(5) } # authenticate = handled
(5) Using Post-Auth-Type Challenge
(5) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(5) Challenge { ... } # empty sub-section is ignored
(5) Sent Access-Challenge Id 1 from 127.0.0.1:1812 to 127.0.0.1:32835 length 0
(5) Reply-Message = "Hello, bob"
(5) EAP-Message = 0x0102002434010013010119fce9a800746865736572766572406578616d706c652e636f6d
(5) Message-Authenticator = 0x00000000000000000000000000000000
(5) State = 0xbca001aabda2358cd93e9f3cb1c945ed
(5) Finished request
Waking up in 4.9 seconds.
(6) Received Access-Request Id 2 from 127.0.0.1:32835 to 127.0.0.1:1812 length 148
(6) User-Name = "bob"
(6) NAS-IP-Address = 127.0.0.1
(6) Calling-Station-Id = "02-00-00-00-00-01"
(6) Framed-MTU = 1400
(6) NAS-Port-Type = Wireless-802.11
(6) Service-Type = Framed-User
(6) Connect-Info = "CONNECT 11Mbps 802.11b"
(6) EAP-Message = 0x0202001234010013010119fce9a800626f62
(6) State = 0xbca001aabda2358cd93e9f3cb1c945ed
(6) Message-Authenticator = 0x6b74dccf75231c2a7b140a136bd9f253
(6) session-state: No cached attributes
(6) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [preprocess] = ok
(6) [chap] = noop
(6) [mschap] = noop
(6) [digest] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "bob", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) eap: Peer sent EAP Response (code 2) ID 2 length 18
(6) eap: No EAP Start, assuming it's an on-going EAP conversation
(6) [eap] = updated
(6) files: users: Matched entry bob at line 87
(6) files: EXPAND Hello, %{User-Name}
(6) files: --> Hello, bob
(6) [files] = ok
(6) files_whitelist: users: Matched entry bob at line 87
(6) files_whitelist: EXPAND Hello, %{User-Name}
(6) files_whitelist: --> Hello, bob
(6) [files_whitelist] = ok
(6) [expiration] = noop
(6) [logintime] = noop
(6) pap: WARNING: Auth-Type already set. Not setting to PAP
(6) [pap] = noop
(6) } # authorize = updated
(6) Found Auth-Type = eap
(6) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(6) authenticate {
(6) eap: Expiring EAP session with state 0xbca001aabda2358c
(6) eap: Finished EAP session with state 0xbca001aabda2358c
(6) eap: Previous EAP request found for state 0xbca001aabda2358c, released from the list
(6) eap: Peer sent packet with method EAP PWD (52)
(6) eap: Calling submodule eap_pwd to process data
(6) eap_pwd: Sending tunneled request
(6) eap_pwd: User-Name = "bob"
(6) eap_pwd: server inner-tunnel {
(6) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/inner-tunnel
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [chap] = noop
(6) [mschap] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "bob", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) update control {
(6) &Proxy-To-Realm := LOCAL
(6) } # update control = noop
(6) eap: No EAP-Message, not doing EAP
(6) [eap] = noop
(6) files: users: Matched entry bob at line 87
(6) files: EXPAND Hello, %{User-Name}
(6) files: --> Hello, bob
(6) [files] = ok
(6) files_whitelist: users: Matched entry bob at line 87
(6) files_whitelist: EXPAND Hello, %{User-Name}
(6) files_whitelist: --> Hello, bob
(6) [files_whitelist] = ok
(6) [expiration] = noop
(6) [logintime] = noop
(6) pap: No User-Password attribute in the request. Cannot do PAP
(6) [pap] = noop
(6) } # authorize = ok
(6) eap_pwd: } # server inner-tunnel
(6) eap_pwd: Got tunneled reply code 0
(6) eap_pwd: Reply-Message = "Hello, bob"
(6) eap: Sending EAP Request (code 1) ID 3 length 102
(6) eap: EAP session adding &reply:State = 0xbca001aabea3358c
(6) [eap] = handled
(6) } # authenticate = handled
(6) Using Post-Auth-Type Challenge
(6) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(6) Challenge { ... } # empty sub-section is ignored
(6) Sent Access-Challenge Id 2 from 127.0.0.1:1812 to 127.0.0.1:32835 length 0
(6) Reply-Message = "Hello, bob"
(6) EAP-Message = 0x0103006634028ec29559fc18e8e5fba5b1ca7c53ce842611f44f250e80381b7be7745fdbbe2ebdf8dc763a42d8f1e42dd6534c5871b148db377d4064712caa4065b7dc60f51f835b094fa734573e016afe092c070548911a9a79ee41e7d32fc04076e0857342
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0xbca001aabea3358cd93e9f3cb1c945ed
(6) Finished request
Waking up in 4.9 seconds.
(7) Received Access-Request Id 3 from 127.0.0.1:32835 to 127.0.0.1:1812 length 232
(7) User-Name = "bob"
(7) NAS-IP-Address = 127.0.0.1
(7) Calling-Station-Id = "02-00-00-00-00-01"
(7) Framed-MTU = 1400
(7) NAS-Port-Type = Wireless-802.11
(7) Service-Type = Framed-User
(7) Connect-Info = "CONNECT 11Mbps 802.11b"
(7) EAP-Message = 0x02030066340286b2eaebafe2a3ecafcdceebb79de270a92f94a9565a1797bb899efa39f115b27b19a5744757340e74d4f9acbd5fc278f199e09f02174cad3276fa5af7b1b5c9d9763d07e95b6e30c81a8b6c4f1b869be2a16cb8a704b4d2034c746e48c9b916
(7) State = 0xbca001aabea3358cd93e9f3cb1c945ed
(7) Message-Authenticator = 0x975470816e41cb11665cb2e9591dd400
(7) session-state: No cached attributes
(7) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(7) authorize {
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /(a)\./) {
(7) if (&User-Name =~ /(a)\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [preprocess] = ok
(7) [chap] = noop
(7) [mschap] = noop
(7) [digest] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "bob", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) eap: Peer sent EAP Response (code 2) ID 3 length 102
(7) eap: No EAP Start, assuming it's an on-going EAP conversation
(7) [eap] = updated
(7) files: users: Matched entry bob at line 87
(7) files: EXPAND Hello, %{User-Name}
(7) files: --> Hello, bob
(7) [files] = ok
(7) files_whitelist: users: Matched entry bob at line 87
(7) files_whitelist: EXPAND Hello, %{User-Name}
(7) files_whitelist: --> Hello, bob
(7) [files_whitelist] = ok
(7) [expiration] = noop
(7) [logintime] = noop
(7) pap: WARNING: Auth-Type already set. Not setting to PAP
(7) [pap] = noop
(7) } # authorize = updated
(7) Found Auth-Type = eap
(7) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(7) authenticate {
(7) eap: Expiring EAP session with state 0xbca001aabea3358c
(7) eap: Finished EAP session with state 0xbca001aabea3358c
(7) eap: Previous EAP request found for state 0xbca001aabea3358c, released from the list
(7) eap: Peer sent packet with method EAP PWD (52)
(7) eap: Calling submodule eap_pwd to process data
(7) eap: Sending EAP Request (code 1) ID 4 length 38
(7) eap: EAP session adding &reply:State = 0xbca001aabfa4358c
(7) [eap] = handled
(7) } # authenticate = handled
(7) Using Post-Auth-Type Challenge
(7) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(7) Challenge { ... } # empty sub-section is ignored
(7) Sent Access-Challenge Id 3 from 127.0.0.1:1812 to 127.0.0.1:32835 length 0
(7) Reply-Message = "Hello, bob"
(7) EAP-Message = 0x010400263403a4b27ab89faf4f93dd8870d61eb856692d764d794f85094fd8e86410e206184c
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) State = 0xbca001aabfa4358cd93e9f3cb1c945ed
(7) Finished request
Waking up in 4.9 seconds.
(8) Received Access-Request Id 4 from 127.0.0.1:32835 to 127.0.0.1:1812 length 168
(8) User-Name = "bob"
(8) NAS-IP-Address = 127.0.0.1
(8) Calling-Station-Id = "02-00-00-00-00-01"
(8) Framed-MTU = 1400
(8) NAS-Port-Type = Wireless-802.11
(8) Service-Type = Framed-User
(8) Connect-Info = "CONNECT 11Mbps 802.11b"
(8) EAP-Message = 0x0204002634037c12b6a1659eb7bb6ffe17023410b5788cbeb8dac3a6fff05cced588c45247bc
(8) State = 0xbca001aabfa4358cd93e9f3cb1c945ed
(8) Message-Authenticator = 0x2b451021e60e1a436f796a2072f44dd6
(8) session-state: No cached attributes
(8) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
(8) authorize {
(8) policy filter_username {
(8) if (&User-Name) {
(8) if (&User-Name) -> TRUE
(8) if (&User-Name) {
(8) if (&User-Name =~ / /) {
(8) if (&User-Name =~ / /) -> FALSE
(8) if (&User-Name =~ /@[^@]*@/ ) {
(8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(8) if (&User-Name =~ /\.\./ ) {
(8) if (&User-Name =~ /\.\./ ) -> FALSE
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(8) if (&User-Name =~ /\.$/) {
(8) if (&User-Name =~ /\.$/) -> FALSE
(8) if (&User-Name =~ /(a)\./) {
(8) if (&User-Name =~ /(a)\./) -> FALSE
(8) } # if (&User-Name) = notfound
(8) } # policy filter_username = notfound
(8) [preprocess] = ok
(8) [chap] = noop
(8) [mschap] = noop
(8) [digest] = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "bob", looking up realm NULL
(8) suffix: No such realm "NULL"
(8) [suffix] = noop
(8) eap: Peer sent EAP Response (code 2) ID 4 length 38
(8) eap: No EAP Start, assuming it's an on-going EAP conversation
(8) [eap] = updated
(8) files: users: Matched entry bob at line 87
(8) files: EXPAND Hello, %{User-Name}
(8) files: --> Hello, bob
(8) [files] = ok
(8) files_whitelist: users: Matched entry bob at line 87
(8) files_whitelist: EXPAND Hello, %{User-Name}
(8) files_whitelist: --> Hello, bob
(8) [files_whitelist] = ok
(8) [expiration] = noop
(8) [logintime] = noop
(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 /usr/local/etc/raddb/sites-enabled/default
(8) authenticate {
(8) eap: Expiring EAP session with state 0xbca001aabfa4358c
(8) eap: Finished EAP session with state 0xbca001aabfa4358c
(8) eap: Previous EAP request found for state 0xbca001aabfa4358c, released from the list
(8) eap: Peer sent packet with method EAP PWD (52)
(8) eap: Calling submodule eap_pwd to process data
(8) eap: Sending EAP Success (code 3) ID 4 length 4
(8) eap: Freeing handler
(8) [eap] = ok
(8) } # authenticate = ok
(8) # Executing section post-auth from file /usr/local/etc/raddb/sites-enabled/default
(8) post-auth {
(8) update {
(8) No attributes updated
(8) } # update = noop
(8) [exec] = noop
(8) policy remove_reply_message_if_eap {
(8) if (&reply:EAP-Message && &reply:Reply-Message) {
(8) if (&reply:EAP-Message && &reply:Reply-Message) -> TRUE
(8) if (&reply:EAP-Message && &reply:Reply-Message) {
(8) update reply {
(8) &Reply-Message !* ANY
(8) } # update reply = noop
(8) } # if (&reply:EAP-Message && &reply:Reply-Message) = noop
(8) ... skipping else: Preceding "if" was taken
(8) } # policy remove_reply_message_if_eap = noop
(8) } # post-auth = noop
(8) Sent Access-Accept Id 4 from 127.0.0.1:1812 to 127.0.0.1:32835 length 0
(8) MS-MPPE-Recv-Key = 0x7dbf6ce40ed2205c2ab292002359326110b3e985b933a9297bcc13060d1d83e7
(8) MS-MPPE-Send-Key = 0x5d5a2de539a1cefe7c3df55837a3681672414e1517c8a240582c2e9521166ffc
(8) EAP-Message = 0x03040004
(8) Message-Authenticator = 0x00000000000000000000000000000000
(8) User-Name = "bob"
(8) Finished request
Waking up in 4.9 seconds.
(4) Cleaning up request packet ID 0 with timestamp +136
(5) Cleaning up request packet ID 1 with timestamp +136
(6) Cleaning up request packet ID 2 with timestamp +136
(7) Cleaning up request packet ID 3 with timestamp +136
(8) Cleaning up request packet ID 4 with timestamp +136
Ready to process requests
(9) Received Access-Request Id 0 from 127.0.0.1:33785 to 127.0.0.1:1812 length 122
(9) User-Name = "bob2"
(9) NAS-IP-Address = 127.0.0.1
(9) Calling-Station-Id = "02-00-00-00-00-01"
(9) Framed-MTU = 1400
(9) NAS-Port-Type = Wireless-802.11
(9) Service-Type = Framed-User
(9) Connect-Info = "CONNECT 11Mbps 802.11b"
(9) EAP-Message = 0x0200000901626f6232
(9) Message-Authenticator = 0x1b66679db7c33d0538c571a46c34c548
(9) # Executing section authorize from file /usr/local/etc/raddb/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 !~ /(a)(.+)\.(.+)$/)) {
(9) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(9) if (&User-Name =~ /\.$/) {
(9) if (&User-Name =~ /\.$/) -> FALSE
(9) if (&User-Name =~ /(a)\./) {
(9) if (&User-Name =~ /(a)\./) -> 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 = "bob2", looking up realm NULL
(9) suffix: No such realm "NULL"
(9) [suffix] = noop
(9) eap: Peer sent EAP Response (code 2) ID 0 length 9
(9) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(9) [eap] = ok
(9) } # authorize = ok
(9) Found Auth-Type = eap
(9) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(9) authenticate {
(9) eap: Peer sent packet with method EAP Identity (1)
(9) eap: Calling submodule eap_md5 to process data
(9) eap_md5: Issuing MD5 Challenge
(9) eap: Sending EAP Request (code 1) ID 1 length 22
(9) eap: EAP session adding &reply:State = 0x512c9c3a512d98f8
(9) [eap] = handled
(9) } # authenticate = handled
(9) Using Post-Auth-Type Challenge
(9) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(9) Challenge { ... } # empty sub-section is ignored
(9) Sent Access-Challenge Id 0 from 127.0.0.1:1812 to 127.0.0.1:33785 length 0
(9) EAP-Message = 0x01010016041056dc5e8c153f21791658f29434a035c1
(9) Message-Authenticator = 0x00000000000000000000000000000000
(9) State = 0x512c9c3a512d98f837f85b7de328d888
(9) Finished request
Waking up in 4.9 seconds.
(10) Received Access-Request Id 1 from 127.0.0.1:33785 to 127.0.0.1:1812 length 137
(10) User-Name = "bob2"
(10) NAS-IP-Address = 127.0.0.1
(10) Calling-Station-Id = "02-00-00-00-00-01"
(10) Framed-MTU = 1400
(10) NAS-Port-Type = Wireless-802.11
(10) Service-Type = Framed-User
(10) Connect-Info = "CONNECT 11Mbps 802.11b"
(10) EAP-Message = 0x020100060334
(10) State = 0x512c9c3a512d98f837f85b7de328d888
(10) Message-Authenticator = 0x80ab9f7646067497b39302c24e95d9a2
(10) session-state: No cached attributes
(10) # Executing section authorize from file /usr/local/etc/raddb/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 !~ /(a)(.+)\.(.+)$/)) {
(10) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) -> FALSE
(10) if (&User-Name =~ /\.$/) {
(10) if (&User-Name =~ /\.$/) -> FALSE
(10) if (&User-Name =~ /(a)\./) {
(10) if (&User-Name =~ /(a)\./) -> 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 = "bob2", looking up realm NULL
(10) suffix: No such realm "NULL"
(10) [suffix] = noop
(10) eap: Peer sent EAP Response (code 2) ID 1 length 6
(10) eap: No EAP Start, assuming it's an on-going EAP conversation
(10) [eap] = updated
(10) files: users: Matched entry bob2 at line 89
(10) files: EXPAND Hello, %{User-Name}
(10) files: --> Hello, bob2
(10) [files] = ok
(10) files_whitelist: users: Matched entry DEFAULT at line 89
(10) [files_whitelist] = ok
(10) [expiration] = noop
(10) [logintime] = noop
(10) pap: WARNING: Auth-Type already set. Not setting to PAP
(10) [pap] = noop
(10) } # authorize = updated
(10) Found Auth-Type = Reject
(10) Auth-Type = Reject, rejecting user
(10) Failed to authenticate the user
(10) Using Post-Auth-Type Reject
(10) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(10) Post-Auth-Type REJECT {
(10) attr_filter.access_reject: EXPAND %{User-Name}
(10) attr_filter.access_reject: --> bob2
(10) attr_filter.access_reject: Matched entry DEFAULT at line 11
(10) [attr_filter.access_reject] = updated
(10) eap: Expiring EAP session with state 0x512c9c3a512d98f8
(10) eap: Finished EAP session with state 0x512c9c3a512d98f8
(10) eap: Previous EAP request found for state 0x512c9c3a512d98f8, released from the list
(10) eap: Request was previously rejected, inserting EAP-Failure
(10) eap: Sending EAP Failure (code 4) ID 1 length 4
(10) [eap] = updated
(10) policy remove_reply_message_if_eap {
(10) if (&reply:EAP-Message && &reply:Reply-Message) {
(10) if (&reply:EAP-Message && &reply:Reply-Message) -> TRUE
(10) if (&reply:EAP-Message && &reply:Reply-Message) {
(10) update reply {
(10) &Reply-Message !* ANY
(10) } # update reply = noop
(10) } # if (&reply:EAP-Message && &reply:Reply-Message) = noop
(10) ... skipping else: Preceding "if" was taken
(10) } # policy remove_reply_message_if_eap = noop
(10) } # Post-Auth-Type REJECT = updated
(10) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(10) Sending delayed response
(10) Sent Access-Reject Id 1 from 127.0.0.1:1812 to 127.0.0.1:33785 length 44
(10) EAP-Message = 0x04010004
(10) Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 3.9 seconds.
(9) Cleaning up request packet ID 0 with timestamp +171
(10) Cleaning up request packet ID 1 with timestamp +171
Ready to process requests
2
2
20 Feb '19
Hello list! Sorry ahead of time for the long explanation:
I'm trying to configure FreeRADIUS to do authentication with the mchap module, then use the LDAP module to authorize the request based on group membership.
I have this working as expected for user authentication, no problem there. What I'm not sure on is the best way to do it for machine authentications as well. For the mschap portion, using a username of %{mschap:User-Name} causes the supplied string like "host/machine.company.example.com" to be changed to "machine$" when invoking the ntlm_auth binary, which makes it match the samAccountName in AD for that computer record.
When setting up the filter for the LDAP search then, is there a standard way to convert the User-Name the same way the mschap module does so I can use the same filter for user authentication and machine authentication (both checking samAccountName)?
The other alternative that I maybe found is that computer records in AD seem to have a "servicePrincipalName" attribute whose value is the whole "host/machine.domain.com" string. I could setup the LDAP filter to match either samAccountName or servicePrincipalName, I just don't know if the latter is something I can guarantee will always work that way that I can rely on (I'm not familiar with that attribute).
Once the first search is done to fetch the DN of the record, the group membership query is working fine for both users and machines, I'm just not sure what is the best way to match the machine name.
Here's some example ldapsearch invocations I was using to try to nail this down:
## Idea one, make a filter that finds either a user or a computer object by updating the filter to check samAccountName or servicePrincipalName
ldapsearch -D 'cn=Administrator,cn=users,dc=company,dc=example,dc=com' -W -p 389 -h [IP] -b "dc=company,dc=example,dc=com" "(|(samAccountName=tdimmig)(servicePrincipalName=tdimmig))"
ldapsearch -D 'cn=Administrator,cn=users,dc=company,dc=example,dc=com' -W -p 389 -h [IP] -b "dc=company,dc=example,dc=com" "(|(samAccountName=host/machine.company.example.com)(servicePrincipalName=host/machine.company.example.com))"
## Idea two, can I normalize the "host/machine.company.example.com" type of usernames to the "machine$" type to then always query the samAccountName attribute
ldapsearch -D 'cn=Administrator,cn=users,dc=company,dc=example,dc=com' -W -p 389 -h [IP] -b "dc=company,dc=example,dc=com" "(samAccountName=tdimmig)"
ldapsearch -D 'cn=Administrator,cn=users,dc=company,dc=example,dc=com' -W -p 389 -h [IP]-b "dc=company,dc=example,dc=com" "(samAccountName=machine$)"
Thanks,
Travis Dimmig
1
0
Hi,
first of all apologies for maybe not seeing the obvious solution.
I have the following setup:
An OpenWRT AccessPoint with EAP configured authenticating against
freeradius with a mariadb backend. Accounting on freeradius is enabled to
cover two use cases:
1. restrict daily session time for users (working):
freeradius sends disconnect messages to my NAS (based on OpenWRT) by
checking the max-daily-session attribute.
2. restrict login time for users (not working)
user are only allowed to login at certain times.
In the accounting section I have the following sql check in order to send
disconnect messages to the NAS:
if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct where
UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) {
update disconnect {
&Acct-Session-Id = "%{Acct-Session-Id}"
&User-Name = "%{User-Name}"
&Calling-Station-Id = "%{Calling-Station-Id}"
}
}
The user I'm trying to login doesn't have the attribute Max-Daily-Session
in the radcheck table:
MariaDB [radius]> select * from radcheck where username='vlado';
+----+----------+--------------------+----+-------------+
| id | username | attribute | op | value |
+----+----------+--------------------+----+-------------+
| 2 | vlado | Cleartext-Password | := | hello |
| 10 | vlado | Login-Time | := | Al0001-2359 |
+----+----------+--------------------+----+-------------+
2 rows in set (0.00 sec)
Expected behaviour:
user can login according login-time attribute without having
max-daily-session attribute defined. the if statement should return false.
Actual behaviour:
the if statement always evaluates to 'True' and kicks the user out. Even
with an empty radacct table the statement evaluates to 'True'.
I have two questions:
1. How can I avoid defining Max-Daily-Sesion and login-time attributes for
the second use case (restrict login time for users)?
2. how to disconnect user based on defined login-time?
Thanks for any help in advance!
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/unix
including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter
including configuration file /etc/freeradius/3.0/mods-enabled/logintime
including configuration file
/etc/freeradius/3.0/mods-enabled/dynamic_clients
including configuration file /etc/freeradius/3.0/mods-enabled/passwd
including configuration file /etc/freeradius/3.0/mods-enabled/echo
including configuration file /etc/freeradius/3.0/mods-enabled/sqlcounter
including configuration file
/etc/freeradius/3.0/mods-config/sql/counter/mysql/dailycounter.conf
including configuration file
/etc/freeradius/3.0/mods-config/sql/counter/mysql/monthlycounter.conf
including configuration file
/etc/freeradius/3.0/mods-config/sql/counter/mysql/noresetcounter.conf
including configuration file
/etc/freeradius/3.0/mods-config/sql/counter/mysql/expire_on_login.conf
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/radutmp
including configuration file /etc/freeradius/3.0/mods-enabled/detail.log
including configuration file /etc/freeradius/3.0/mods-enabled/always
including configuration file /etc/freeradius/3.0/mods-enabled/realm
including configuration file /etc/freeradius/3.0/mods-enabled/expr
including configuration file /etc/freeradius/3.0/mods-enabled/eap
including configuration file /etc/freeradius/3.0/mods-enabled/replicate
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/digest
including configuration file /etc/freeradius/3.0/mods-enabled/mschap
including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth
including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap
including configuration file /etc/freeradius/3.0/mods-enabled/pap
including configuration file /etc/freeradius/3.0/mods-enabled/chap
including configuration file /etc/freeradius/3.0/mods-enabled/unpack
including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp
including configuration file /etc/freeradius/3.0/mods-enabled/expiration
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/sql
including configuration file
/etc/freeradius/3.0/mods-config/sql/main/mysql/queries.conf
including configuration file /etc/freeradius/3.0/mods-enabled/exec
including files in directory /etc/freeradius/3.0/policy.d/
including configuration file /etc/freeradius/3.0/policy.d/control
including configuration file /etc/freeradius/3.0/policy.d/dhcp
including configuration file /etc/freeradius/3.0/policy.d/filter
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/debug
including configuration file /etc/freeradius/3.0/policy.d/accounting
including configuration file /etc/freeradius/3.0/policy.d/eap
including configuration file
/etc/freeradius/3.0/policy.d/moonshot-targeted-ids
including configuration file /etc/freeradius/3.0/policy.d/canonicalization
including configuration file /etc/freeradius/3.0/policy.d/operator-name
including files in directory /etc/freeradius/3.0/sites-enabled/
including configuration file /etc/freeradius/3.0/sites-enabled/coa
including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel
including configuration file /etc/freeradius/3.0/sites-enabled/default
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 AP-2 {
ipaddr = 192.168.1.2
port = 3799
type = "coa"
secret = <<< secret >>>
response_window = 30.000000
response_timeouts = 1
max_outstanding = 65536
zombie_period = 40
status_check = "none"
ping_interval = 30
check_timeout = 4
num_answers_to_alive = 3
revive_interval = 300
limit {
max_connections = 16
max_requests = 0
lifetime = 0
idle_timeout = 0
}
coa {
irt = 2
mrt = 16
mrc = 5
mrd = 30
}
}
home_server AP-1 {
ipaddr = 192.168.1.1
port = 3799
type = "coa"
secret = <<< secret >>>
response_window = 30.000000
response_timeouts = 1
max_outstanding = 65536
zombie_period = 40
status_check = "none"
ping_interval = 30
check_timeout = 4
num_answers_to_alive = 3
revive_interval = 300
limit {
max_connections = 16
max_requests = 0
lifetime = 0
idle_timeout = 0
}
coa {
irt = 2
mrt = 16
mrc = 5
mrd = 30
}
}
home_server_pool my_auth_failover {
type = fail-over
home_server = localhost
}
realm example.com {
auth_pool = my_auth_failover
}
realm LOCAL {
}
radiusd: #### Loading Clients ####
client localhost {
ipaddr = 127.0.0.1
require_message_authenticator = no
secret = <<< secret >>>
nas_type = "other"
proto = "*"
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
client localhost_ipv6 {
ipv6addr = ::1
require_message_authenticator = no
secret = <<< secret >>>
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
Debugger not attached
# Creating Auth-Type = mschap
# Creating Auth-Type = eap
# Creating Auth-Type = PAP
# Creating Auth-Type = CHAP
# Creating Auth-Type = MS-CHAP
# Creating Auth-Type = digest
radiusd: #### Instantiating modules ####
modules {
# Loaded module rlm_unix
# Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix
unix {
radwtmp = "/var/log/freeradius/radwtmp"
}
Creating attribute Unix-Group
# Loaded module rlm_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_logintime
# Loading module "logintime" from file
/etc/freeradius/3.0/mods-enabled/logintime
logintime {
minimum_timeout = 60
}
# Loaded module rlm_dynamic_clients
# Loading module "dynamic_clients" from file
/etc/freeradius/3.0/mods-enabled/dynamic_clients
# Loaded module rlm_passwd
# Loading module "etc_passwd" from file
/etc/freeradius/3.0/mods-enabled/passwd
passwd etc_passwd {
filename = "/etc/passwd"
format = "*User-Name:Crypt-Password:"
delimiter = ":"
ignore_nislike = no
ignore_empty = yes
allow_multiple_keys = no
hash_size = 100
}
# Loaded module rlm_exec
# 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_sqlcounter
# Loading module "dailycounter" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
sqlcounter dailycounter {
sql_module_instance = "sql"
key = "User-Name"
query = "SELECT IFNULL(SUM(acctsessiontime - GREATEST((%%b -
UNIX_TIMESTAMP(acctstarttime)), 0)),0) FROM radacct WHERE username =
'%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%%b'"
reset = "daily"
counter_name = "Daily-Session-Time"
check_name = "Max-Daily-Session"
reply_name = "Session-Timeout"
}
# Loading module "monthlycounter" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
sqlcounter monthlycounter {
sql_module_instance = "sql"
key = "User-Name"
query = "SELECT SUM(acctsessiontime - GREATEST((%%b -
UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE
username='%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime
> '%%b'"
reset = "monthly"
counter_name = "Monthly-Session-Time"
check_name = "Max-Monthly-Session"
reply_name = "Session-Timeout"
}
# Loading module "noresetcounter" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
sqlcounter noresetcounter {
sql_module_instance = "sql"
key = "User-Name"
query = "SELECT IFNULL(SUM(AcctSessionTime),0) FROM radacct WHERE
UserName='%{User-Name}'"
reset = "never"
counter_name = "Max-All-Session-Time"
check_name = "Max-All-Session"
reply_name = "Session-Timeout"
}
# Loading module "expire_on_login" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
sqlcounter expire_on_login {
sql_module_instance = "sql"
key = "User-Name"
query = "SELECT IFNULL( MAX(TIME_TO_SEC(TIMEDIFF(NOW(),
acctstarttime))),0) FROM radacct WHERE UserName='%{User-Name}' ORDER BY
acctstarttime LIMIT 1;"
reset = "never"
counter_name = "Expire-After-Initial-Login"
check_name = "Expire-After"
reply_name = "Session-Timeout"
}
# 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_radutmp
# Loading module "radutmp" from file
/etc/freeradius/3.0/mods-enabled/radutmp
radutmp {
filename = "/var/log/freeradius/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 384
caller_id = yes
}
# Loaded module rlm_detail
# Loading module "auth_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
detail auth_log {
filename =
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "reply_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
detail reply_log {
filename =
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "pre_proxy_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
detail pre_proxy_log {
filename =
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "post_proxy_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
detail post_proxy_log {
filename =
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loaded module rlm_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_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_expr
# Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
expr {
safe_characters =
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_:
/äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
# Loaded module rlm_eap
# Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
eap {
default_eap_type = "md5"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 16384
}
# Loaded module rlm_replicate
# Loading module "replicate" from file
/etc/freeradius/3.0/mods-enabled/replicate
# 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_digest
# Loading module "digest" from file
/etc/freeradius/3.0/mods-enabled/digest
# 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
}
# 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_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_pap
# Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
pap {
normalise = yes
}
# Loaded module rlm_chap
# Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
# Loaded module rlm_unpack
# Loading module "unpack" from file
/etc/freeradius/3.0/mods-enabled/unpack
# 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_expiration
# Loading module "expiration" from file
/etc/freeradius/3.0/mods-enabled/expiration
# 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
# Loaded module rlm_sql
# Loading module "sql" from file /etc/freeradius/3.0/mods-enabled/sql
sql {
driver = "rlm_sql_mysql"
server = "localhost"
port = 0
login = "radius"
password = <<< secret >>>
radius_db = "radius"
read_groups = yes
read_profiles = yes
read_clients = yes
delete_stale_sessions = yes
sql_user_name = "%{User-Name}"
default_user_profile = ""
client_query = "SELECT id, nasname, shortname, type, secret, server FROM
nas"
authorize_check_query = "SELECT id, username, attribute, value, op FROM
radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id"
authorize_reply_query = "SELECT id, username, attribute, value, op FROM
radreply WHERE username = '%{SQL-User-Name}' ORDER BY id"
authorize_group_check_query = "SELECT id, groupname, attribute, Value, op
FROM radgroupcheck WHERE groupname = '%{SQL-Group}' ORDER BY id"
authorize_group_reply_query = "SELECT id, groupname, attribute, value, op
FROM radgroupreply WHERE groupname = '%{SQL-Group}' ORDER BY id"
group_membership_query = "SELECT groupname FROM radusergroup WHERE
username = '%{SQL-User-Name}' ORDER BY priority"
simul_count_query = "SELECT COUNT(*) FROM radacct WHERE username =
'%{SQL-User-Name}' AND acctstoptime IS NULL"
simul_verify_query = "SELECT radacctid, acctsessionid, username,
nasipaddress, nasportid, framedipaddress, callingstationid, framedprotocol
FROM radacct WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL"
safe_characters =
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
accounting {
reference = "%{tolower:type.%{Acct-Status-Type}.query}"
type {
accounting-on {
query = "UPDATE radacct SET acctstoptime =
FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime =
'%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(acctstarttime),
acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE
acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND
acctstarttime <= FROM_UNIXTIME(%{integer:Event-Timestamp})"
}
accounting-off {
query = "UPDATE radacct SET acctstoptime =
FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime =
'%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(acctstarttime),
acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE
acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND
acctstarttime <= FROM_UNIXTIME(%{integer:Event-Timestamp})"
}
start {
query = "INSERT INTO radacct (acctsessionid, acctuniqueid, username,
realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctupdatetime,
acctstoptime, acctsessiontime, acctauthentic, connectinfo_start,
connectinfo_stop,
acctinputoctets, acctoutputoctets, calledstationid, callingstationid,
acctterminatecause, servicetype, framedprotocol, framedipaddress) VALUES
('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}',
'%{Realm}', '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}',
'%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp}),
FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '0', '%{Acct-Authentic}',
'%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}',
'%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}',
'%{Framed-IP-Address}')"
}
interim-update {
query = "UPDATE radacct SET acctupdatetime =
(@acctupdatetime_old:=acctupdatetime), acctupdatetime =
FROM_UNIXTIME(%{integer:Event-Timestamp}), acctinterval =
%{integer:Event-Timestamp} - UNIX_TIMESTAMP(@acctupdatetime_old),
framedipaddress = '%{Framed-IP-Address}', acctsessiontime =
%{%{Acct-Session-Time}:-NULL}, acctinputoctets =
'%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}',
acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 |
'%{%{Acct-Output-Octets}:-0}' WHERE AcctUniqueId =
'%{Acct-Unique-Session-Id}'"
}
stop {
query = "UPDATE radacct SET acctstoptime =
FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime =
%{%{Acct-Session-Time}:-NULL}, acctinputoctets =
'%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}',
acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 |
'%{%{Acct-Output-Octets}:-0}', acctterminatecause =
'%{Acct-Terminate-Cause}', connectinfo_stop = '%{Connect-Info}' WHERE
AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
}
}
post-auth {
reference = ".query"
query = "INSERT INTO radpostauth (username, pass, reply, authdate)
VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}',
'%{reply:Packet-Type}', '%S')"
}
}
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
Creating attribute SQL-Group
# Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec
exec {
wait = no
input_pairs = "request"
shell_escape = yes
timeout = 10
}
instantiate {
# Instantiating module "dailycounter" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Next reset
1550530800 [2019-02-19 00:00:00]
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Prev reset
1550444400 [2019-02-18 00:00:00]
}
# 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 "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
# Instantiating module "monthlycounter" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Next reset
1551394800 [2019-03-01 00:00:00]
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Prev reset
1548975600 [2019-02-01 00:00:00]
# Instantiating module "noresetcounter" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Next reset
0 [2019-02-18 12:00:00]
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Prev reset
0 [2019-02-18 12:00:00]
# Instantiating module "expire_on_login" from file
/etc/freeradius/3.0/mods-enabled/sqlcounter
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Next reset
0 [2019-02-18 12:00:00]
rlm_sqlcounter: Current Time: 1550488138 [2019-02-18 12:08:58], Prev reset
0 [2019-02-18 12:00:00]
# 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 "auth_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in
detail output
# Instantiating module "reply_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
# Instantiating module "pre_proxy_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
# Instantiating module "post_proxy_log" from file
/etc/freeradius/3.0/mods-enabled/detail.log
# Instantiating module "reject" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "fail" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "ok" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "handled" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "invalid" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "userlock" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "notfound" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "noop" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "updated" from file
/etc/freeradius/3.0/mods-enabled/always
# Instantiating module "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 "eap" from file
/etc/freeradius/3.0/mods-enabled/eap
# Linked to sub-module rlm_eap_md5
# Linked to sub-module rlm_eap_leap
# Linked to sub-module rlm_eap_gtc
gtc {
challenge = "Password: "
auth_type = "PAP"
}
# Linked to sub-module rlm_eap_tls
tls {
tls = "tls-common"
}
tls-config tls-common {
verify_depth = 0
ca_path = "/etc/freeradius/3.0/certs"
pem_file_type = yes
private_key_file = "/etc/ssl/private/ssl-cert-snakeoil.key"
certificate_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem"
ca_file = "/etc/ssl/certs/ca-certificates.crt"
private_key_password = <<< secret >>>
dh_file = "/etc/freeradius/3.0/certs/dh"
fragment_size = 1024
include_length = yes
auto_chain = yes
check_crl = no
check_all_crl = no
cipher_list = "DEFAULT"
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_ttls
ttls {
tls = "tls-common"
default_eap_type = "md5"
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
include_length = yes
require_client_cert = no
}
tls: Using cached TLS configuration from previous invocation
# Linked to sub-module rlm_eap_peap
peap {
tls = "tls-common"
default_eap_type = "mschapv2"
copy_request_to_tunnel = no
use_tunneled_reply = no
proxy_tunneled_request_as_eap = yes
virtual_server = "inner-tunnel"
soh = no
require_client_cert = no
}
tls: Using cached TLS configuration from previous invocation
# Linked to sub-module rlm_eap_mschapv2
mschapv2 {
with_ntdomain_hack = no
send_error = no
}
# Instantiating module "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 "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 "pap" from file
/etc/freeradius/3.0/mods-enabled/pap
# Instantiating module "expiration" from file
/etc/freeradius/3.0/mods-enabled/expiration
# Instantiating module "detail" from file
/etc/freeradius/3.0/mods-enabled/detail
# Instantiating module "sql" from file
/etc/freeradius/3.0/mods-enabled/sql
rlm_sql_mysql: libmysql version: 10.1.37-MariaDB
mysql {
tls {
}
warnings = "auto"
}
rlm_sql (sql): Attempting to connect to database "radius"
rlm_sql (sql): Initialising connection pool
pool {
start = 5
min = 3
max = 32
spare = 10
uses = 0
lifetime = 0
cleanup_interval = 30
idle_timeout = 60
retry_delay = 30
spread = no
}
rlm_sql (sql): Opening additional connection (0), 1 of 32 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
rlm_sql (sql): Opening additional connection (1), 1 of 31 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
rlm_sql (sql): Opening additional connection (2), 1 of 30 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
rlm_sql (sql): Opening additional connection (3), 1 of 29 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
rlm_sql (sql): Opening additional connection (4), 1 of 28 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname,
shortname, type, secret, server FROM nas
rlm_sql (sql): Reserved connection (0)
rlm_sql (sql): Executing select query: SELECT id, nasname, shortname, type,
secret, server FROM nas
rlm_sql (sql): Adding client 192.168.1.1 (my-AP-1) to global clients list
rlm_sql (192.168.1.1): Client "my-AP-1" (sql) added
rlm_sql (sql): Adding client 192.168.1.2 (my-AP-2) to global clients list
rlm_sql (192.168.1.2): Client "my-AP-2" (sql) added
rlm_sql (sql): Released connection (0)
rlm_sql (sql): Need 5 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (5), 1 of 27 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
} # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/freeradius/3.0/radiusd.conf
} # server
server coa { # from file /etc/freeradius/3.0/sites-enabled/coa
# Loading recv-coa {...}
# Loading send-coa {...}
} # server coa
server inner-tunnel { # from file
/etc/freeradius/3.0/sites-enabled/inner-tunnel
# Loading authenticate {...}
# Loading authorize {...}
Ignoring "ldap" (see raddb/mods-available/README.rst)
# Loading session {...}
# Loading post-proxy {...}
# Loading post-auth {...}
} # server inner-tunnel
server default { # from file /etc/freeradius/3.0/sites-enabled/default
# Loading authenticate {...}
# Loading authorize {...}
# Loading preacct {...}
# Loading accounting {...}
# Loading session {...}
# Loading post-proxy {...}
# Loading post-auth {...}
} # server default
radiusd: #### Opening IP addresses and Ports ####
listen {
type = "coa"
virtual_server = "coa"
ipaddr = 192.168.1.23
port = 3799
}
listen {
type = "auth"
ipaddr = 127.0.0.1
port = 18120
}
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
}
}
Listening on coa address 192.168.1.23 port 3799 bound to server coa
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
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 proxy address * port 45765
Listening on proxy address :: port 60911
Ready to process requests
(0) Received Access-Request Id 213 from 192.168.1.1:37800 to
192.168.1.23:1812 length 218
(0) User-Name = "vlado"
(0) NAS-Identifier = "XXXXXXXXXXXX"
(0) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(0) NAS-Port-Type = Wireless-802.11
(0) Service-Type = Framed-User
(0) NAS-Port = 1
(0) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(0) Connect-Info = "CONNECT 54Mbps 802.11a"
(0) Acct-Session-Id = "AF67C8444C73C070"
(0) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(0) WLAN-Pairwise-Cipher = 1027076
(0) WLAN-Group-Cipher = 1027076
(0) WLAN-AKM-Suite = 1027073
(0) Framed-MTU = 1400
(0) EAP-Message = 0x02e8000a01766c61646f
(0) Message-Authenticator = 0x2e82a80e87c474ff358305ccf90d4269
(0) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(0) authorize {
(0) policy rewrite_calling_station_id {
(0) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(0) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(0) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(0) update request {
(0) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(0) --> YY-YY-YY-YY-YY-YY
(0) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(0) } # update request = noop
(0) [updated] = updated
(0) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(0) ... skipping else: Preceding "if" was taken
(0) } # policy rewrite_calling_station_id = updated
(0) policy filter_username {
(0) if (&User-Name) {
(0) if (&User-Name) -> TRUE
(0) if (&User-Name) {
(0) if (&User-Name =~ / /) {
(0) if (&User-Name =~ / /) -> FALSE
(0) if (&User-Name =~ /@[^@]*@/ ) {
(0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(0) if (&User-Name =~ /\.\./ ) {
(0) if (&User-Name =~ /\.\./ ) -> FALSE
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /(a)\./) {
(0) if (&User-Name =~ /(a)\./) -> FALSE
(0) } # if (&User-Name) = updated
(0) } # policy filter_username = updated
(0) [preprocess] = ok
(0) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(0) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(0) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(0) auth_log: EXPAND %t
(0) auth_log: --> Mon Feb 18 12:10:05 2019
(0) [auth_log] = ok
(0) [chap] = noop
(0) [mschap] = noop
(0) [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) eap: Peer sent EAP Response (code 2) ID 232 length 10
(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_md5 to process data
(0) eap_md5: Issuing MD5 Challenge
(0) eap: Sending EAP Request (code 1) ID 233 length 22
(0) eap: EAP session adding &reply:State = 0x72f87ed472117a13
(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 213 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(0) EAP-Message = 0x01e9001604103568f042ea3ee1fb5c2c64384f4cf9f3
(0) Message-Authenticator = 0x00000000000000000000000000000000
(0) State = 0x72f87ed472117a139eb6154612f031f0
(0) Finished request
Waking up in 4.9 seconds.
(1) Received Access-Request Id 214 from 192.168.1.1:37800 to
192.168.1.23:1812 length 232
(1) User-Name = "vlado"
(1) NAS-Identifier = "XXXXXXXXXXXX"
(1) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(1) NAS-Port-Type = Wireless-802.11
(1) Service-Type = Framed-User
(1) NAS-Port = 1
(1) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(1) Connect-Info = "CONNECT 54Mbps 802.11a"
(1) Acct-Session-Id = "AF67C8444C73C070"
(1) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(1) WLAN-Pairwise-Cipher = 1027076
(1) WLAN-Group-Cipher = 1027076
(1) WLAN-AKM-Suite = 1027073
(1) Framed-MTU = 1400
(1) EAP-Message = 0x02e900060319
(1) State = 0x72f87ed472117a139eb6154612f031f0
(1) Message-Authenticator = 0xf2ddb60c0cda5cf7a5a46e2d28797d3b
(1) session-state: No cached attributes
(1) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(1) authorize {
(1) policy rewrite_calling_station_id {
(1) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(1) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(1) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(1) update request {
(1) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(1) --> YY-YY-YY-YY-YY-YY
(1) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(1) } # update request = noop
(1) [updated] = updated
(1) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(1) ... skipping else: Preceding "if" was taken
(1) } # policy rewrite_calling_station_id = updated
(1) policy filter_username {
(1) if (&User-Name) {
(1) if (&User-Name) -> TRUE
(1) if (&User-Name) {
(1) if (&User-Name =~ / /) {
(1) if (&User-Name =~ / /) -> FALSE
(1) if (&User-Name =~ /@[^@]*@/ ) {
(1) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(1) if (&User-Name =~ /\.\./ ) {
(1) if (&User-Name =~ /\.\./ ) -> FALSE
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(1) if (&User-Name =~ /\.$/) {
(1) if (&User-Name =~ /\.$/) -> FALSE
(1) if (&User-Name =~ /(a)\./) {
(1) if (&User-Name =~ /(a)\./) -> FALSE
(1) } # if (&User-Name) = updated
(1) } # policy filter_username = updated
(1) [preprocess] = ok
(1) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(1) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(1) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(1) auth_log: EXPAND %t
(1) auth_log: --> Mon Feb 18 12:10:05 2019
(1) [auth_log] = ok
(1) [chap] = noop
(1) [mschap] = noop
(1) [digest] = noop
(1) suffix: Checking for suffix after "@"
(1) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(1) suffix: No such realm "NULL"
(1) [suffix] = noop
(1) eap: Peer sent EAP Response (code 2) ID 233 length 6
(1) eap: No EAP Start, assuming it's an on-going EAP conversation
(1) [eap] = updated
(1) [files] = noop
(1) sql: EXPAND %{User-Name}
(1) sql: --> vlado
(1) sql: SQL-User-Name set to 'vlado'
rlm_sql (sql): Closing connection (1): Hit idle_timeout, was idle for 67
seconds
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing connection (2): Hit idle_timeout, was idle for 67
seconds
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing connection (3): Hit idle_timeout, was idle for 67
seconds
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing connection (4): Hit idle_timeout, was idle for 67
seconds
rlm_sql (sql): You probably need to lower "min"
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing connection (0): Hit idle_timeout, was idle for 67
seconds
rlm_sql (sql): You probably need to lower "min"
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing connection (5): Hit idle_timeout, was idle for 67
seconds
rlm_sql (sql): You probably need to lower "min"
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): 0 of 0 connections in use. You may need to increase "spare"
rlm_sql (sql): Opening additional connection (6), 1 of 32 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
rlm_sql (sql): Reserved connection (6)
(1) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck
WHERE username = '%{SQL-User-Name}' ORDER BY id
(1) sql: --> SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'vlado' ORDER BY id
(1) sql: Executing select query: SELECT id, username, attribute, value, op
FROM radcheck WHERE username = 'vlado' ORDER BY id
(1) sql: User found in radcheck table
(1) sql: Conditional check items matched, merging assignment check items
(1) sql: Cleartext-Password := "hello"
(1) sql: Login-Time := "Al0001-2359"
(1) sql: EXPAND SELECT id, username, attribute, value, op FROM radreply
WHERE username = '%{SQL-User-Name}' ORDER BY id
(1) sql: --> SELECT id, username, attribute, value, op FROM radreply
WHERE username = 'vlado' ORDER BY id
(1) sql: Executing select query: SELECT id, username, attribute, value, op
FROM radreply WHERE username = 'vlado' ORDER BY id
(1) sql: EXPAND SELECT groupname FROM radusergroup WHERE username =
'%{SQL-User-Name}' ORDER BY priority
(1) sql: --> SELECT groupname FROM radusergroup WHERE username = 'vlado'
ORDER BY priority
(1) sql: Executing select query: SELECT groupname FROM radusergroup WHERE
username = 'vlado' ORDER BY priority
(1) sql: User not found in any groups
rlm_sql (sql): Released connection (6)
rlm_sql (sql): Need 2 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (7), 1 of 31 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
(1) [sql] = ok
(1) [expiration] = noop
(1) logintime: Checking Login-Time
(1) logintime: Login within allowed time-slot, 42600 seconds left in this
session
(1) logintime: reply:Session-Timeout set to 42600
(1) [logintime] = updated
(1) dailycounter: WARNING: Couldn't find check attribute,
control:Max-Daily-Session, doing nothing...
(1) [dailycounter] = noop
(1) noresetcounter: WARNING: Couldn't find check attribute,
control:Max-All-Session, doing nothing...
(1) [noresetcounter] = noop
(1) monthlycounter: WARNING: Couldn't find check attribute,
control:Max-Monthly-Session, doing nothing...
(1) [monthlycounter] = noop
(1) expire_on_login: WARNING: Couldn't find check attribute,
control:Expire-After, doing nothing...
(1) [expire_on_login] = noop
(1) pap: WARNING: Auth-Type already set. Not setting to PAP
(1) [pap] = noop
(1) } # authorize = updated
(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 0x72f87ed472117a13
(1) eap: Finished EAP session with state 0x72f87ed472117a13
(1) eap: Previous EAP request found for state 0x72f87ed472117a13, released
from the list
(1) eap: Peer sent packet with method EAP NAK (3)
(1) eap: Found mutually acceptable type PEAP (25)
(1) eap: Calling submodule eap_peap to process data
(1) eap_peap: Initiating new EAP-TLS session
(1) eap_peap: [eaptls start] = request
(1) eap: Sending EAP Request (code 1) ID 234 length 6
(1) eap: EAP session adding &reply:State = 0x72f87ed473126713
(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 214 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(1) Session-Timeout = 42600
(1) EAP-Message = 0x01ea00061920
(1) Message-Authenticator = 0x00000000000000000000000000000000
(1) State = 0x72f87ed4731267139eb6154612f031f0
(1) Finished request
Waking up in 4.9 seconds.
(2) Received Access-Request Id 215 from 192.168.1.1:37800 to
192.168.1.23:1812 length 401
(2) User-Name = "vlado"
(2) NAS-Identifier = "XXXXXXXXXXXX"
(2) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(2) NAS-Port-Type = Wireless-802.11
(2) Service-Type = Framed-User
(2) NAS-Port = 1
(2) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(2) Connect-Info = "CONNECT 54Mbps 802.11a"
(2) Acct-Session-Id = "AF67C8444C73C070"
(2) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(2) WLAN-Pairwise-Cipher = 1027076
(2) WLAN-Group-Cipher = 1027076
(2) WLAN-AKM-Suite = 1027073
(2) Framed-MTU = 1400
(2) EAP-Message =
0x02ea00af1980000000a516030100a00100009c0303eaa3b599563fcd1ba078d86740a309e828e36d76930515184f300dfce8d92fcb00003ec02cc030009fc02bc02f009ecca9cca8c00ac024c014c0280039006bc009c023c013c02700330067c007c011009d009c0035003d002f003c00050004000a01
(2) State = 0x72f87ed4731267139eb6154612f031f0
(2) Message-Authenticator = 0x119fc3945c0c063c3b00fdae1774d78a
(2) session-state: No cached attributes
(2) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(2) authorize {
(2) policy rewrite_calling_station_id {
(2) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(2) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(2) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(2) update request {
(2) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(2) --> YY-YY-YY-YY-YY-YY
(2) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(2) } # update request = noop
(2) [updated] = updated
(2) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(2) ... skipping else: Preceding "if" was taken
(2) } # policy rewrite_calling_station_id = updated
(2) policy filter_username {
(2) if (&User-Name) {
(2) if (&User-Name) -> TRUE
(2) if (&User-Name) {
(2) if (&User-Name =~ / /) {
(2) if (&User-Name =~ / /) -> FALSE
(2) if (&User-Name =~ /@[^@]*@/ ) {
(2) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(2) if (&User-Name =~ /\.\./ ) {
(2) if (&User-Name =~ /\.\./ ) -> FALSE
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(2) if (&User-Name =~ /\.$/) {
(2) if (&User-Name =~ /\.$/) -> FALSE
(2) if (&User-Name =~ /(a)\./) {
(2) if (&User-Name =~ /(a)\./) -> FALSE
(2) } # if (&User-Name) = updated
(2) } # policy filter_username = updated
(2) [preprocess] = ok
(2) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(2) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(2) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(2) auth_log: EXPAND %t
(2) auth_log: --> Mon Feb 18 12:10:05 2019
(2) [auth_log] = ok
(2) [chap] = noop
(2) [mschap] = noop
(2) [digest] = noop
(2) suffix: Checking for suffix after "@"
(2) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(2) suffix: No such realm "NULL"
(2) [suffix] = noop
(2) eap: Peer sent EAP Response (code 2) ID 234 length 175
(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 0x72f87ed473126713
(2) eap: Finished EAP session with state 0x72f87ed473126713
(2) eap: Previous EAP request found for state 0x72f87ed473126713, 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 indicated complete TLS record size will be 165 bytes
(2) eap_peap: Got complete TLS record (165 bytes)
(2) eap_peap: [eaptls verify] = length included
(2) eap_peap: (other): before SSL initialization
(2) eap_peap: TLS_accept: before SSL initialization
(2) eap_peap: TLS_accept: before SSL initialization
(2) eap_peap: <<< recv TLS 1.2 [length 00a0]
(2) eap_peap: TLS_accept: SSLv3/TLS read client hello
(2) eap_peap: >>> send TLS 1.2 [length 003d]
(2) eap_peap: TLS_accept: SSLv3/TLS write server hello
(2) eap_peap: >>> send TLS 1.2 [length 02d9]
(2) eap_peap: TLS_accept: SSLv3/TLS write certificate
(2) eap_peap: >>> send TLS 1.2 [length 014d]
(2) eap_peap: TLS_accept: SSLv3/TLS write key exchange
(2) eap_peap: >>> send TLS 1.2 [length 0004]
(2) eap_peap: TLS_accept: SSLv3/TLS write server done
(2) eap_peap: TLS_accept: Need to read more data: SSLv3/TLS write server
done
(2) eap_peap: In SSL Handshake Phase
(2) eap_peap: In SSL Accept mode
(2) eap_peap: [eaptls process] = handled
(2) eap: Sending EAP Request (code 1) ID 235 length 1004
(2) eap: EAP session adding &reply:State = 0x72f87ed470136713
(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 215 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(2) EAP-Message =
0x01eb03ec19c00000047b160303003d0200003903038a4f2b5bcf454e0f1ca23649b4b63a6867795d2cd2b550117338a7d2ed231fd400c030000011ff01000100000b0004030001020017000016030302d90b0002d50002d20002cf308202cb308201b3a003020102020900d563010a5c094c7a300d0609
(2) Message-Authenticator = 0x00000000000000000000000000000000
(2) State = 0x72f87ed4701367139eb6154612f031f0
(2) Finished request
Waking up in 4.9 seconds.
(3) Received Access-Request Id 216 from 192.168.1.1:37800 to
192.168.1.23:1812 length 232
(3) User-Name = "vlado"
(3) NAS-Identifier = "XXXXXXXXXXXX"
(3) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(3) NAS-Port-Type = Wireless-802.11
(3) Service-Type = Framed-User
(3) NAS-Port = 1
(3) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(3) Connect-Info = "CONNECT 54Mbps 802.11a"
(3) Acct-Session-Id = "AF67C8444C73C070"
(3) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(3) WLAN-Pairwise-Cipher = 1027076
(3) WLAN-Group-Cipher = 1027076
(3) WLAN-AKM-Suite = 1027073
(3) Framed-MTU = 1400
(3) EAP-Message = 0x02eb00061900
(3) State = 0x72f87ed4701367139eb6154612f031f0
(3) Message-Authenticator = 0xe988e5e3b0eecd7634d90c8ce3cc53f0
(3) session-state: No cached attributes
(3) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(3) authorize {
(3) policy rewrite_calling_station_id {
(3) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(3) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(3) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(3) update request {
(3) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(3) --> YY-YY-YY-YY-YY-YY
(3) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(3) } # update request = noop
(3) [updated] = updated
(3) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(3) ... skipping else: Preceding "if" was taken
(3) } # policy rewrite_calling_station_id = updated
(3) policy filter_username {
(3) if (&User-Name) {
(3) if (&User-Name) -> TRUE
(3) if (&User-Name) {
(3) if (&User-Name =~ / /) {
(3) if (&User-Name =~ / /) -> FALSE
(3) if (&User-Name =~ /@[^@]*@/ ) {
(3) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(3) if (&User-Name =~ /\.\./ ) {
(3) if (&User-Name =~ /\.\./ ) -> FALSE
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(3) if (&User-Name =~ /\.$/) {
(3) if (&User-Name =~ /\.$/) -> FALSE
(3) if (&User-Name =~ /(a)\./) {
(3) if (&User-Name =~ /(a)\./) -> FALSE
(3) } # if (&User-Name) = updated
(3) } # policy filter_username = updated
(3) [preprocess] = ok
(3) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(3) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(3) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(3) auth_log: EXPAND %t
(3) auth_log: --> Mon Feb 18 12:10:05 2019
(3) [auth_log] = ok
(3) [chap] = noop
(3) [mschap] = noop
(3) [digest] = noop
(3) suffix: Checking for suffix after "@"
(3) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(3) suffix: No such realm "NULL"
(3) [suffix] = noop
(3) eap: Peer sent EAP Response (code 2) ID 235 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 0x72f87ed470136713
(3) eap: Finished EAP session with state 0x72f87ed470136713
(3) eap: Previous EAP request found for state 0x72f87ed470136713, 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 236 length 159
(3) eap: EAP session adding &reply:State = 0x72f87ed471146713
(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 216 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(3) EAP-Message =
0x01ec009f1900115390b7e7dd47f66d3ae488019fc8804d0399d9e67a12b95d8f0bd2d25e776416884eacacc12637275a5efd123651cd92cce732752b76e1f2752d72a7e2598d1e626bef5e8eb96d8003db7653c3d57aab18ece54cdf092ed03f0822fa5bcb0e13516423f6d4e27766d97d5a05711d4ca4
(3) Message-Authenticator = 0x00000000000000000000000000000000
(3) State = 0x72f87ed4711467139eb6154612f031f0
(3) Finished request
Waking up in 4.8 seconds.
(4) Received Access-Request Id 217 from 192.168.1.1:37800 to
192.168.1.23:1812 length 362
(4) User-Name = "vlado"
(4) NAS-Identifier = "XXXXXXXXXXXX"
(4) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(4) NAS-Port-Type = Wireless-802.11
(4) Service-Type = Framed-User
(4) NAS-Port = 1
(4) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(4) Connect-Info = "CONNECT 54Mbps 802.11a"
(4) Acct-Session-Id = "AF67C8444C73C070"
(4) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(4) WLAN-Pairwise-Cipher = 1027076
(4) WLAN-Group-Cipher = 1027076
(4) WLAN-AKM-Suite = 1027073
(4) Framed-MTU = 1400
(4) EAP-Message =
0x02ec008819800000007e160303004610000042410489751519213749814a2f16a22ddf7c3871bef4c8a04849de481447fdb0f27e984de8f161d520398b6ac123778797919a08b1265e29ce50a9489c17896b08e2041403030001011603030028000000000000000025b4e5927cab6acbd7df7d0ddbeec2
(4) State = 0x72f87ed4711467139eb6154612f031f0
(4) Message-Authenticator = 0x214c0b000ffde962cde065d3d29cedcf
(4) session-state: No cached attributes
(4) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(4) authorize {
(4) policy rewrite_calling_station_id {
(4) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(4) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(4) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(4) update request {
(4) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(4) --> YY-YY-YY-YY-YY-YY
(4) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(4) } # update request = noop
(4) [updated] = updated
(4) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(4) ... skipping else: Preceding "if" was taken
(4) } # policy rewrite_calling_station_id = updated
(4) policy filter_username {
(4) if (&User-Name) {
(4) if (&User-Name) -> TRUE
(4) if (&User-Name) {
(4) if (&User-Name =~ / /) {
(4) if (&User-Name =~ / /) -> FALSE
(4) if (&User-Name =~ /@[^@]*@/ ) {
(4) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(4) if (&User-Name =~ /\.\./ ) {
(4) if (&User-Name =~ /\.\./ ) -> FALSE
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(4) if (&User-Name =~ /\.$/) {
(4) if (&User-Name =~ /\.$/) -> FALSE
(4) if (&User-Name =~ /(a)\./) {
(4) if (&User-Name =~ /(a)\./) -> FALSE
(4) } # if (&User-Name) = updated
(4) } # policy filter_username = updated
(4) [preprocess] = ok
(4) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(4) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(4) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(4) auth_log: EXPAND %t
(4) auth_log: --> Mon Feb 18 12:10:05 2019
(4) [auth_log] = ok
(4) [chap] = noop
(4) [mschap] = noop
(4) [digest] = noop
(4) suffix: Checking for suffix after "@"
(4) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(4) suffix: No such realm "NULL"
(4) [suffix] = noop
(4) eap: Peer sent EAP Response (code 2) ID 236 length 136
(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 0x72f87ed471146713
(4) eap: Finished EAP session with state 0x72f87ed471146713
(4) eap: Previous EAP request found for state 0x72f87ed471146713, 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 indicated complete TLS record size will be 126 bytes
(4) eap_peap: Got complete TLS record (126 bytes)
(4) eap_peap: [eaptls verify] = length included
(4) eap_peap: TLS_accept: SSLv3/TLS write server done
(4) eap_peap: <<< recv TLS 1.2 [length 0046]
(4) eap_peap: TLS_accept: SSLv3/TLS read client key exchange
(4) eap_peap: TLS_accept: SSLv3/TLS read change cipher spec
(4) eap_peap: <<< recv TLS 1.2 [length 0010]
(4) eap_peap: TLS_accept: SSLv3/TLS read finished
(4) eap_peap: >>> send TLS 1.2 [length 0001]
(4) eap_peap: TLS_accept: SSLv3/TLS write change cipher spec
(4) eap_peap: >>> send TLS 1.2 [length 0010]
(4) eap_peap: TLS_accept: SSLv3/TLS write finished
(4) eap_peap: (other): SSL negotiation finished successfully
(4) eap_peap: SSL Connection Established
(4) eap_peap: [eaptls process] = handled
(4) eap: Sending EAP Request (code 1) ID 237 length 57
(4) eap: EAP session adding &reply:State = 0x72f87ed476156713
(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 217 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(4) EAP-Message =
0x01ed003919001403030001011603030028eb7c72f8ba2aae832999f4aad001fe694c41561ea194a9204a4cbb6845c0430bf618ff325a567172
(4) Message-Authenticator = 0x00000000000000000000000000000000
(4) State = 0x72f87ed4761567139eb6154612f031f0
(4) Finished request
Waking up in 4.8 seconds.
(5) Received Access-Request Id 218 from 192.168.1.1:37800 to
192.168.1.23:1812 length 232
(5) User-Name = "vlado"
(5) NAS-Identifier = "XXXXXXXXXXXX"
(5) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(5) NAS-Port-Type = Wireless-802.11
(5) Service-Type = Framed-User
(5) NAS-Port = 1
(5) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(5) Connect-Info = "CONNECT 54Mbps 802.11a"
(5) Acct-Session-Id = "AF67C8444C73C070"
(5) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(5) WLAN-Pairwise-Cipher = 1027076
(5) WLAN-Group-Cipher = 1027076
(5) WLAN-AKM-Suite = 1027073
(5) Framed-MTU = 1400
(5) EAP-Message = 0x02ed00061900
(5) State = 0x72f87ed4761567139eb6154612f031f0
(5) Message-Authenticator = 0xa5c1466d0dfd1aec8355ddf82ff8f2fc
(5) session-state: No cached attributes
(5) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(5) authorize {
(5) policy rewrite_calling_station_id {
(5) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(5) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(5) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(5) update request {
(5) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(5) --> YY-YY-YY-YY-YY-YY
(5) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(5) } # update request = noop
(5) [updated] = updated
(5) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(5) ... skipping else: Preceding "if" was taken
(5) } # policy rewrite_calling_station_id = updated
(5) policy filter_username {
(5) if (&User-Name) {
(5) if (&User-Name) -> TRUE
(5) if (&User-Name) {
(5) if (&User-Name =~ / /) {
(5) if (&User-Name =~ / /) -> FALSE
(5) if (&User-Name =~ /@[^@]*@/ ) {
(5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(5) if (&User-Name =~ /\.\./ ) {
(5) if (&User-Name =~ /\.\./ ) -> FALSE
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(5) if (&User-Name =~ /\.$/) {
(5) if (&User-Name =~ /\.$/) -> FALSE
(5) if (&User-Name =~ /(a)\./) {
(5) if (&User-Name =~ /(a)\./) -> FALSE
(5) } # if (&User-Name) = updated
(5) } # policy filter_username = updated
(5) [preprocess] = ok
(5) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(5) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(5) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(5) auth_log: EXPAND %t
(5) auth_log: --> Mon Feb 18 12:10:06 2019
(5) [auth_log] = ok
(5) [chap] = noop
(5) [mschap] = noop
(5) [digest] = noop
(5) suffix: Checking for suffix after "@"
(5) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(5) suffix: No such realm "NULL"
(5) [suffix] = noop
(5) eap: Peer sent EAP Response (code 2) ID 237 length 6
(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 0x72f87ed476156713
(5) eap: Finished EAP session with state 0x72f87ed476156713
(5) eap: Previous EAP request found for state 0x72f87ed476156713, 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 ACKed our handshake fragment. handshake is finished
(5) eap_peap: [eaptls verify] = success
(5) eap_peap: [eaptls process] = success
(5) eap_peap: Session established. Decoding tunneled attributes
(5) eap_peap: PEAP state TUNNEL ESTABLISHED
(5) eap: Sending EAP Request (code 1) ID 238 length 40
(5) eap: EAP session adding &reply:State = 0x72f87ed477166713
(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 218 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(5) EAP-Message =
0x01ee00281900170303001deb7c72f8ba2aae84b6857b3fe93ac82aebfddad9f4d723a24c8c8a6e5b
(5) Message-Authenticator = 0x00000000000000000000000000000000
(5) State = 0x72f87ed4771667139eb6154612f031f0
(5) Finished request
Waking up in 4.8 seconds.
(6) Received Access-Request Id 219 from 192.168.1.1:37800 to
192.168.1.23:1812 length 267
(6) User-Name = "vlado"
(6) NAS-Identifier = "XXXXXXXXXXXX"
(6) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(6) NAS-Port-Type = Wireless-802.11
(6) Service-Type = Framed-User
(6) NAS-Port = 1
(6) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(6) Connect-Info = "CONNECT 54Mbps 802.11a"
(6) Acct-Session-Id = "AF67C8444C73C070"
(6) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(6) WLAN-Pairwise-Cipher = 1027076
(6) WLAN-Group-Cipher = 1027076
(6) WLAN-AKM-Suite = 1027073
(6) Framed-MTU = 1400
(6) EAP-Message =
0x02ee00291900170303001e0000000000000001021f0a8a3e9d82a7a9a7cc04a61e347203063c9c8532
(6) State = 0x72f87ed4771667139eb6154612f031f0
(6) Message-Authenticator = 0x3c723707d01681afd13962685f819bbf
(6) session-state: No cached attributes
(6) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(6) authorize {
(6) policy rewrite_calling_station_id {
(6) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(6) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(6) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(6) update request {
(6) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(6) --> YY-YY-YY-YY-YY-YY
(6) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(6) } # update request = noop
(6) [updated] = updated
(6) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(6) ... skipping else: Preceding "if" was taken
(6) } # policy rewrite_calling_station_id = updated
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = updated
(6) } # policy filter_username = updated
(6) [preprocess] = ok
(6) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(6) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(6) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(6) auth_log: EXPAND %t
(6) auth_log: --> Mon Feb 18 12:10:06 2019
(6) [auth_log] = ok
(6) [chap] = noop
(6) [mschap] = noop
(6) [digest] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) eap: Peer sent EAP Response (code 2) ID 238 length 41
(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 0x72f87ed477166713
(6) eap: Finished EAP session with state 0x72f87ed477166713
(6) eap: Previous EAP request found for state 0x72f87ed477166713, released
from the list
(6) eap: Peer sent packet with method EAP PEAP (25)
(6) eap: Calling submodule eap_peap to process data
(6) eap_peap: Continuing EAP-TLS
(6) eap_peap: [eaptls verify] = ok
(6) eap_peap: Done initial handshake
(6) eap_peap: [eaptls process] = ok
(6) eap_peap: Session established. Decoding tunneled attributes
(6) eap_peap: PEAP state WAITING FOR INNER IDENTITY
(6) eap_peap: Identity - vlado
(6) eap_peap: Got inner identity 'vlado'
(6) eap_peap: Setting default EAP type for tunneled EAP session
(6) eap_peap: Got tunneled request
(6) eap_peap: EAP-Message = 0x02ee000a01766c61646f
(6) eap_peap: Setting User-Name to vlado
(6) eap_peap: Sending tunneled request to inner-tunnel
(6) eap_peap: EAP-Message = 0x02ee000a01766c61646f
(6) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(6) eap_peap: User-Name = "vlado"
(6) Virtual server inner-tunnel received request
(6) EAP-Message = 0x02ee000a01766c61646f
(6) FreeRADIUS-Proxied-To = 127.0.0.1
(6) User-Name = "vlado"
(6) WARNING: Outer and inner identities are the same. User privacy is
compromised.
(6) server inner-tunnel {
(6) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/inner-tunnel
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [chap] = noop
(6) [mschap] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) update control {
(6) &Proxy-To-Realm := LOCAL
(6) } # update control = noop
(6) eap: Peer sent EAP Response (code 2) ID 238 length 10
(6) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the
rest of authorize
(6) [eap] = ok
(6) } # authorize = ok
(6) Found Auth-Type = eap
(6) # Executing group from file
/etc/freeradius/3.0/sites-enabled/inner-tunnel
(6) authenticate {
(6) eap: Peer sent packet with method EAP Identity (1)
(6) eap: Calling submodule eap_mschapv2 to process data
(6) eap_mschapv2: Issuing Challenge
(6) eap: Sending EAP Request (code 1) ID 239 length 43
(6) eap: EAP session adding &reply:State = 0x3bd67c043b3966c8
(6) [eap] = handled
(6) } # authenticate = handled
(6) } # server inner-tunnel
(6) Virtual server sending reply
(6) EAP-Message =
0x01ef002b1a01ef0026104d904cab80ac28f62451ea36b597f8f3667265657261646975732d332e302e3132
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0x3bd67c043b3966c8d43c1189a979d5ee
(6) eap_peap: Got tunneled reply code 11
(6) eap_peap: EAP-Message =
0x01ef002b1a01ef0026104d904cab80ac28f62451ea36b597f8f3667265657261646975732d332e302e3132
(6) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(6) eap_peap: State = 0x3bd67c043b3966c8d43c1189a979d5ee
(6) eap_peap: Got tunneled reply RADIUS code 11
(6) eap_peap: EAP-Message =
0x01ef002b1a01ef0026104d904cab80ac28f62451ea36b597f8f3667265657261646975732d332e302e3132
(6) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(6) eap_peap: State = 0x3bd67c043b3966c8d43c1189a979d5ee
(6) eap_peap: Got tunneled Access-Challenge
(6) eap: Sending EAP Request (code 1) ID 239 length 74
(6) eap: EAP session adding &reply:State = 0x72f87ed474176713
(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 219 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(6) EAP-Message =
0x01ef004a1900170303003feb7c72f8ba2aae85077f98646809c57a9697c57afa697aa5cb19515426259aaf4705857b46b19f8c8c600d65c9bc37bec32c93463b24d826dc7b15bacbda80
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0x72f87ed4741767139eb6154612f031f0
(6) Finished request
Waking up in 4.8 seconds.
(7) Received Access-Request Id 220 from 192.168.1.1:37800 to
192.168.1.23:1812 length 321
(7) User-Name = "vlado"
(7) NAS-Identifier = "XXXXXXXXXXXX"
(7) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(7) NAS-Port-Type = Wireless-802.11
(7) Service-Type = Framed-User
(7) NAS-Port = 1
(7) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(7) Connect-Info = "CONNECT 54Mbps 802.11a"
(7) Acct-Session-Id = "AF67C8444C73C070"
(7) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(7) WLAN-Pairwise-Cipher = 1027076
(7) WLAN-Group-Cipher = 1027076
(7) WLAN-AKM-Suite = 1027073
(7) Framed-MTU = 1400
(7) EAP-Message =
0x02ef005f1900170303005400000000000000028d049eddc5bfe9aa9436e98e0c614313c43b433824efb840dc6b717e2392bad8fd494e3d6a1744be4803e9c04853db884927d60e0dc3250825680eadb7623a9f829f0e41d1e8dcd02ad55bff
(7) State = 0x72f87ed4741767139eb6154612f031f0
(7) Message-Authenticator = 0xd87793640ca96c6d3fdbd1654c4e7f03
(7) session-state: No cached attributes
(7) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(7) authorize {
(7) policy rewrite_calling_station_id {
(7) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(7) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(7) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(7) update request {
(7) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(7) --> YY-YY-YY-YY-YY-YY
(7) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(7) } # update request = noop
(7) [updated] = updated
(7) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(7) ... skipping else: Preceding "if" was taken
(7) } # policy rewrite_calling_station_id = updated
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /(a)\./) {
(7) if (&User-Name =~ /(a)\./) -> FALSE
(7) } # if (&User-Name) = updated
(7) } # policy filter_username = updated
(7) [preprocess] = ok
(7) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(7) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(7) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(7) auth_log: EXPAND %t
(7) auth_log: --> Mon Feb 18 12:10:06 2019
(7) [auth_log] = ok
(7) [chap] = noop
(7) [mschap] = noop
(7) [digest] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) eap: Peer sent EAP Response (code 2) ID 239 length 95
(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 0x3bd67c043b3966c8
(7) eap: Finished EAP session with state 0x72f87ed474176713
(7) eap: Previous EAP request found for state 0x72f87ed474176713, released
from the list
(7) eap: Peer sent packet with method EAP PEAP (25)
(7) eap: Calling submodule eap_peap to process data
(7) eap_peap: Continuing EAP-TLS
(7) eap_peap: [eaptls verify] = ok
(7) eap_peap: Done initial handshake
(7) eap_peap: [eaptls process] = ok
(7) eap_peap: Session established. Decoding tunneled attributes
(7) eap_peap: PEAP state phase2
(7) eap_peap: EAP method MSCHAPv2 (26)
(7) eap_peap: Got tunneled request
(7) eap_peap: EAP-Message =
0x02ef00401a02ef003b31d51e1cb57b23c4b8dcd7a4c2d336d68c000000000000000045293309e47d63ab7c4d563bf90ea80c909b91a52357760f00766c61646f
(7) eap_peap: Setting User-Name to vlado
(7) eap_peap: Sending tunneled request to inner-tunnel
(7) eap_peap: EAP-Message =
0x02ef00401a02ef003b31d51e1cb57b23c4b8dcd7a4c2d336d68c000000000000000045293309e47d63ab7c4d563bf90ea80c909b91a52357760f00766c61646f
(7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(7) eap_peap: User-Name = "vlado"
(7) eap_peap: State = 0x3bd67c043b3966c8d43c1189a979d5ee
(7) Virtual server inner-tunnel received request
(7) EAP-Message =
0x02ef00401a02ef003b31d51e1cb57b23c4b8dcd7a4c2d336d68c000000000000000045293309e47d63ab7c4d563bf90ea80c909b91a52357760f00766c61646f
(7) FreeRADIUS-Proxied-To = 127.0.0.1
(7) User-Name = "vlado"
(7) State = 0x3bd67c043b3966c8d43c1189a979d5ee
(7) WARNING: Outer and inner identities are the same. User privacy is
compromised.
(7) server inner-tunnel {
(7) session-state: No cached attributes
(7) # Executing section authorize from file
/etc/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 !~ /(a)(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /(a)\./) {
(7) if (&User-Name =~ /(a)\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [chap] = noop
(7) [mschap] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "vlado", 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 239 length 64
(7) eap: No EAP Start, assuming it's an on-going EAP conversation
(7) [eap] = updated
(7) [files] = noop
(7) sql: EXPAND %{User-Name}
(7) sql: --> vlado
(7) sql: SQL-User-Name set to 'vlado'
rlm_sql (sql): Reserved connection (6)
(7) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck
WHERE username = '%{SQL-User-Name}' ORDER BY id
(7) sql: --> SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'vlado' ORDER BY id
(7) sql: Executing select query: SELECT id, username, attribute, value, op
FROM radcheck WHERE username = 'vlado' ORDER BY id
(7) sql: User found in radcheck table
(7) sql: Conditional check items matched, merging assignment check items
(7) sql: Cleartext-Password := "hello"
(7) sql: Login-Time := "Al0001-2359"
(7) sql: EXPAND SELECT id, username, attribute, value, op FROM radreply
WHERE username = '%{SQL-User-Name}' ORDER BY id
(7) sql: --> SELECT id, username, attribute, value, op FROM radreply
WHERE username = 'vlado' ORDER BY id
(7) sql: Executing select query: SELECT id, username, attribute, value, op
FROM radreply WHERE username = 'vlado' ORDER BY id
(7) sql: EXPAND SELECT groupname FROM radusergroup WHERE username =
'%{SQL-User-Name}' ORDER BY priority
(7) sql: --> SELECT groupname FROM radusergroup WHERE username = 'vlado'
ORDER BY priority
(7) sql: Executing select query: SELECT groupname FROM radusergroup WHERE
username = 'vlado' ORDER BY priority
(7) sql: User not found in any groups
rlm_sql (sql): Released connection (6)
rlm_sql (sql): Need 1 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (8), 1 of 30 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket,
server version 10.1.23-MariaDB-9+deb9u1, protocol version 10
(7) [sql] = ok
(7) [expiration] = noop
(7) logintime: Checking Login-Time
(7) logintime: Login within allowed time-slot, 42600 seconds left in this
session
(7) logintime: reply:Session-Timeout set to 42600
(7) [logintime] = updated
(7) pap: WARNING: Auth-Type already set. Not setting to PAP
(7) [pap] = noop
(7) } # authorize = updated
(7) Found Auth-Type = eap
(7) # Executing group from file
/etc/freeradius/3.0/sites-enabled/inner-tunnel
(7) authenticate {
(7) eap: Expiring EAP session with state 0x3bd67c043b3966c8
(7) eap: Finished EAP session with state 0x3bd67c043b3966c8
(7) eap: Previous EAP request found for state 0x3bd67c043b3966c8, released
from the list
(7) eap: Peer sent packet with method EAP MSCHAPv2 (26)
(7) eap: Calling submodule eap_mschapv2 to process data
(7) eap_mschapv2: # Executing group from file
/etc/freeradius/3.0/sites-enabled/inner-tunnel
(7) eap_mschapv2: authenticate {
(7) mschap: Found Cleartext-Password, hashing to create NT-Password
(7) mschap: Found Cleartext-Password, hashing to create LM-Password
(7) mschap: Creating challenge hash with username: vlado
(7) mschap: Client is using MS-CHAPv2
(7) mschap: Adding MS-CHAPv2 MPPE keys
(7) [mschap] = ok
(7) } # authenticate = ok
(7) MSCHAP Success
(7) eap: Sending EAP Request (code 1) ID 240 length 51
(7) eap: EAP session adding &reply:State = 0x3bd67c043a2666c8
(7) [eap] = handled
(7) } # authenticate = handled
(7) } # server inner-tunnel
(7) Virtual server sending reply
(7) Session-Timeout = 42600
(7) EAP-Message =
0x01f000331a03ef002e533d38303836333636353137314341453543343245353533374632314344434632423645433743304633
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) State = 0x3bd67c043a2666c8d43c1189a979d5ee
(7) eap_peap: Got tunneled reply code 11
(7) eap_peap: Session-Timeout = 42600
(7) eap_peap: EAP-Message =
0x01f000331a03ef002e533d38303836333636353137314341453543343245353533374632314344434632423645433743304633
(7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(7) eap_peap: State = 0x3bd67c043a2666c8d43c1189a979d5ee
(7) eap_peap: Got tunneled reply RADIUS code 11
(7) eap_peap: Session-Timeout = 42600
(7) eap_peap: EAP-Message =
0x01f000331a03ef002e533d38303836333636353137314341453543343245353533374632314344434632423645433743304633
(7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(7) eap_peap: State = 0x3bd67c043a2666c8d43c1189a979d5ee
(7) eap_peap: Got tunneled Access-Challenge
(7) eap: Sending EAP Request (code 1) ID 240 length 82
(7) eap: EAP session adding &reply:State = 0x72f87ed475086713
(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 220 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(7) EAP-Message =
0x01f0005219001703030047eb7c72f8ba2aae866a83d0fa93f2378d63353a141e589443a711b2794e7263e31b69803529d7b248b2c2e4bded94fe49207d5c60242410f6627264e8075d0e62cea60b25b3d22d
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) State = 0x72f87ed4750867139eb6154612f031f0
(7) Finished request
Waking up in 4.8 seconds.
(8) Received Access-Request Id 221 from 192.168.1.1:37800 to
192.168.1.23:1812 length 263
(8) User-Name = "vlado"
(8) NAS-Identifier = "XXXXXXXXXXXX"
(8) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(8) NAS-Port-Type = Wireless-802.11
(8) Service-Type = Framed-User
(8) NAS-Port = 1
(8) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(8) Connect-Info = "CONNECT 54Mbps 802.11a"
(8) Acct-Session-Id = "AF67C8444C73C070"
(8) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(8) WLAN-Pairwise-Cipher = 1027076
(8) WLAN-Group-Cipher = 1027076
(8) WLAN-AKM-Suite = 1027073
(8) Framed-MTU = 1400
(8) EAP-Message =
0x02f000251900170303001a0000000000000003cab6ab01244543305634c416d37f3169210c
(8) State = 0x72f87ed4750867139eb6154612f031f0
(8) Message-Authenticator = 0x1595b52859659cf42bb39801bb18b306
(8) session-state: No cached attributes
(8) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(8) authorize {
(8) policy rewrite_calling_station_id {
(8) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(8) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(8) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(8) update request {
(8) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(8) --> YY-YY-YY-YY-YY-YY
(8) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(8) } # update request = noop
(8) [updated] = updated
(8) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(8) ... skipping else: Preceding "if" was taken
(8) } # policy rewrite_calling_station_id = updated
(8) policy filter_username {
(8) if (&User-Name) {
(8) if (&User-Name) -> TRUE
(8) if (&User-Name) {
(8) if (&User-Name =~ / /) {
(8) if (&User-Name =~ / /) -> FALSE
(8) if (&User-Name =~ /@[^@]*@/ ) {
(8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(8) if (&User-Name =~ /\.\./ ) {
(8) if (&User-Name =~ /\.\./ ) -> FALSE
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(8) if (&User-Name =~ /\.$/) {
(8) if (&User-Name =~ /\.$/) -> FALSE
(8) if (&User-Name =~ /(a)\./) {
(8) if (&User-Name =~ /(a)\./) -> FALSE
(8) } # if (&User-Name) = updated
(8) } # policy filter_username = updated
(8) [preprocess] = ok
(8) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(8) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(8) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(8) auth_log: EXPAND %t
(8) auth_log: --> Mon Feb 18 12:10:06 2019
(8) [auth_log] = ok
(8) [chap] = noop
(8) [mschap] = noop
(8) [digest] = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(8) suffix: No such realm "NULL"
(8) [suffix] = noop
(8) eap: Peer sent EAP Response (code 2) ID 240 length 37
(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 0x3bd67c043a2666c8
(8) eap: Finished EAP session with state 0x72f87ed475086713
(8) eap: Previous EAP request found for state 0x72f87ed475086713, 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 = 0x02f000061a03
(8) eap_peap: Setting User-Name to vlado
(8) eap_peap: Sending tunneled request to inner-tunnel
(8) eap_peap: EAP-Message = 0x02f000061a03
(8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(8) eap_peap: User-Name = "vlado"
(8) eap_peap: State = 0x3bd67c043a2666c8d43c1189a979d5ee
(8) Virtual server inner-tunnel received request
(8) EAP-Message = 0x02f000061a03
(8) FreeRADIUS-Proxied-To = 127.0.0.1
(8) User-Name = "vlado"
(8) State = 0x3bd67c043a2666c8d43c1189a979d5ee
(8) WARNING: Outer and inner identities are the same. User privacy is
compromised.
(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 !~ /(a)(.+)\.(.+)$/)) {
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(8) if (&User-Name =~ /\.$/) {
(8) if (&User-Name =~ /\.$/) -> FALSE
(8) if (&User-Name =~ /(a)\./) {
(8) if (&User-Name =~ /(a)\./) -> FALSE
(8) } # if (&User-Name) = notfound
(8) } # policy filter_username = notfound
(8) [chap] = noop
(8) [mschap] = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "vlado", 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 240 length 6
(8) eap: No EAP Start, assuming it's an on-going EAP conversation
(8) [eap] = updated
(8) [files] = noop
(8) sql: EXPAND %{User-Name}
(8) sql: --> vlado
(8) sql: SQL-User-Name set to 'vlado'
rlm_sql (sql): Reserved connection (7)
(8) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck
WHERE username = '%{SQL-User-Name}' ORDER BY id
(8) sql: --> SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'vlado' ORDER BY id
(8) sql: Executing select query: SELECT id, username, attribute, value, op
FROM radcheck WHERE username = 'vlado' ORDER BY id
(8) sql: User found in radcheck table
(8) sql: Conditional check items matched, merging assignment check items
(8) sql: Cleartext-Password := "hello"
(8) sql: Login-Time := "Al0001-2359"
(8) sql: EXPAND SELECT id, username, attribute, value, op FROM radreply
WHERE username = '%{SQL-User-Name}' ORDER BY id
(8) sql: --> SELECT id, username, attribute, value, op FROM radreply
WHERE username = 'vlado' ORDER BY id
(8) sql: Executing select query: SELECT id, username, attribute, value, op
FROM radreply WHERE username = 'vlado' ORDER BY id
(8) sql: EXPAND SELECT groupname FROM radusergroup WHERE username =
'%{SQL-User-Name}' ORDER BY priority
(8) sql: --> SELECT groupname FROM radusergroup WHERE username = 'vlado'
ORDER BY priority
(8) sql: Executing select query: SELECT groupname FROM radusergroup WHERE
username = 'vlado' ORDER BY priority
(8) sql: User not found in any groups
rlm_sql (sql): Released connection (7)
(8) [sql] = ok
(8) [expiration] = noop
(8) logintime: Checking Login-Time
(8) logintime: Login within allowed time-slot, 42600 seconds left in this
session
(8) logintime: reply:Session-Timeout set to 42600
(8) [logintime] = updated
(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 0x3bd67c043a2666c8
(8) eap: Finished EAP session with state 0x3bd67c043a2666c8
(8) eap: Previous EAP request found for state 0x3bd67c043a2666c8, 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: Sending EAP Success (code 3) ID 240 length 4
(8) eap: Freeing handler
(8) [eap] = ok
(8) } # authenticate = ok
(8) # Executing section post-auth from file
/etc/freeradius/3.0/sites-enabled/inner-tunnel
(8) post-auth {
(8) sql: EXPAND .query
(8) sql: --> .query
(8) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (6)
(8) sql: EXPAND %{User-Name}
(8) sql: --> vlado
(8) sql: SQL-User-Name set to 'vlado'
(8) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate)
VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}',
'%{reply:Packet-Type}', '%S')
(8) sql: --> INSERT INTO radpostauth (username, pass, reply, authdate)
VALUES ( 'vlado', '', 'Access-Accept', '2019-02-18 12:10:06')
(8) sql: Executing query: INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES ( 'vlado', '', 'Access-Accept', '2019-02-18 12:10:06')
(8) sql: SQL query returned: success
(8) sql: 1 record(s) updated
rlm_sql (sql): Released connection (6)
(8) [sql] = ok
(8) } # post-auth = ok
(8) Login OK: [vlado] (from client my-AP-1 port 0 via TLS tunnel)
(8) } # server inner-tunnel
(8) Virtual server sending reply
(8) Session-Timeout = 42600
(8) MS-MPPE-Encryption-Policy = Encryption-Allowed
(8) MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
(8) MS-MPPE-Send-Key = 0x4b4c5c28145d2c0c352925052fae8e58
(8) MS-MPPE-Recv-Key = 0x8b6f27381adac6e182a0f2443409f8e3
(8) EAP-Message = 0x03f00004
(8) Message-Authenticator = 0x00000000000000000000000000000000
(8) User-Name = "vlado"
(8) eap_peap: Got tunneled reply code 2
(8) eap_peap: Session-Timeout = 42600
(8) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed
(8) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
(8) eap_peap: MS-MPPE-Send-Key = 0x4b4c5c28145d2c0c352925052fae8e58
(8) eap_peap: MS-MPPE-Recv-Key = 0x8b6f27381adac6e182a0f2443409f8e3
(8) eap_peap: EAP-Message = 0x03f00004
(8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(8) eap_peap: User-Name = "vlado"
(8) eap_peap: Got tunneled reply RADIUS code 2
(8) eap_peap: Session-Timeout = 42600
(8) eap_peap: MS-MPPE-Encryption-Policy = Encryption-Allowed
(8) eap_peap: MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
(8) eap_peap: MS-MPPE-Send-Key = 0x4b4c5c28145d2c0c352925052fae8e58
(8) eap_peap: MS-MPPE-Recv-Key = 0x8b6f27381adac6e182a0f2443409f8e3
(8) eap_peap: EAP-Message = 0x03f00004
(8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(8) eap_peap: User-Name = "vlado"
(8) eap_peap: Tunneled authentication was successful
(8) eap_peap: SUCCESS
(8) eap: Sending EAP Request (code 1) ID 241 length 46
(8) eap: EAP session adding &reply:State = 0x72f87ed47a096713
(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 221 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(8) EAP-Message =
0x01f1002e19001703030023eb7c72f8ba2aae873af124abd0268e66b7f7d25a991fc6b05ce735dcf9281cd986dd6c
(8) Message-Authenticator = 0x00000000000000000000000000000000
(8) State = 0x72f87ed47a0967139eb6154612f031f0
(8) Finished request
Waking up in 4.6 seconds.
(9) Received Access-Request Id 222 from 192.168.1.1:37800 to
192.168.1.23:1812 length 272
(9) User-Name = "vlado"
(9) NAS-Identifier = "XXXXXXXXXXXX"
(9) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(9) NAS-Port-Type = Wireless-802.11
(9) Service-Type = Framed-User
(9) NAS-Port = 1
(9) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(9) Connect-Info = "CONNECT 54Mbps 802.11a"
(9) Acct-Session-Id = "AF67C8444C73C070"
(9) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(9) WLAN-Pairwise-Cipher = 1027076
(9) WLAN-Group-Cipher = 1027076
(9) WLAN-AKM-Suite = 1027073
(9) Framed-MTU = 1400
(9) EAP-Message =
0x02f1002e1900170303002300000000000000048bb4f4aa5383a62b4232fb260abbd5022e8347be791dfe4220a954
(9) State = 0x72f87ed47a0967139eb6154612f031f0
(9) Message-Authenticator = 0x782d212c869d290bc286fe1df482eaa2
(9) session-state: No cached attributes
(9) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(9) authorize {
(9) policy rewrite_calling_station_id {
(9) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(9) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(9) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(9) update request {
(9) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(9) --> YY-YY-YY-YY-YY-YY
(9) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(9) } # update request = noop
(9) [updated] = updated
(9) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(9) ... skipping else: Preceding "if" was taken
(9) } # policy rewrite_calling_station_id = updated
(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 !~ /(a)(.+)\.(.+)$/)) {
(9) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) ->
FALSE
(9) if (&User-Name =~ /\.$/) {
(9) if (&User-Name =~ /\.$/) -> FALSE
(9) if (&User-Name =~ /(a)\./) {
(9) if (&User-Name =~ /(a)\./) -> FALSE
(9) } # if (&User-Name) = updated
(9) } # policy filter_username = updated
(9) [preprocess] = ok
(9) auth_log: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(9) auth_log: --> /var/log/freeradius/radacct/
192.168.1.1/auth-detail-20190218
(9) auth_log:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/auth-detail-20190218
(9) auth_log: EXPAND %t
(9) auth_log: --> Mon Feb 18 12:10:06 2019
(9) [auth_log] = ok
(9) [chap] = noop
(9) [mschap] = noop
(9) [digest] = noop
(9) suffix: Checking for suffix after "@"
(9) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(9) suffix: No such realm "NULL"
(9) [suffix] = noop
(9) eap: Peer sent EAP Response (code 2) ID 241 length 46
(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 0x72f87ed47a096713
(9) eap: Finished EAP session with state 0x72f87ed47a096713
(9) eap: Previous EAP request found for state 0x72f87ed47a096713, 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 send tlv success
(9) eap_peap: Received EAP-TLV response
(9) eap_peap: Success
(9) eap: Sending EAP Success (code 3) ID 241 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/default
(9) post-auth {
(9) update {
(9) No attributes updated
(9) } # update = noop
(9) sql: EXPAND .query
(9) sql: --> .query
(9) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (8)
(9) sql: EXPAND %{User-Name}
(9) sql: --> vlado
(9) sql: SQL-User-Name set to 'vlado'
(9) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate)
VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}',
'%{reply:Packet-Type}', '%S')
(9) sql: --> INSERT INTO radpostauth (username, pass, reply, authdate)
VALUES ( 'vlado', '', 'Access-Accept', '2019-02-18 12:10:06')
(9) sql: Executing query: INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES ( 'vlado', '', 'Access-Accept', '2019-02-18 12:10:06')
(9) sql: SQL query returned: success
(9) sql: 1 record(s) updated
rlm_sql (sql): Released connection (8)
(9) [sql] = ok
(9) [exec] = noop
(9) policy remove_reply_message_if_eap {
(9) if (&reply:EAP-Message && &reply:Reply-Message) {
(9) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
(9) else {
(9) [noop] = noop
(9) } # else = noop
(9) } # policy remove_reply_message_if_eap = noop
(9) } # post-auth = ok
(9) Login OK: [vlado] (from client my-AP-1 port 1 cli YY-YY-YY-YY-YY-YY)
(9) Sent Access-Accept Id 222 from 192.168.1.23:1812 to 192.168.1.1:37800
length 0
(9) MS-MPPE-Recv-Key =
0x5ba56ee87c023d7231c36407b21c91ec1843f056290992c28508022a9a9e64fa
(9) MS-MPPE-Send-Key =
0x97ba68564e7dc0a5084ba5105d74d53b46b0ca2a67da15641f7c872b8aec6565
(9) EAP-Message = 0x03f10004
(9) Message-Authenticator = 0x00000000000000000000000000000000
(9) User-Name = "vlado"
(9) Finished request
Waking up in 4.6 seconds.
(10) Received Accounting-Request Id 223 from 192.168.1.1:43128 to
192.168.1.23:1813 length 206
(10) Acct-Status-Type = Start
(10) Acct-Authentic = RADIUS
(10) User-Name = "vlado"
(10) NAS-Identifier = "XXXXXXXXXXXX"
(10) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(10) NAS-Port-Type = Wireless-802.11
(10) Service-Type = Framed-User
(10) NAS-Port = 1
(10) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(10) Connect-Info = "CONNECT 54Mbps 802.11a"
(10) Acct-Session-Id = "AF67C8444C73C070"
(10) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(10) WLAN-Pairwise-Cipher = 1027076
(10) WLAN-Group-Cipher = 1027076
(10) WLAN-AKM-Suite = 1027073
(10) Event-Timestamp = "Feb 18 2019 12:10:06 CET"
(10) Acct-Delay-Time = 0
(10) # Executing section preacct from file
/etc/freeradius/3.0/sites-enabled/default
(10) preacct {
(10) policy rewrite_calling_station_id {
(10) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(10) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(10) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(10) update request {
(10) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(10) --> YY-YY-YY-YY-YY-YY
(10) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(10) } # update request = noop
(10) [updated] = updated
(10) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(10) ... skipping else: Preceding "if" was taken
(10) } # policy rewrite_calling_station_id = updated
(10) [preprocess] = ok
(10) policy acct_unique {
(10) update request {
(10) &Tmp-String-9 := "ai:"
(10) } # update request = noop
(10) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(10) EXPAND %{hex:&Class}
(10) -->
(10) EXPAND ^%{hex:&Tmp-String-9}
(10) --> ^61693a
(10) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) -> FALSE
(10) else {
(10) update request {
(10) EXPAND
%{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(10) --> a2134571c07be7a11c77ce01067a80b5
(10) &Acct-Unique-Session-Id := a2134571c07be7a11c77ce01067a80b5
(10) } # update request = noop
(10) } # else = noop
(10) } # policy acct_unique = noop
(10) suffix: Checking for suffix after "@"
(10) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(10) suffix: No such realm "NULL"
(10) [suffix] = noop
(10) [files] = noop
(10) } # preacct = updated
(10) # Executing section accounting from file
/etc/freeradius/3.0/sites-enabled/default
(10) accounting {
(10) detail: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
(10) detail: --> /var/log/freeradius/radacct/192.168.1.1/detail-20190218
(10) detail:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/detail-20190218
(10) detail: EXPAND %t
(10) detail: --> Mon Feb 18 12:10:06 2019
(10) [detail] = ok
(10) [unix] = ok
(10) sradutmp: EXPAND /var/log/freeradius/sradutmp
(10) sradutmp: --> /var/log/freeradius/sradutmp
(10) sradutmp: EXPAND %{User-Name}
(10) sradutmp: --> vlado
(10) [sradutmp] = ok
(10) sql: EXPAND %{tolower:type.%{Acct-Status-Type}.query}
(10) sql: --> type.start.query
(10) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (7)
(10) sql: EXPAND %{User-Name}
(10) sql: --> vlado
(10) sql: SQL-User-Name set to 'vlado'
(10) sql: EXPAND INSERT INTO radacct (acctsessionid, acctuniqueid, username,
realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctupdatetime,
acctstoptime, acctsessiontime, acctauthentic, connectinfo_start,
connectinfo_stop,
acctinputoctets, acctoutputoctets, calledstationid, callingstationid,
acctterminatecause, servicetype, framedprotocol, framedipaddress) VALUES
('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}',
'%{Realm}', '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}',
'%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp}),
FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '0', '%{Acct-Authentic}',
'%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}',
'%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}',
'%{Framed-IP-Address}')
(10) sql: --> INSERT INTO radacct (acctsessionid, acctuniqueid, username,
realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctupdatetime,
acctstoptime, acctsessiontime, acctauthentic, connectinfo_start,
connectinfo_stop,
acctinputoctets, acctoutputoctets, calledstationid, callingstationid,
acctterminatecause, servicetype, framedprotocol, framedipaddress) VALUES
('AF67C8444C73C070', 'a2134571c07be7a11c77ce01067a80b5', 'vlado', '',
'192.168.1.1', '1', 'Wireless-802.11', FROM_UNIXTIME(1550488206),
FROM_UNIXTIME(1550488206), NULL, '0', 'RADIUS', 'CONNECT 54Mbps 802.11a',
'', '0', '0', 'XX-XX-XX-XX-XX-XX:5GWlan', 'YY-YY-YY-YY-YY-YY', '',
'Framed-User', '', '')
(10) sql: Executing query: INSERT INTO radacct (acctsessionid,
acctuniqueid, username,
realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctupdatetime,
acctstoptime, acctsessiontime, acctauthentic, connectinfo_start,
connectinfo_stop,
acctinputoctets, acctoutputoctets, calledstationid, callingstationid,
acctterminatecause, servicetype, framedprotocol, framedipaddress) VALUES
('AF67C8444C73C070', 'a2134571c07be7a11c77ce01067a80b5', 'vlado', '',
'192.168.1.1', '1', 'Wireless-802.11', FROM_UNIXTIME(1550488206),
FROM_UNIXTIME(1550488206), NULL, '0', 'RADIUS', 'CONNECT 54Mbps 802.11a',
'', '0', '0', 'XX-XX-XX-XX-XX-XX:5GWlan', 'YY-YY-YY-YY-YY-YY', '',
'Framed-User', '', '')
(10) sql: SQL query returned: success
(10) sql: 1 record(s) updated
rlm_sql (sql): Released connection (7)
(10) [sql] = ok
(10) if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) {
(10) EXPAND %{User-Name}
(10) --> vlado
(10) SQL-User-Name set to 'vlado'
rlm_sql (sql): Reserved connection (6)
(10) Executing select query: SELECT IFNULL (SUM(AcctSessionTime),0)
FROM radacct where UserName='vlado'
rlm_sql (sql): Released connection (6)
(10) EXPAND %{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}
(10) --> 0
(10) EXPAND %{User-Name}
(10) --> vlado
(10) SQL-User-Name set to 'vlado'
rlm_sql (sql): Reserved connection (8)
(10) Executing select query: SELECT value from radcheck where
username='vlado' and attribute='Max-Daily-Session'
(10) SQL query returned no results
rlm_sql (sql): Released connection (8)
(10) EXPAND %{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}
(10) -->
(10) if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) -> TRUE
(10) if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) {
(10) update disconnect {
(10) EXPAND %{Acct-Session-Id}
(10) --> AF67C8444C73C070
(10) &Acct-Session-Id = AF67C8444C73C070
(10) EXPAND %{User-Name}
(10) --> vlado
(10) &User-Name = vlado
(10) EXPAND %{Calling-Station-Id}
(10) --> YY-YY-YY-YY-YY-YY
(10) &Calling-Station-Id = YY-YY-YY-YY-YY-YY
(10) } # update disconnect = noop
(10) } # if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM
radacct where UserName='%{User-Name}'}" > "%{sql: SELECT value from
radcheck where username='%{User-Name}' and attribute='Max-Daily-Session'}"
) = noop
(10) [exec] = noop
(10) attr_filter.accounting_response: EXPAND %{User-Name}
(10) attr_filter.accounting_response: --> vlado
(10) attr_filter.accounting_response: Matched entry DEFAULT at line 12
(10) [attr_filter.accounting_response] = updated
(10) } # accounting = updated
(10) Sent Disconnect-Request Id 121 from 0.0.0.0:45765 to 192.168.1.1:3799
length 64
(10) Acct-Session-Id = "AF67C8444C73C070"
(10) User-Name = "vlado"
(10) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(10) Sent Accounting-Response Id 223 from 192.168.1.23:1813 to
192.168.1.1:43128 length 0
(10) Finished request
(10) Cleaning up request packet ID 223 with timestamp +68
Waking up in 1.9 seconds.
(11) Received Accounting-Request Id 224 from 192.168.1.1:43128 to
192.168.1.23:1813 length 248
(11) Acct-Status-Type = Stop
(11) Acct-Authentic = RADIUS
(11) User-Name = "vlado"
(11) NAS-Identifier = "XXXXXXXXXXXX"
(11) Called-Station-Id = "XX-XX-XX-XX-XX-XX:5GWlan"
(11) NAS-Port-Type = Wireless-802.11
(11) Service-Type = Framed-User
(11) NAS-Port = 1
(11) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(11) Connect-Info = "CONNECT 54Mbps 802.11a"
(11) Acct-Session-Id = "AF67C8444C73C070"
(11) Acct-Multi-Session-Id = "9D9725C5137C2DEA"
(11) WLAN-Pairwise-Cipher = 1027076
(11) WLAN-Group-Cipher = 1027076
(11) WLAN-AKM-Suite = 1027073
(11) Event-Timestamp = "Feb 18 2019 12:10:06 CET"
(11) Acct-Delay-Time = 0
(11) Acct-Session-Time = 0
(11) Acct-Input-Packets = 70
(11) Acct-Output-Packets = 35
(11) Acct-Input-Octets = 4875
(11) Acct-Input-Gigawords = 0
(11) Acct-Output-Octets = 6463
(11) Acct-Output-Gigawords = 0
(11) # Executing section preacct from file
/etc/freeradius/3.0/sites-enabled/default
(11) preacct {
(11) policy rewrite_calling_station_id {
(11) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(11) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
-> TRUE
(11) if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
{
(11) update request {
(11) EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(11) --> YY-YY-YY-YY-YY-YY
(11) &Calling-Station-Id := YY-YY-YY-YY-YY-YY
(11) } # update request = noop
(11) [updated] = updated
(11) } # if (&Calling-Station-Id && (&Calling-Station-Id =~
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
= updated
(11) ... skipping else: Preceding "if" was taken
(11) } # policy rewrite_calling_station_id = updated
(11) [preprocess] = ok
(11) policy acct_unique {
(11) update request {
(11) &Tmp-String-9 := "ai:"
(11) } # update request = noop
(11) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(11) EXPAND %{hex:&Class}
(11) -->
(11) EXPAND ^%{hex:&Tmp-String-9}
(11) --> ^61693a
(11) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) -> FALSE
(11) else {
(11) update request {
(11) EXPAND
%{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(11) --> a2134571c07be7a11c77ce01067a80b5
(11) &Acct-Unique-Session-Id := a2134571c07be7a11c77ce01067a80b5
(11) } # update request = noop
(11) } # else = noop
(11) } # policy acct_unique = noop
(11) suffix: Checking for suffix after "@"
(11) suffix: No '@' in User-Name = "vlado", looking up realm NULL
(11) suffix: No such realm "NULL"
(11) [suffix] = noop
(11) [files] = noop
(11) } # preacct = updated
(11) # Executing section accounting from file
/etc/freeradius/3.0/sites-enabled/default
(11) accounting {
(11) detail: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
(11) detail: --> /var/log/freeradius/radacct/192.168.1.1/detail-20190218
(11) detail:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.1.1/detail-20190218
(11) detail: EXPAND %t
(11) detail: --> Mon Feb 18 12:10:06 2019
(11) [detail] = ok
(11) [unix] = ok
(11) sradutmp: EXPAND /var/log/freeradius/sradutmp
(11) sradutmp: --> /var/log/freeradius/sradutmp
(11) sradutmp: EXPAND %{User-Name}
(11) sradutmp: --> vlado
(11) [sradutmp] = ok
(11) sql: EXPAND %{tolower:type.%{Acct-Status-Type}.query}
(11) sql: --> type.stop.query
(11) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (7)
(11) sql: EXPAND %{User-Name}
(11) sql: --> vlado
(11) sql: SQL-User-Name set to 'vlado'
(11) sql: EXPAND UPDATE radacct SET acctstoptime =
FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime =
%{%{Acct-Session-Time}:-NULL}, acctinputoctets =
'%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}',
acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 |
'%{%{Acct-Output-Octets}:-0}', acctterminatecause =
'%{Acct-Terminate-Cause}', connectinfo_stop = '%{Connect-Info}' WHERE
AcctUniqueId = '%{Acct-Unique-Session-Id}'
(11) sql: --> UPDATE radacct SET acctstoptime =
FROM_UNIXTIME(1550488206), acctsessiontime = 0, acctinputoctets = '0' << 32
| '4875', acctoutputoctets = '0' << 32 | '6463', acctterminatecause = '',
connectinfo_stop = 'CONNECT 54Mbps 802.11a' WHERE AcctUniqueId =
'a2134571c07be7a11c77ce01067a80b5'
(11) sql: Executing query: UPDATE radacct SET acctstoptime =
FROM_UNIXTIME(1550488206), acctsessiontime = 0, acctinputoctets = '0' << 32
| '4875', acctoutputoctets = '0' << 32 | '6463', acctterminatecause = '',
connectinfo_stop = 'CONNECT 54Mbps 802.11a' WHERE AcctUniqueId =
'a2134571c07be7a11c77ce01067a80b5'
rlm_sql_mysql: Rows matched: 1 Changed: 1 Warnings: 0
(11) sql: SQL query returned: success
(11) sql: 1 record(s) updated
rlm_sql (sql): Released connection (7)
(11) [sql] = ok
(11) if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) {
(11) EXPAND %{User-Name}
(11) --> vlado
(11) SQL-User-Name set to 'vlado'
rlm_sql (sql): Reserved connection (6)
(11) Executing select query: SELECT IFNULL (SUM(AcctSessionTime),0)
FROM radacct where UserName='vlado'
rlm_sql (sql): Released connection (6)
(11) EXPAND %{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}
(11) --> 0
(11) EXPAND %{User-Name}
(11) --> vlado
(11) SQL-User-Name set to 'vlado'
rlm_sql (sql): Reserved connection (8)
(11) Executing select query: SELECT value from radcheck where
username='vlado' and attribute='Max-Daily-Session'
(11) SQL query returned no results
rlm_sql (sql): Released connection (8)
(11) EXPAND %{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}
(11) -->
(11) if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) -> TRUE
(11) if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM radacct
where UserName='%{User-Name}'}" > "%{sql: SELECT value from radcheck where
username='%{User-Name}' and attribute='Max-Daily-Session'}" ) {
(11) update disconnect {
(11) EXPAND %{Acct-Session-Id}
(11) --> AF67C8444C73C070
(11) &Acct-Session-Id = AF67C8444C73C070
(11) EXPAND %{User-Name}
(11) --> vlado
(11) &User-Name = vlado
(11) EXPAND %{Calling-Station-Id}
(11) --> YY-YY-YY-YY-YY-YY
(11) &Calling-Station-Id = YY-YY-YY-YY-YY-YY
(11) } # update disconnect = noop
(11) } # if ( "%{sql: SELECT IFNULL (SUM(AcctSessionTime),0) FROM
radacct where UserName='%{User-Name}'}" > "%{sql: SELECT value from
radcheck where username='%{User-Name}' and attribute='Max-Daily-Session'}"
) = noop
(11) [exec] = noop
(11) attr_filter.accounting_response: EXPAND %{User-Name}
(11) attr_filter.accounting_response: --> vlado
(11) attr_filter.accounting_response: Matched entry DEFAULT at line 12
(11) [attr_filter.accounting_response] = updated
(11) } # accounting = updated
(11) Sent Disconnect-Request Id 246 from 0.0.0.0:45765 to 192.168.1.1:3799
length 64
(11) Acct-Session-Id = "AF67C8444C73C070"
(11) User-Name = "vlado"
(11) Calling-Station-Id = "YY-YY-YY-YY-YY-YY"
(11) Sent Accounting-Response Id 224 from 192.168.1.23:1813 to
192.168.1.1:43128 length 0
(11) Finished request
(11) Cleaning up request packet ID 224 with timestamp +68
Waking up in 1.8 seconds.
(10) Marking home server 192.168.1.1 port 3799 alive
(10) Clearing existing &reply: attributes
(10) Received Disconnect-ACK Id 121 from 192.168.1.1:3799 to
192.168.1.23:45765 length 44
(10) Event-Timestamp = "Feb 18 2019 12:10:06 CET"
(10) Message-Authenticator = 0xae87fb6ddac4f1f4c3cc317c01ba3d06
(10) # Executing section post-proxy from file
/etc/freeradius/3.0/sites-enabled/default
(10) post-proxy {
(10) eap: No pre-existing handler found
(10) [eap] = noop
(10) } # post-proxy = noop
(10) Cleaning up request packet ID 223 with timestamp +68
Waking up in 2.2 seconds.
(11) Clearing existing &reply: attributes
(11) Received Disconnect-NAK Id 246 from 192.168.1.1:3799 to
192.168.1.23:45765 length 50
(11) Error-Cause = Session-Context-Not-Found
(11) Event-Timestamp = "Feb 18 2019 12:10:06 CET"
(11) Message-Authenticator = 0x0e1e7e91440f0e7214127159319c047d
(11) # Executing section post-proxy from file
/etc/freeradius/3.0/sites-enabled/default
(11) post-proxy {
(11) eap: No pre-existing handler found
(11) [eap] = noop
(11) } # post-proxy = noop
(11) Cleaning up request packet ID 224 with timestamp +68
Waking up in 4.5 seconds.
(0) Cleaning up request packet ID 213 with timestamp +67
(1) Cleaning up request packet ID 214 with timestamp +67
(2) Cleaning up request packet ID 215 with timestamp +67
(3) Cleaning up request packet ID 216 with timestamp +67
(4) Cleaning up request packet ID 217 with timestamp +67
(5) Cleaning up request packet ID 218 with timestamp +68
(6) Cleaning up request packet ID 219 with timestamp +68
(7) Cleaning up request packet ID 220 with timestamp +68
Waking up in 0.1 seconds.
(8) Cleaning up request packet ID 221 with timestamp +68
(9) Cleaning up request packet ID 222 with timestamp +68
Ready to process requests
2
14