2.3. Сервер-посредник (Proxy)
При работе в режиме посредника (proxy) сервер RADIUS принимает от клиента (например, NAS) запросы идентификации или учета и пересылает эти запросы другому серверу RADIUS, а получив от этого сервера отклики, пересылает их клиенту (возможно с внесением изменений в соответствии с локальной политикой администрирования). Наиболее распространенным вариантом использования RADIUS-посредников является организация систем роуминга (roaming), когда два (или более) провайдера принимают запросы не только от своих клиентов, но и от клиентов своих партнеров.
NAS передает серверу RADIUS запрос Access-Request, который сервер-посредник переправляет "удаленному серверу". Последний возвращает серверу-посреднику отклик (Access-Accept, Access-Reject или Access-Challenge), который пересылается NAS. Атрибут User-Name может содержать идентификатор NAI[8] для работы с RADIUS Proxy. Выбор сервера, которому будут пересылаться клиентские запросы следует производить на основе областей идентификации (authentication "realm"). Область идентификации может быть частью идентификатора NAI[?] (named realm). Кроме того, возможен выбор сервера для пересылки запросов на основе других параметров, например, Called-Station-Id (numbered realm).
Сервер RADIUS может работать одновременно в режиме посредника (forwarding server) и отвечающего сервера (remote server), выбирая тот или иной режим в зависимости от области идентификации. Один сервер-посредник может пересылать запросы неограниченному числу удаленных серверов. Точно так же отвечающий сервер может принимать запросы от любого числа серверов-посредников. Сервер-посредник даже может пересылать запросы другому посреднику для создания proxy-цепочек, но этого следует остерегаться во избежание возникновения петель.
Ниже приведен пример обмена информацией между NAS, сервером-посредником и отвечающим сервером RADIUS:
NAS передает запрос Access-Request серверу-посреднику.
Посредник пересылает запрос удаленному серверу.
Удаленный сервер возвращает посреднику отклик Access-Accept, Access-Reject или Access-Challenge (для нашего примера пусть это будет Access-Accept).
Посредник передает полученный отклик серверу NAS.
Пересылающий сервер должен трактовать имеющиеся атрибуты Proxy-State как непонятные данные (opaque data). Зависимость работы пересылающего сервера от ранее добавленных атрибутов Proxy-State недопустима.
Если атрибуты Proxy-State присутствуют в запросе, полученном от клиента, сервер-посредник должен включить эти атрибуты в возвращаемый клиенту отклик. Сервер-посредник может включать атрибуты Proxy-State в Access-Request при пересылке запроса или опускать такие атрибуты при пересылке. Если при пересылке запроса атрибуты Proxy-State были опущены, сервер-посредник должен включить их в отклик, возвращаемый клиенту.