Формат Access-Reject для PPPoE-сетей [Документация VAS Experts]

Формат Access-Reject для PPPoE-сетей

Возможно два типа "неавторизованности" абонента:

  • абонент наш, но по какой-то причине (нулевой баланс, заблокирован и пр.) ему не может быть выдан полный спектр услуг
  • абонент нам неизвестен - в этом случае абонента в сеть пускать нельзя

В первом случае (наш абонент) абоненту нужно выдать IP-адрес (то есть PPPoE-сессия будет установлена, авторизация успешна), но следует задать урезанные настройки - специальный профиль полисинга, услугу 5 (белый список + captive portal), - чтобы абонент смог зайти в сеть и, например, пополнить свой баланс. То есть Access-Reject должен содержать атрибут Framed-IP-Address для таких абонентов.

Во втором случае (левый абонент, ошибка в параметрах авторизации) пакет Access-Reject не должен содержать атрибута Framed-IP-Address, что трактуется как запрет входа в сеть: PPPoE-сессия не устанавливается, авторизация не проходит.

Access-Reject содержит следующие атрибуты:

  • Framed-IP-Address - IP-адрес, выданный абоненту. Если абонент "левый", ему не надо выдавать IP-адрес, то есть атрибута Framed-IP-Address в Access-Reject быть не должно.
  • Idle-Timeout - тайм-аут бездействия, в секундах. PPPoE-сессия будет закрыта, если в течение этого времени не было пакетов от/к абоненту. Если этот атрибут не задан, сессия считается бессрочной (пока явно не будет закрыта абонентом)
  • Reply-Message - необязательный атрибут: сообщение, которое будет передано абоненту в PPP Auth-Ack/Auth-Nak ответе
  • Session-Timeout - необязательный атрибут: max время жизни сессии, секунд.
  • Acct-Interim-Interval - необязательный атрибут: период отправки промежуточных данных accounting'а, секунд (не может быть меньше 60). 0 - не отправлять промежуточный accounting.
  • Class - необязательный атрибут: этот атрибут, если задан, будет отправляться "as is" во всех accounting-пакетах

Для типа авторизации MS-CHAPv2 поддерживается также атрибут MS-CHAP-Error [RFC2548].

Поддерживаются следующие VSA-атрибуты Microsoft (vendor-id=311, RFC2548), все они не являются обязательными:

  • MS-Primary-DNS-Server - IP-адрес primary DNS сервера
  • MS-Secondary-DNS-Server - IP-адрес secondary DNS сервера
  • MS-Primary-NBNS-Server - IP-адрес primary NetBios сервера
  • MS-Secondary-NBNS-Server - IP-адрес secondary NetBios сервера

VSA-атрибуты VASExperts (vendor-id=43823), не являются обязательными:

[41] VASExperts-DHCP-DNS - IP-адрес DNS сервера. Может быть не более двух атрибутов VASExperts-DHCP-DNS: для основного (primary) и резервного (secondary) сервера.

Адреса DNS-серверов могут быть заданы через Microsoft VSA-атрибуты или VASExperts VSA-атрибут.

Если абонент авторизован, то есть ему выдан IP-адрес, то в дополнение к вышеперечисленным атрибутам обязательно следует задать в специальных VASExperts VSA-атрибутах профиль полисинга VasExperts-Policing-Profile и профиль услуги 5 (белый список + Captive Portal) VasExperts-Service-Profile, подробнее см. L3 BRAS.

Зачем для "наших" абонентов нужен Access-Reject?..

Профиль полисинга и услуги, заданные в Access-Reject, применяются временно. Если свойства абонента, пришедшие в атрибутах Access-Accept, запоминаются во внутренней базе данных (UDR) fastDPI и применяются даже после перезагрузки, то свойства из Access-Reject применяются без сохранения в UDR. То есть при перезагрузке fastDPI восстановятся те свойства абонента, которые пришли последний раз в Access-Accept, и fastDPI будет их применять до тех пор, пока не получит новые в ответ на Access-Request.