RADIUS Servers Reservation [Документация VAS Experts]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:dpi:bras_bng:radius_integration:radius_auth_fastpcrf_setup:radius_server_reservation [2024/09/26 15:29] – created - external edit 127.0.0.1en:dpi:bras_bng:radius_integration:radius_auth_fastpcrf_setup:radius_server_reservation [2024/12/05 15:01] (current) elena.krasnobryzh
Line 1: Line 1:
 {{indexmenu_n>5}} {{indexmenu_n>5}}
-====== Radius Servers Reservation ======+====== RADIUS Servers Reservation ======
  
-Each Radius server is described by an FSM (Finite State Machine).+Each RADIUS server is described by an FSM (Finite State Machine).
  
-Radius server can be in one of six states:+RADIUS server can be in one of six states:
   * **Initial** — the state when fastPCRF starts;   * **Initial** — the state when fastPCRF starts;
-  * **Alive** — the Radius server is accessible, requests can be sent to it; +  * **Alive** — the RADIUS server is accessible, requests can be sent to it; 
-  * **Dead** — the Radius server is inaccessible, requests cannot be sent; +  * **Dead** — the RADIUS server is inaccessible, requests cannot be sent; 
-  * **Alive-ping-sent** — a ping has been sent to the Radius server in the Alive state, waiting for a response; +  * **Alive-ping-sent** — a ping has been sent to the RADIUS server in the Alive state, waiting for a response; 
-  * **Dead-ping-sent** — a ping has been sent to the Radius server in the Dead state, waiting for a response;+  * **Dead-ping-sent** — a ping has been sent to the RADIUS server in the Dead state, waiting for a response;
   * **Disabled** — the server is administratively prohibited.   * **Disabled** — the server is administratively prohibited.
  
 The main states are **Alive** and **Dead**, while the other states are transitional. The main states are **Alive** and **Dead**, while the other states are transitional.
-Radius server is considered accessible if it is in the **Alive** or **Alive-ping-sent** states. In other states, the Radius server is considered inaccessible and requests cannot be sent to it.+RADIUS server is considered accessible if it is in the **Alive** or **Alive-ping-sent** states. In other states, the RADIUS server is considered inaccessible and requests cannot be sent to it.
  
-Ping — is a Status-Server request, or if the Radius server does not support Status-Server (the `radius_status_server` option), an Access-Request with User-Name and Password equal to the `radius_ping_user_name` and `radius_ping_user_password` options, respectively.+Ping — is a Status-Server request, or if the RADIUS server does not support Status-Server (the `radius_status_server` option), an Access-Request with User-Name and Password equal to the `radius_ping_user_name` and `radius_ping_user_password` options, respectively.
  
 Every 10 seconds, a watchdog task runs to check whether a ping should be sent, whether a response to the ping has been received, and based on this, it changes the server's state or leaves it unchanged. Every 10 seconds, a watchdog task runs to check whether a ping should be sent, whether a response to the ping has been received, and based on this, it changes the server's state or leaves it unchanged.
  
-When fastPCRF starts, all Radius servers are in the **Initial** state. fastPCRF sends a ping to them and transitions to the **Dead-ping-sent** state, waiting for a ping response.+When fastPCRF starts, all RADIUS servers are in the **Initial** state. fastPCRF sends a ping to them and transitions to the **Dead-ping-sent** state, waiting for a ping response.
  
 In the **Alive** state, the server is pinged only if no responses have been received from it within the last `radius_keepalive` seconds. If the server is responding to requests and there is continuous request-response exchange, pings are not sent. When a ping is sent, the server transitions to the **Alive-ping-sent** state (waiting for a ping response). In the **Alive** state, the server is pinged only if no responses have been received from it within the last `radius_keepalive` seconds. If the server is responding to requests and there is continuous request-response exchange, pings are not sent. When a ping is sent, the server transitions to the **Alive-ping-sent** state (waiting for a ping response).
  
-In the **Dead** state, the server is pinged every `radius_dead_timeout` seconds: a ping is sent, and the server transitions to the **Dead-ping-sent** state. For example, if `radius_dead_timeout=3600` (1 hour), the Radius server cannot transition to the **Alive** state earlier than one hour after transitioning to the **Dead** state.+In the **Dead** state, the server is pinged every `radius_dead_timeout` seconds: a ping is sent, and the server transitions to the **Dead-ping-sent** state. For example, if `radius_dead_timeout=3600` (1 hour), the RADIUS server cannot transition to the **Alive** state earlier than one hour after transitioning to the **Dead** state.
  
-In the **Dead**/**Alive-ping-sent** states, the response to the ping is awaited for a maximum of `radius_response_timeout` seconds. The important factor is not the response to the ping itself but the fact of receiving any (any Radius message) from the server. If there is a response, the server transitions to the **Alive** state. If there is no response, it transitions to the **Dead** state.+In the **Dead**/**Alive-ping-sent** states, the response to the ping is awaited for a maximum of `radius_response_timeout` seconds. The important factor is not the response to the ping itself but the fact of receiving any (any RADIUS message) from the server. If there is a response, the server transitions to the **Alive** state. If there is no response, it transitions to the **Dead** state.
  
 The **Disabled** state can only be set via the CLI command `pcrf radius disable`. This state is similar to the **Dead** state (the server is inaccessible), but no pings are sent. Exiting the **Disabled** state is also only via the CLI command `pcrf radius enable`. The server transitions to **Dead**, and a ping is immediately sent (the state becomes **Dead-ping-sent**). The **Disabled** state can only be set via the CLI command `pcrf radius disable`. This state is similar to the **Dead** state (the server is inaccessible), but no pings are sent. Exiting the **Disabled** state is also only via the CLI command `pcrf radius enable`. The server transitions to **Dead**, and a ping is immediately sent (the state becomes **Dead-ping-sent**).
  
-When a Radius server transitions to the **Dead**/**Disabled** or **Alive** states, the watchdog notifies fastPCRF that a particular server has become unavailable or available, respectively.\\ **Important!** Reservation of Radius servers is implemented according to the Master-Slaves scheme: only one Radius server is considered operational (master), the rest are backups (regardless of their state). Radius servers are specified in a list (each Radius server in a separate `radius_server` option), with the most preferred server being the one specified in the first `radius_server` option in `fastpcrf.conf`, followed by the less preferred ones, and so on. If the server with number N > 1 is the master, it means all servers before it (1..N-1) are unavailable (**Dead**). If any of the servers 1..N-1 becomes alive (**Alive**), it immediately becomes the master, and all requests go to it. Responses from the previous master are accepted.+When a RADIUS server transitions to the **Dead**/**Disabled** or **Alive** states, the watchdog notifies fastPCRF that a particular server has become unavailable or available, respectively.\\ **Important!** Reservation of RADIUS servers is implemented according to the Master-Slaves scheme: only one RADIUS server is considered operational (master), the rest are backups (regardless of their state). RADIUS servers are specified in a list (each RADIUS server in a separate `radius_server` option), with the most preferred server being the one specified in the first `radius_server` option in `fastpcrf.conf`, followed by the less preferred ones, and so on. If the server with number N > 1 is the master, it means all servers before it (1..N-1) are unavailable (**Dead**). If any of the servers 1..N-1 becomes alive (**Alive**), it immediately becomes the master, and all requests go to it. Responses from the previous master are accepted.
  
 If the current master becomes unavailable, the first server in the **Alive** state is searched for and becomes the master. If the current master becomes unavailable, the first server in the **Alive** state is searched for and becomes the master.
  
-Authorization Radius servers do not receive any messages when they gain or lose master status. However, accounting servers do: if an accounting server loses master status, it is sent Accounting-Off; if an accounting server gains master status, it is sent Accounting-On. The following attributes are sent in Accounting-On/Off:+Authorization RADIUS servers do not receive any messages when they gain or lose master status. However, accounting servers do: if an accounting server loses master status, it is sent Accounting-Off; if an accounting server gains master status, it is sent Accounting-On. The following attributes are sent in Accounting-On/Off:
   * NAS attributes: NAS-IP-Address, NAS-IPv6-Address, NAS-Identifier. Either only one of these attributes is sent (in the priority order listed here — the highest priority is NAS-IP-Address), or if the `radius_add_all_nas_ids=1` option is set, all known attributes are sent;   * NAS attributes: NAS-IP-Address, NAS-IPv6-Address, NAS-Identifier. Either only one of these attributes is sent (in the priority order listed here — the highest priority is NAS-IP-Address), or if the `radius_add_all_nas_ids=1` option is set, all known attributes are sent;
   * Acct-Status-Type = Accounting-On or Accounting-Off;   * Acct-Status-Type = Accounting-On or Accounting-Off;
   * Acct-Session-Id = 0 — this acct-session-id value cannot be encountered by any acct session.   * Acct-Session-Id = 0 — this acct-session-id value cannot be encountered by any acct session.