Типы аттрибутов 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$secret33);
radius_create_request($radhRADIUS_ACCESS_REQUEST);

// Считая, что $password содержит пароль в незашифрованном виде, мы делаем:

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

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

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

// Добавляем аттрибут Chap-Challenge.
radius_put_attr($radhRADIUS_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 в виде целого числа. Аттрибут устанавливается функцией radius_put_addr().

RADIUS_SERVICE_TYPE (int)

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

Допустимы следующие значения:

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (int)

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

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (int)

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

RADIUS_FRAMED_IP_NETMASK (int)

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

RADIUS_FRAMED_ROUTING (int)

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

Допустимые значения:

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

RADIUS_FILTER_ID (int)

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

RADIUS_FRAMED_MTU (int)

Аттрибут Framed-MTU. Целое число, означающее знрачение MTU. Аттрибут устанавливается функцией radius_put_addr()

RADIUS_FRAMED_COMPRESSION (int)

Аттрибут Framed-Compression. Целое число, означающее протокол сжатия. Аттрибут устанавливается функцией radius_put_addr() Допустимые значения:

  • RADIUS_COMP_NONE: Без сжатия
  • RADIUS_COMP_VJ: Сжатие заголовков VJ TCP/IP
  • RADIUS_COMP_IPXHDR: Сжатие заголовков IPX
  • RADIUS_COMP_STAC_LZS: Сжатие Stac-LZS (добавлено в PECL radius 1.3.0b2)

RADIUS_LOGIN_IP_HOST (int)

Аттрибут Login-IP-Host. Целое число, представляющее IP-адрес, с которым соединяется пользователь. Аттрибут устанавливается функцией 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. Зависящая от реализации строка, включенная в ответ 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

Framed Appletalk Link

RADIUS_FRAMED_APPLETALK_NETWORK (int)

Framed Appletalk Network

RADIUS_FRAMED_APPLETALK_ZONE (int)

Framed Appletalk Zone

RADIUS_CHAP_CHALLENGE (int)

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

RADIUS_NAS_PORT_TYPE (int)

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

  • 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

RADIUS_PORT_LIMIT (int)

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

RADIUS_LOGIN_LAT_PORT (int)

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

RADIUS_CONNECT_INFO (int)

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

RADIUS_ACCT_STATUS_TYPE (int)

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

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

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_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (int)

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

RADIUS_ACCT_INPUT_PACKETS (int)

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

RADIUS_ACCT_OUTPUT_PACKETS (int)

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

RADIUS_ACCT_TERMINATE_CAUSE (int)

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

  • 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

RADIUS_ACCT_MULTI_SESSION_ID (int)

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

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