Informations about home_server_pool with load-balancing or fail-over
Hi, I see freeradius documentation but I have some doubt about how load-balancing/fail-over it works when is enable status-server or not. 1) From documentation I see that an home_server_pool with load-balancing split requests between all home server. But FWIK or I understand if request doesn't receive a response from first home_server is not send to second like for fail-over. Is this correct ? 2) If yes, is there a way to do load-balancing + fail-over ? How can I do that ? I need to use Post-Proxy-Type and Fail-Accounting/Fail-Authentication syntax and so create a fallback virtual_server with same home_Server of load-balancing but with type fail-over ? 3) About status-server check... In my configuration I set status_server to yes under security section but If I haven't enable site status (on port 18121 for example) I can receive however Status-Server request only on port 1812 and 1813. Is this correct? 4) home_server gone on alive status only if at least one request is been received from server else home_server is leave on "unknown" status. Is this correct ? 5) Is there a way to set alive status of all home_server automatically at bootstrap ? I see that with fail-over if I haven't received request from startup (status of home_server is unknown) then on a failure of first home_server, request is not sent to second home_server (at least on 3.0.8 version). Instead, if I have both home_server in alive status and I power off first home_server, than request is correctly sent to second on failure of first. 6) If I haven't active status-server is there a way to handle home_server only alive to avoid zombie period if a request go to failure / timeout ? Thanks in advance. -- -- -- Geaaru
On Jul 24, 2015, at 7:56 PM, Geaaru <geaaru@gmail.com> wrote:
I see freeradius documentation but I have some doubt about how load-balancing/fail-over it works when is enable status-server or not.
1) From documentation I see that an home_server_pool with load-balancing split requests between all home server. But FWIK or I understand if request doesn't receive a response from first home_server is not send to second like for fail-over. Is this correct ?
No. The proxy fails over when: a) the home server is marked dead, and then b) the NAS sends another packet. If the NAS doesn't send another packet, the proxy will not be able to fail over *for that packet* to another home server. The *next packet* will see that the home server is down, and the proxy will choose another home server
3) About status-server check... In my configuration I set status_server to yes under security section but If I haven't enable site status (on port 18121 for example) I can receive however Status-Server request only on port 1812 and 1813. Is this correct?
Yes.
4) home_server gone on alive status only if at least one request is been received from server else home_server is leave on "unknown" status. Is this correct ?
Yes. "Unknown" is equivalent to "alive". The only difference is that it's a bit more information for the administrator.
5) Is there a way to set alive status of all home_server automatically at bootstrap ?
No.
I see that with fail-over if I haven't received request from startup (status of home_server is unknown) then on a failure of first home_server, request is not sent to second home_server (at least on 3.0.8 version). Instead, if I have both home_server in alive status and I power off first home_server, than request is correctly sent to second on failure of first.
It's more complicated than that. The NAS has to retransmit. Use radclient, with "-r 20", so it sends 20 retransmits. You WILL see the proxy fail over from one home server to another.
6) If I haven't active status-server is there a way to handle home_server only alive to avoid zombie period if a request go to failure / timeout ?
I don't know what that means. Alan DeKok.
Hereinafter my comments. Thanks again for reply. I also add another question... 7) Is there a variable to use on detail log to identify Ip address of home_server used (from a pool) for example on a load-balancing proxy scenario ? Ah, fyi... I see that on freeradius site homepage link to unlang keywords are broken for version 3.0.9 (available path is for version 3.0.8). 2015-07-25 14:12 GMT+02:00 Alan DeKok <aland@deployingradius.com>:
On Jul 24, 2015, at 7:56 PM, Geaaru <geaaru@gmail.com> wrote:
I see freeradius documentation but I have some doubt about how load-balancing/fail-over it works when is enable status-server or not.
1) From documentation I see that an home_server_pool with load-balancing split requests between all home server. But FWIK or I understand if request doesn't receive a response from first home_server is not send to second like for fail-over. Is this correct ?
No.
The proxy fails over when:
a) the home server is marked dead, and then
b) the NAS sends another packet.
If the NAS doesn't send another packet, the proxy will not be able to fail over *for that packet* to another home server. The *next packet* will see that the home server is down, and the proxy will choose another home server
Ok. While with fail-over type on proxy failure sequence is: a) the home server is marked dead b) proxy send packet to second home server with status alive/unknow without wait for a re-transmission from NAS. Is correct ?
3) About status-server check... In my configuration I set status_server to yes under security section but If I haven't enable site status (on port 18121 for example) I can receive however Status-Server request only on port 1812 and 1813. Is this correct?
Yes.
4) home_server gone on alive status only if at least one request is been received from server else home_server is leave on "unknown" status. Is this correct ?
Yes. "Unknown" is equivalent to "alive". The only difference is that it's a bit more information for the administrator.
5) Is there a way to set alive status of all home_server automatically at bootstrap ?
No.
I see that with fail-over if I haven't received request from startup (status of home_server is unknown) then on a failure of first home_server, request is not sent to second home_server (at least on 3.0.8 version). Instead, if I have both home_server in alive status and I power off first home_server, than request is correctly sent to second on failure of first.
It's more complicated than that. The NAS has to retransmit.
Use radclient, with "-r 20", so it sends 20 retransmits. You WILL see the proxy fail over from one home server to another.
But why if all home_server are in status alive (and first failure on receive packet) proxy send directly to second home_server without re-transmissions? RFC how describe fail-over operation ? Can you said me what are RFC that describe these operations ? Thanks.
6) If I haven't active status-server is there a way to handle home_server only alive to avoid zombie period if a request go to failure / timeout ?
I don't know what that means.
Yes I don't understand what I wrote. This happens when I write email to night. :) A client said me that 3GPP specification doesn't expect a response about a Disconnect-Request if session doesn't exists or is already down. Do you know if this is correct ?
From freeradius side this means that when I receive a Disconnect-Request to an already closed session and proxy forward correctly packet to correct NAS , proxy doesn't receive Disconnect-Nack or Disconnect-Ack and so NAS is marked as zombie/dead.
Is there a way to leave status alive for this case ? For example handle Failure and said through unlang language to ignore timeout on reply of the packet? NAS doesn't support status-server extensions so I can't enable status-server.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
-- -- -- Geaaru
On Jul 26, 2015, at 5:21 PM, Geaaru <geaaru@gmail.com> wrote:
I also add another question...
7) Is there a variable to use on detail log to identify Ip address of home_server used (from a pool) for example on a load-balancing proxy scenario ?
Yes. proxy:Packet-Dst-IP-Address
Ah, fyi... I see that on freeradius site homepage link to unlang keywords are broken for version 3.0.9 (available path is for version 3.0.8).
Which links? Which page? I don't see that. Alan DeKok.
Link is homepage: http://freeradius.org/ try to find string: Unlang keywords Link is for: http://networkradius.com/doc/3.0.9/unlang/keywords.html that is related with a page not found. Probably you must add new documentation related with release 3.0.9. Thanks G. P.S Can you check my previous email, there are some comments about your answers. On Mon, 2015-07-27 at 07:09 -0400, Alan DeKok wrote:
On Jul 26, 2015, at 5:21 PM, Geaaru <geaaru@gmail.com> wrote:
I also add another question...
7) Is there a variable to use on detail log to identify Ip address of home_server used (from a pool) for example on a load-balancing proxy scenario ?
Yes. proxy:Packet-Dst-IP-Address
Ah, fyi... I see that on freeradius site homepage link to unlang keywords are broken for version 3.0.9 (available path is for version 3.0.8).
Which links? Which page? I don't see that.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
participants (2)
-
Alan DeKok -
Geaaru