Резервирование RADIUS-сервера [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
dpi:bras_bng:radius_integration:radius_auth_fastpcrf_setup:radius_server_reservation [2024/09/26 15:29] – внешнее изменение 127.0.0.1dpi:bras_bng:radius_integration:radius_auth_fastpcrf_setup:radius_server_reservation [2024/12/05 15:00] (текущий) elena.krasnobryzh
Строка 1: Строка 1:
 {{indexmenu_n>5}} {{indexmenu_n>5}}
-======Резервирование Radius-сервера====== +======Резервирование RADIUS-сервера====== 
-Каждый Radius-сервер описывается FSM (конечным автоматом).+Каждый RADIUS-сервер описывается FSM (конечным автоматом).
  
-Radius-сервер может быть в одном из шести состояний:+RADIUS-сервер может быть в одном из шести состояний:
   * **Initial** — состояние при старте fastPCRF;   * **Initial** — состояние при старте fastPCRF;
-  * **Alive** — Radius-сервер доступен, можно посылать на него запросы; +  * **Alive** — RADIUS-сервер доступен, можно посылать на него запросы; 
-  * **Dead** — Radius-сервер недоступен, запросы не посылать; +  * **Dead** — RADIUS-сервер недоступен, запросы не посылать; 
-  * **Alive-ping-sent** — послали ping на Radius-сервер в состоянии Alive, ждем ответа; +  * **Alive-ping-sent** — послали ping на RADIUS-сервер в состоянии Alive, ждем ответа; 
-  * **Dead-ping-sent** — послали ping на Radius-сервер в состоянии Dead, ждем ответа;+  * **Dead-ping-sent** — послали ping на RADIUS-сервер в состоянии Dead, ждем ответа;
   * **Disabled** — административно запрещенный сервер.   * **Disabled** — административно запрещенный сервер.
  
 Основные состояния — **Alive** и **Dead**, остальные состояния переходные. Основные состояния — **Alive** и **Dead**, остальные состояния переходные.
-Radius-сервер считается доступным, если он находится в состояниях **Alive** или **Alive-ping-sent**. В остальных состояниях Radius-сервер считается недоступным и отправка запросов на него невозможна.+RADIUS-сервер считается доступным, если он находится в состояниях **Alive** или **Alive-ping-sent**. В остальных состояниях RADIUS-сервер считается недоступным и отправка запросов на него невозможна.
  
-Ping — это запрос Status-Server или, если Radius-сервер не поддерживает Status-Server (опция ''radius_status_server''), Access-Request с User-Name и Password равным опциям ''radius_ping_user_name'' и ''radius_ping_user_password'' соответственно.+Ping — это запрос Status-Server или, если RADIUS-сервер не поддерживает Status-Server (опция ''radius_status_server''), Access-Request с User-Name и Password равным опциям ''radius_ping_user_name'' и ''radius_ping_user_password'' соответственно.
  
 Раз в 10 секунд запускается задача watchdog, которая проверяет, надо ли посылать пинг, получен ли ответ на пинг, и в соответствии с этим переводит сервер в то или иное состояние или оставляет состояние неизменным. Раз в 10 секунд запускается задача watchdog, которая проверяет, надо ли посылать пинг, получен ли ответ на пинг, и в соответствии с этим переводит сервер в то или иное состояние или оставляет состояние неизменным.
  
-При старте fastPCRF все Radius-сервера находятся в состоянии **Initial**. FastPCRF посылает к ним ping и переходит в состояние **Dead-ping-sent** ожидания ответа на пинг.+При старте fastPCRF все RADIUS-сервера находятся в состоянии **Initial**. FastPCRF посылает к ним ping и переходит в состояние **Dead-ping-sent** ожидания ответа на пинг.
  
 В состоянии **Alive** сервер пингуется только если от него не поступало никаких ответов в течение последних ''radius_keepalive'' секунд. То есть если сервер отвечает на запросы и происходит непрерывный обмен запрос-ответ, — пинги к нему не шлются. При отправке пинга сервер переходит в состояние **Alive-ping-sent** (ожидание ответа на пинг). В состоянии **Alive** сервер пингуется только если от него не поступало никаких ответов в течение последних ''radius_keepalive'' секунд. То есть если сервер отвечает на запросы и происходит непрерывный обмен запрос-ответ, — пинги к нему не шлются. При отправке пинга сервер переходит в состояние **Alive-ping-sent** (ожидание ответа на пинг).
  
-В состоянии **Dead** сервер пингуется раз в ''radius_dead_timeout'' секунд: посылается пинг и сервер переходит в состояние **Dead-ping-sent**. То есть если ''radius_dead_timeout=3600'' (1 час), то Radius-сервер может перейти в состояние **Alive** не раньше чем через час после перехода в состояние **Dead**.+В состоянии **Dead** сервер пингуется раз в ''radius_dead_timeout'' секунд: посылается пинг и сервер переходит в состояние **Dead-ping-sent**. То есть если ''radius_dead_timeout=3600'' (1 час), то RADIUS-сервер может перейти в состояние **Alive** не раньше чем через час после перехода в состояние **Dead**.
  
-В состояниях **Dead**/**Alive-ping-sent** ответа на пинг ожидание максимум ''radius_response_timeout'' секунд. Важен не сам факт ответа на пинг, а факт прихода чего-либо (любого Radius-сообщения) от сервера. Если ответ есть — сервер переходит в состояние **Alive**. Если нет ответа — в состояние **Dead**.+В состояниях **Dead**/**Alive-ping-sent** ответа на пинг ожидание максимум ''radius_response_timeout'' секунд. Важен не сам факт ответа на пинг, а факт прихода чего-либо (любого RADIUS-сообщения) от сервера. Если ответ есть — сервер переходит в состояние **Alive**. Если нет ответа — в состояние **Dead**.
  
 В состояние **Disabled** сервер можно перевести только CLI-командой ''pcrf radius disable''. Это состояние аналогично состоянию **Dead** (сервер недоступен), только никакие пинги не посылаются. Вывод из состояния **Disabled** — также только CLI-командой ''pcrf radius enable''. Сервер переходит в **Dead** и немедленно шлется пинг (то есть состояние становится **Dead-ping-sent**). В состояние **Disabled** сервер можно перевести только CLI-командой ''pcrf radius disable''. Это состояние аналогично состоянию **Dead** (сервер недоступен), только никакие пинги не посылаются. Вывод из состояния **Disabled** — также только CLI-командой ''pcrf radius enable''. Сервер переходит в **Dead** и немедленно шлется пинг (то есть состояние становится **Dead-ping-sent**).
  
-При переходе Radius-сервера в состояния **Dead**/**Disabled** или **Alive** watchdog оповещает fastPCRF, что такой-то сервер стал недоступен или доступен соответственно.\\ **Важно!** Резервирование Radius-серверов реализовано по схеме Master-Slaves: только один Radius-сервер считается рабочим (master), остальные — резервные (в каком бы состоянии они не находились). Radius-сервера задаются списком (каждый Radius-сервер — в отдельной опции ''radius_server''), самым предпочтительным считается сервер, заданный в первой (по порядку в ''fastpcrf.conf'') опции ''radius_server'', затем менее предпочтительный, затем еще менее и т.д. Если сервер с номером N > 1 является master’ом, — это значит, что все сервера перед ним (1..N-1) недоступны (**Dead**). Если какой-либо серверов 1..N-1 становится живым (**Alive**) — он немедленно становится master’ом и все запросы идут на него. Ответы от прежнего master’а принимаются.+При переходе RADIUS-сервера в состояния **Dead**/**Disabled** или **Alive** watchdog оповещает fastPCRF, что такой-то сервер стал недоступен или доступен соответственно.\\ **Важно!** Резервирование RADIUS-серверов реализовано по схеме Master-Slaves: только один RADIUS-сервер считается рабочим (master), остальные — резервные (в каком бы состоянии они не находились). RADIUS-сервера задаются списком (каждый RADIUS-сервер — в отдельной опции ''radius_server''), самым предпочтительным считается сервер, заданный в первой (по порядку в ''fastpcrf.conf'') опции ''radius_server'', затем менее предпочтительный, затем еще менее и т.д. Если сервер с номером N > 1 является master’ом, — это значит, что все сервера перед ним (1..N-1) недоступны (**Dead**). Если какой-либо серверов 1..N-1 становится живым (**Alive**) — он немедленно становится master’ом и все запросы идут на него. Ответы от прежнего master’а принимаются.
  
 Если становится недоступным текущий master, — ищется самый первый сервер в состоянии **Alive** и он становится master’ом. Если становится недоступным текущий master, — ищется самый первый сервер в состоянии **Alive** и он становится master’ом.
  
-Radius-серверам авторизации не шлется никаких сообщений, когда они получают или теряют статус мастера. А accounting серверам — шлется: если accounting-сервер теряет статус мастера, ему посылается Accounting-Off; если accounting-сервер обретает статус мастера, ему посылается Accounting-On. В Accounting-On/Off посылаются следующие атрибуты:+RADIUS-серверам авторизации не шлется никаких сообщений, когда они получают или теряют статус мастера. А accounting серверам — шлется: если accounting-сервер теряет статус мастера, ему посылается Accounting-Off; если accounting-сервер обретает статус мастера, ему посылается Accounting-On. В Accounting-On/Off посылаются следующие атрибуты:
   * NAS-атрибуты: NAS-IP-Address, NAS-IPv6-Address, NAS-Identifier. Посылается либо только один из этих атрибутов (приоритет именно такой, как эти атрибуты здесь перечислены — самый приоритетный NAS-IP-Address), либо, если опция ''radius_add_all_nas_ids=1'', все известные;   * NAS-атрибуты: NAS-IP-Address, NAS-IPv6-Address, NAS-Identifier. Посылается либо только один из этих атрибутов (приоритет именно такой, как эти атрибуты здесь перечислены — самый приоритетный NAS-IP-Address), либо, если опция ''radius_add_all_nas_ids=1'', все известные;
   * Acct-Status-Type = Accounting-On или Accounting-Off;   * Acct-Status-Type = Accounting-On или Accounting-Off;
   * Acct-Session-Id = 0 — это значение acct-session-id не может встретиться ни у какой acct-сессии.   * Acct-Session-Id = 0 — это значение acct-session-id не может встретиться ни у какой acct-сессии.