LonghornPHP 2026

Типы атрибутов службы RADIUS

Эти константы описывают типы атрибутов протокола RADIUS, которые передают в функции radius_put_addr(), radius_put_attr(), radius_put_int() и radius_put_string().

RADIUS_USER_NAME (int)

Атрибут User-Name. Ожидается, что значение атрибута будет строкой (string), которая содержит имя аутентифицируемого пользователя, и которую устанавливают функцией radius_put_attr().

RADIUS_USER_PASSWORD (int)

Атрибут User-Password. Ожидается, что значение атрибута будет строкой (string), которая содержит пароль пользователя, и которую устанавливают функцией radius_put_attr(). Это значение будет обфусцировано при передаче согласно » разделу 5.2 стандарта RFC 2865.

RADIUS_CHAP_PASSWORD (int)

Атрибут Chap-Password. Ожидается, что значение атрибута будет строкой (string), первый байт которой содержит идентификатор CHAP пользователя, а следующие 16 байтов содержат MD5-хэш CHAP-идентификатора, пароль в виде открытого текста и значение запроса CHAP, объединенные вместе. Обратите внимание, что проверочное значение CHAP также должно быть отдельно послано в атрибуте RADIUS_CHAP_CHALLENGE.

Пример #1 Использование паролей CHAP

<?php

// Сначала создадим обработчик аутентификации и запрос
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Теперь, предполагая, что переменная $password содержит открытый пароль:

// Создаём проверочное значение
$challenge = mt_rand();

// Задаём идентификатор CHAP
$ident = 1;

// Добавляем атрибут Chap-Password
$cp = hash('md5', pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Добавляем атрибут Chap-Challenge
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* Теперь нужно добавить оставшиеся атрибуты
 * и вызывать функцию radius_send_request(). */

?>
RADIUS_NAS_IP_ADDRESS (int)

Атрибут NAS-IP-Address. Ожидается, что значение будет IP-адресом клиента RADIUS в виде целого числа. Атрибут устанавливается функцией radius_put_addr().

RADIUS_NAS_PORT (int)

Атрибут NAS-Port. Значение атрибута должно быть физическим портом пользователя на клиенте RADIUS в виде целого числа (int), которое устанавливается функцией radius_put_int().

RADIUS_SERVICE_TYPE (int)

Атрибут Service-Type. Значение атрибута указывает на тип службы, которую запрашивает пользователь; ожидается целое число (int), которое можно установить функцией radius_put_int().

Для представления возможных значений этого атрибута предусмотрен ряд констант. К ним относятся:

RADIUS_FRAMED_PROTOCOL (int)

Атрибут Framed-Protocol. Значение атрибута указывает тип кадрирования для доступа; ожидается целое число (int), которое можно установить функцией radius_put_int(). Возможные значения атрибута включают следующие константы:

RADIUS_FRAMED_IP_ADDRESS (int)

Атрибут Framed-IP-Address. Атрибут должен содержать адрес пользовательской сети в виде целого числа. Атрибут устанавливается функцией radius_put_addr() и извлекается функцией radius_cvt_addr().

RADIUS_FRAMED_IP_NETMASK (int)

Атрибут Framed-IP-Netmask. Значение атрибута должно быть маской сети пользователя, представленной в виде целого числа (int), которое можно установить функцией radius_put_addr() и извлечь функцией radius_cvt_addr().

RADIUS_FRAMED_ROUTING (int)

Атрибут Framed-Routing. Значение атрибута указывает метод маршрутизации для пользователя; ожидается целое число (int), которое можно установить функцией radius_put_int().

Возможные значения включают:

  • 0: Без маршрутизации
  • 1: Посылка пакетов маршрутизации
  • 2: Прослушивание пакетов маршрутизации
  • 3: Отправка и прослушивание

RADIUS_FILTER_ID (int)

Атрибут Filter-ID. Атрибут должен быть зависящей от реализации, человеко-читаемой строкой фильтров. Атрибут устанавливается функцией radius_put_attr().

RADIUS_FRAMED_MTU (int)

Атрибут Framed-MTU. Значение атрибута указывает MTU для пользователя; ожидается целое число (int), которое можно установить функцией radius_put_int().

RADIUS_FRAMED_COMPRESSION (int)

Атрибут Framed-Compression. Значение атрибута указывает на используемый тип сжатия; ожидается целое число (int), которое можно установить функцией radius_put_int(). Возможные значения атрибута включают следующие константы:

RADIUS_LOGIN_IP_HOST (int)

Атрибут Login-IP-Host. Значение атрибута должно быть IP-адресом для подключения пользователя, представленным в виде целого числа (int), которое можно установить функцией radius_put_addr().

RADIUS_LOGIN_SERVICE (int)

Атрибут Login-Service. Значение атрибута означает сервис, с которым пользователь соединяется на сервере аутентификации. Это значение можно преобразовать в целое число PHP функцией radius_cvt_int().

RADIUS_LOGIN_TCP_PORT (int)

Атрибут Login-TCP-Port. Значение атрибута означает порт, с которым пользователь соединяется на сервере аутентификации. Это значение можно преобразовать в целое число PHP с помощью функции radius_cvt_int().

RADIUS_REPLY_MESSAGE (int)

Атрибут Reply-Message. Значение атрибута содержит текст, который можно показать пользователю в ответ на запрос аутентификации.

RADIUS_CALLBACK_NUMBER (int)

Атрибут Callback-Number. Атрибут содержит строку, которую можно использовать как функцию обратного вызова.

RADIUS_CALLBACK_ID (int)

Атрибут Callback-Id. Строка, которая содержит имя вызываемого метода, специфичного для конкретной реализации.

RADIUS_FRAMED_ROUTE (int)

Атрибут Framed-Route. Строка, которая содержит зависящий от реализации список маршрутов сконфигурированных для пользователя.

RADIUS_FRAMED_IPX_NETWORK (int)

Атрибут Framed-IPX-Network. Целое число, которое определяет сеть IPX, настроенную для пользователя или 0xFFFFFFFE, что призывает клиента RADIUS выбрать сеть самостоятельно. Можно извлечь с помощью radius_cvt_int().

RADIUS_STATE (int)

Атрибут State. Значение атрибута — строка (string), которая зависит от реализации, включённая в ответ сервера Access-Challenge, которую нужно включить в следующий запрос Access-Request, и которая устанавливается функцией radius_put_attr().

RADIUS_CLASS (int)

Атрибут Class. Произвольная строка, включённая в сообщение Access-Accept, которую нужно отправить на сервер учётных данных в запросе Accounting-Request, и которая устанавливается функцией radius_put_attr().

RADIUS_VENDOR_SPECIFIC (int)

Атрибут Vendor-Specific. Обычно значения атрибутов поставщика должны устанавливаться функциями radius_put_vendor_addr(), radius_put_vendor_attr(), radius_put_vendor_int() и radius_put_vendor_string(), а не напрямую.

Эта константа в основном полезна при интерпретации специфичных для поставщика атрибутов в ответах RADIUS-сервера; когда получен специфичный для поставщика атрибут, вызывают функцию radius_get_vendor_attr(), чтобы получить доступ к идентификатору поставщика, а также типу и значению атрибута.

RADIUS_SESSION_TIMEOUT (int)

Время ожидания сессии.

RADIUS_IDLE_TIMEOUT (int)

Время ожидания простоя.

RADIUS_TERMINATION_ACTION (int)

Прекращение операции.

RADIUS_CALLED_STATION_ID (int)

Идентификатор вызываемой станции.

RADIUS_CALLING_STATION_ID (int)

Идентификатор вызывающей станции.

RADIUS_NAS_IDENTIFIER (int)

NAS ID

RADIUS_PROXY_STATE (int)

Состояние прокси.

RADIUS_LOGIN_LAT_SERVICE (int)

Сервис входа в систему LAT.

RADIUS_LOGIN_LAT_NODE (int)

Узел входа в систему LAT.

RADIUS_LOGIN_LAT_GROUP (int)

Группа входа в систему LAT.

Канал пакетной передачи данных для стека протоколов Appletalk.

RADIUS_FRAMED_APPLETALK_NETWORK (int)

Сеть пакетной передачи данных для стека протоколов Appletalk.

RADIUS_FRAMED_APPLETALK_ZONE (int)

Зона пакетной передачи данных для стека протоколов Appletalk.

RADIUS_CHAP_CHALLENGE (int)

Проверочное значение.

RADIUS_NAS_PORT_TYPE (int)

Тип порта NAS, одна из констант:

RADIUS_PORT_LIMIT (int)

Ограничение на порты.

RADIUS_LOGIN_LAT_PORT (int)

Порт входа в систему LAT.

RADIUS_CONNECT_INFO (int)

Информация о соединении.

RADIUS_ACCT_STATUS_TYPE (int)

Статус системы управления учётными данными, одна из констант:

RADIUS_ACCT_DELAY_TIME (int)

Время задержки системы управления учётными данными.

RADIUS_ACCT_INPUT_OCTETS (int)

Входящие байты в систему управления учётными данными.

RADIUS_ACCT_OUTPUT_OCTETS (int)

Исходящие байты из системы управления учётными данными.

RADIUS_ACCT_SESSION_ID (int)

Идентификатор сессии системы управления учётными данными.

RADIUS_ACCT_AUTHENTIC (int)

Тип системы управления учётными данными, одна из констант:

RADIUS_ACCT_SESSION_TIME (int)

Время сессии в системе управления учётными данными.

RADIUS_ACCT_INPUT_PACKETS (int)

Входящие пакеты в систему управления учётными данными.

RADIUS_ACCT_OUTPUT_PACKETS (int)

Исходящие пакеты из системы управления учётными данными.

RADIUS_ACCT_TERMINATE_CAUSE (int)

Аварийное завершение сеанса управления учётными данными:

RADIUS_ACCT_MULTI_SESSION_ID (int)

Многосессионный идентификатор системы управления учётными данными.

Количество соединений системы управления учётными данными.

Service-Type Constants
RADIUS_LOGIN

RADIUS_FRAMED

RADIUS_CALLBACK_LOGIN

RADIUS_CALLBACK_FRAMED

RADIUS_OUTBOUND

RADIUS_ADMINISTRATIVE

RADIUS_NAS_PROMPT

RADIUS_AUTHENTICATE_ONLY

RADIUS_CALLBACK_NAS_PROMPT

Framed-Protocol Constants
RADIUS_PPP

RADIUS_SLIP

RADIUS_ARAP

RADIUS_GANDALF

RADIUS_XYLOGICS

Framed-Compression Constants
RADIUS_COMP_NONE

RADIUS_COMP_VJ

RADIUS_COMP_IPXHDR

RADIUS_COMP_STAC_LZS

NAS Port Type Constants
RADIUS_ASYNC

RADIUS_SYNC

RADIUS_ISDN_SYNC

RADIUS_ISDN_ASYNC_V120

RADIUS_ISDN_ASYNC_V110

RADIUS_VIRTUAL

RADIUS_PIAFS

RADIUS_HDLC_CLEAR_CHANNEL

RADIUS_X_25

RADIUS_X_75

RADIUS_G_3_FAX

RADIUS_SDSL

RADIUS_ADSL_CAP

RADIUS_ADSL_DMT

RADIUS_IDSL

RADIUS_ETHERNET

RADIUS_XDSL

RADIUS_CABLE

RADIUS_WIRELESS_OTHER

RADIUS_WIRELESS_IEEE_802_11

Accounting Status Type Constants
RADIUS_START

RADIUS_STOP

RADIUS_ACCOUNTING_ON

RADIUS_ACCOUNTING_OFF

Accounting Authentic Constants
RADIUS_AUTH_RADIUS

RADIUS_AUTH_LOCAL

RADIUS_AUTH_REMOTE

Accounting Terminate Cause Constants
RADIUS_TERM_USER_REQUEST

RADIUS_TERM_LOST_CARRIER

RADIUS_TERM_LOST_SERVICE

RADIUS_TERM_IDLE_TIMEOUT

RADIUS_TERM_SESSION_TIMEOUT

RADIUS_TERM_ADMIN_RESET

RADIUS_TERM_ADMIN_REBOOT

RADIUS_TERM_PORT_ERROR

RADIUS_TERM_NAS_ERROR

RADIUS_TERM_NAS_REQUEST

RADIUS_TERM_NAS_REBOOT

RADIUS_TERM_PORT_UNNEEDED

RADIUS_TERM_PORT_PREEMPTED

RADIUS_TERM_PORT_SUSPENDED

RADIUS_TERM_SERVICE_UNAVAILABLE

RADIUS_TERM_CALLBACK

RADIUS_TERM_USER_ERROR

RADIUS_TERM_HOST_REQUEST

Добавить

Примечания пользователей 1 note

up
3
Anonymous
10 years ago
To fix missing the "Alive" of Acct-Status-Type, just :

define('RADIUS_ALIVE', 3);
To Top