Интеграция с Radius-сервером [Документация VAS Experts]

Интеграция с Radius-сервером


FastPCRF шлет Access-Request-запросы со следующими атрибутами:

User-Name = "94.158.56.38"
User-Password = "VasExperts.FastDPI"
Framed-IP-Address = 94.158.56.38
Acct-Session-Id = "001122334455667788"
NAS-Port-Type = 5 (Virtual)
NAS-Port = 0
NAS-Port-Id = "708"
NAS-IP-Address = 192.168.0.40
Service-Type = 2 (Framed-User)
VasExperts-Service-Type=0
Message-Authenticator = 0x655ad71144647dd842afd3b65b08d421

где:

  • User-Name — IP-адрес пользователя в виде строки. Можно задать, что указывать в атрибуте User-Name, подробнее см. ниже.
  • User-Password — пароль. Для всех пользователей пароль один и тот же и задается conf-параметром radius_user_password. Не следует рассматривать это поле как пароль пользователя, — это пароль системы.
  • Framed-IP-Address — IPv4-адрес пользователя.
  • Calling-Station-Id — srcMAC адрес пакета, инициировавшего запрос. Полезно для L2-провайдеров — в этом случае это MAC-адрес абонента.
  • Acct-Session-Id — идентификатор accounting-сессии.
  • NAS-Port-Type — задается значением conf-параметра radius_attr_nas_port_type. Перечень допустимых значений определен RFC 2865. В данном примере значение равно 5 (Virtual).
  • NAS-Port — значение тега VLAN пакета абонента; данный атрибут добавляется только для VLAN-сетей.
  • NAS-Port-Id — значение тегов QinQ пакета абонента в формате "outerVLAN/innerVLAN", например, "34/123"; данный атрибут добавляется только для QinQ-сетей.
  • NAS-IP-Address или NAS-Identifier — IP-адрес или строковый идентификатор сервера fastDPI. Берется из настройки fdpi_server.
  • Service-Type — задается значением conf-параметра radius_attr_service_type. Полный список значений данного атрибута приведен в RFC-2865. В данном примере Service-Type=2 (Framed-User).
  • VasExperts-Service-Type(VSA vendor-id=43823, attr-id=6) — тип запроса авторизации: 0 — L3-авторизация, 1 — лизинг DHCP-адреса + авторизация, см. режим DHCP Radius proxy.
  • Message-Authenticator — вычисляемый атрибут, см. RFC-2869. Этот атрибут включается в Access-Request, если conf-параметр radius_msg_auth_attr=1 (рекомендованное значение).
IPv6

Запрос авторизации для IPv6 несколько отличается — вместо атрибута Framed-IP-Address в запросе присутствуют следующие атрибуты:

  • Framed-IPv6-Prefix — префикс IPv6-подсети. Фактически, авторизация проводится не для конкретного IPv6-адреса, а для всех адресов с данным префиксом.
  • Framed-IPv6-Address — IPv6-адрес. По умолчанию в данном атрибуте указывается адрес префикса, например, для адреса 2001:1::1 значение атрибута будет 2001:1::. Но если задать fastpcrf.conf-параметру ipv6_native_framed_address значение 1, то значением атрибута Framed-IPv6-Address будет полный IPv6-адрес, в нашем примере - 2001:1::1. Следует помнить, что задание ipv6_native_framed_address=1 не означает, что СКАТ будет авторизовать каждый IPv6-адрес, — нет, он по-прежнему будет рассматривать IPv6-авторизацию как авторизацию абонентских подсетей. Например, если идут пакеты от абонента 2001:1::1 и 2001:1::ab, то на авторизацию будет послан только один из этих адресов, а возвращенные параметры будут применены ко всем адресам подсети 2001:1::/64.
Значение атрибута User-Name

В качестве User-Name в запросе Access-Request может быть использован:

  • логин абонента (не всегда известен СКАТ);
  • IP-адрес абонента (известен всегда);
  • Q-in-Q теги (для QinQ-сетей, "vlan-per-user").

В fastpcrf.conf параметр radius_user_name_auth задает значение атрибута User-Name в порядке предпочтения:

  • login - использовать логин абонента;
  • ip - использовать IP-адрес абонента;
  • qinq - использовать QinQ-тег в формате "outerVLAN.innerVLAN"; например, "101.205";
  • mac - использовать srcMAC из пакета. Для L2-провайдеров это MAC-адрес абонента.

Пример:

  # В атрибут User-Name помещать QinQ-тег, если его нет - логин абонента, если его нет - IP-адрес
radius_user_name_auth=qinq,login,ip

Значение по умолчанию: radius_user_name_auth=login,ip,qinq

В ответе Access-Accept или Access-Reject СКАТ ожидает получить истинный логин абонента в атрибуте VasExperts-UserName или User-Name.

Атрибуты ответов