Начиная с версии программного обеспечения 4.0.26, на коммутаторах появилась функция RADIUS-server tracking. Эта функция позволяет коммутатору активно и периодически проверять доступность RADIUS-серверов, отправляя тестовые запросы аутентификации. Получение любого ответа от сервера (Accept или Reject) интерпретируется как признак его работоспособности ("живой" сервер). Это повышает отказоустойчивость сценариев аутентификации, так как коммутатор может оперативно исключать нерабочие серверы из использования.
Конфигурация параметров отслеживанияСначала необходимо создать профиль отслеживания с уникальным идентификатором (ID). Для этого используется глобальная команда конфигурации:
radius-server track <ID: 1-100> [interval <1-300>] [max-retries <1-10>] [timeout <1-300>] [username <строка 1-128>] [password <строка 1-128>] |
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
| interval | 5 секунд | Периодичность отправки тестовых сообщений на сервер (в секундах). |
| max-retries | 3 попытки | Максимальное количество запросов подряд, на которые не пришел ответ, перед тем как сервер будет помечен как "dead" (недоступный). |
| timeout | 60 секунд | Время (в секундах), в течение которого система приостанавливает отправку тестовых запросов к серверу, после того как он был признан "dead". По истечении этого таймера проверки возобновляются. |
| username | radius-tracker | Имя пользователя, используемое в тестовых запросах. |
| password | - | Пароль, используемый в тестовых запросах. Примечание: Если пароль не задан, соответствующее поле в запросе не передается. |
Пример создания профиля:
radius-server track 1 interval 10 max-retries 2 timeout 120 username monitor_01 password MySecurePass123 |
Привязка профиля отслеживания к RADIUS-серверуСозданный профиль необходимо привязать к конкретному хосту RADIUS-сервера. Для этого используется команда настройки сервера с указанием track-id.
Примечание: для корректной работы механизма отслеживания необходимо явно задать параметр deadtime для RADIUS-сервера. Этот параметр определяет, как долго коммутатор будет считать сервер недоступным ("dead") после его обнаружения. Если deadtime не задан (по умолчанию 0), сервер никогда не будет переведен в состояние "dead" на уровне AAA, и функция tracking окажется бесполезной. Приведем пример настройки, где сервер 192.168.1.100 будет исключен из использования на 5 минут при обнаружении проблем, и за его состоянием будет следить профиль tracking с ID = 1.
radius-server host 192.168.1.100 key 7 MySharedSecret deadtime 5 track-id 1 |
После выполнения этой команды отслеживание указанного сервера запускается немедленно.
Мониторинг и проверка конфигурацииДля отображения всех настроенных профилей tracking и их привязки к серверам используйте команду:
console#show radius-servers tracking configuration
Address Message Maximum Pause User name
Interval Retries Interval
--------------- -------- ------- -------- ------------------------
192.168.1.100 5 3 60 radius-tracker |
Расширенная команда show radius-servers status теперь включает два ключевых столбца, связанных с отслеживанием:
console#show radius-servers status
IP address Port port Client Dead status Dead remain Tracking Tracking
Auth Acct timeouts (minutes) status timeout
--------------- ----- ----- -------- ----------- ----------- -------- --------
10.2.0.150 1812 1813 65 dead 0 active active
10.2.0.160 1812 1813 0 working - inactive -
10.2.0.170 1812 1813 0 working - active inactive |
10.2.0.150: Сервер считается dead. Tracking active, но и tracking timeout тоже active — это означает, что сработал лимит max-retries, и сейчас действует период паузы (timeout), в течение которого проверки не проводятся.
10.2.0.160: Сервер working. Tracking inactive - отсутствует привязка track, проверки не проводятся.
10.2.0.170: Сервер working. Tracking active, а tracking timeout — inactive. Это штатный режим: проверки выполняются, таймер паузы не запущен.
Tracking status: Показывает общее состояние механизма tracking для сервера (active / inactive).
Tracking timeout: Указывает, активен ли в данный момент таймер паузы (timeout), запущенный после перевода сервера в состояние dead по версии tracking.