All, I'm poking at a difference b/w 2.2.x and 3.0.x, specifically using a stats query of the following form: FreeRADIUS-Statistics-Type = 0x81 FreeRADIUS-Stats-Server-IP-Address = 194.83.56.233 FreeRADIUS-Stats-Server-Port = 1812 Message-Authenticator = 0x00 ...which returns an empty success packet on 3.x but works on 2.2.x. A quick gdb session suggests that home_server_find is returning null in stats.c: https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/src/main/stats.c... ...but I am sure that the home server is defined in proxy.conf: home_server roaming1 { type = auth ipaddr = 194.83.56.233 port = 1812 secret = <secret> status_check = status-server num_answers_to_alive = 3 } home_server_pool eduroam { type = client-port-balance home_server = roaming0 home_server = roaming1 home_server = roaming2 } realm EDUROAM { auth_pool = eduroam nostrip } Interestingly "radmin" shows the stats as "unknown" continually as far as I can tell, but does know about the server: radmin> show home_server list 194.83.56.233 1812 udp auth unknown 0 Is there some obvious config I'm missing? Cheers, Phil
When I was last looking at that stuff I noted that you had to turn on verbose/debug in the radclient options to get values out. YMMV Alan On 4 Jul 2017 5:40 pm, "Phil Mayers" <p.mayers@imperial.ac.uk> wrote:
All,
I'm poking at a difference b/w 2.2.x and 3.0.x, specifically using a stats query of the following form:
FreeRADIUS-Statistics-Type = 0x81 FreeRADIUS-Stats-Server-IP-Address = 194.83.56.233 FreeRADIUS-Stats-Server-Port = 1812 Message-Authenticator = 0x00
...which returns an empty success packet on 3.x but works on 2.2.x. A quick gdb session suggests that home_server_find is returning null in stats.c:
https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/ src/main/stats.c#L742
...but I am sure that the home server is defined in proxy.conf:
home_server roaming1 { type = auth ipaddr = 194.83.56.233 port = 1812 secret = <secret> status_check = status-server num_answers_to_alive = 3 }
home_server_pool eduroam { type = client-port-balance home_server = roaming0 home_server = roaming1 home_server = roaming2 }
realm EDUROAM { auth_pool = eduroam nostrip }
Interestingly "radmin" shows the stats as "unknown" continually as far as I can tell, but does know about the server:
radmin> show home_server list 194.83.56.233 1812 udp auth unknown 0
Is there some obvious config I'm missing?
Cheers, Phil - List info/subscribe/unsubscribe? See http://www.freeradius.org/list /users.html
On Jul 4, 2017, at 12:40 PM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
I'm poking at a difference b/w 2.2.x and 3.0.x, specifically using a stats query of the following form:
FreeRADIUS-Statistics-Type = 0x81 FreeRADIUS-Stats-Server-IP-Address = 194.83.56.233 FreeRADIUS-Stats-Server-Port = 1812 Message-Authenticator = 0x00
That *should* work...
...which returns an empty success packet on 3.x but works on 2.2.x. A quick gdb session suggests that home_server_find is returning null in stats.c:
https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/src/main/stats.c...
And the home_server_find() function looks up the home server in an rbtree, which makes it difficult to debug where things are going wrong.
Interestingly "radmin" shows the stats as "unknown" continually as far as I can tell, but does know about the server:
radmin> show home_server list 194.83.56.233 1812 udp auth unknown 0
That uses a different API to get the home servers...
Is there some obvious config I'm missing?
Nope. I'm not sure what's going on here. Which version are you using? Alan DeKok.
3.0.14 but I've seen similar things in earlier 3.0.x - I always assumed I'd missed something and never had time to look into it. Context is we use this in our monitoring to see if the upstream servers are alive. If there's nothing trivially obvious I'm missing (like a global) I'll try to make a simple testbed, it's entirely possible something in the large config we're running is tickling it, I can always debug the rbtree if necessary. -- Sent from my mobile device, please excuse brevity and typos
On Jul 4, 2017, at 2:01 PM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
3.0.14 but I've seen similar things in earlier 3.0.x - I always assumed I'd missed something and never had time to look into it.
OK.
Context is we use this in our monitoring to see if the upstream servers are alive.
If there's nothing trivially obvious I'm missing (like a global) I'll try to make a simple testbed, it's entirely possible something in the large config we're running is tickling it, I can always debug the rbtree if necessary.
No, it should work... My guess is that the home server is being inserted into the tree, but for some reason it's unable to find it. i.e. the data being used for add / find are different. Maybe you have src_ipaddr set in the home server configuration? The stats lookup assumes the the source IP is INADDR_ANY. Alan DeKok.
On 04/07/17 19:10, Alan DeKok wrote:
No, it should work...
My guess is that the home server is being inserted into the tree, but for some reason it's unable to find it. i.e. the data being used for add / find are different.
Maybe you have src_ipaddr set in the home server configuration? The stats lookup assumes the the source IP is INADDR_ANY.
No src_ipaddr set. Seems to happen with an almost-exactly-stock 3.0.14 config on a pair of hosts. Same thing, nothing in the stats. I'll have to dig into the debugging.
On Jul 5, 2017, at 12:14 PM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
No src_ipaddr set.
:(
Seems to happen with an almost-exactly-stock 3.0.14 config on a pair of hosts. Same thing, nothing in the stats.
That's not nice.
I'll have to dig into the debugging.
If you could, I'd be grateful. I'm currently tracking down other issues. Alan DeKok.
participants (3)
-
Alan Buxey -
Alan DeKok -
Phil Mayers