Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 4 Следующий »

В СКАТ DPI используются RADIUS-атрибуты вендора, которые необходимо добавить в dictionary.xml InetAccess и InetAccounting, если они там отсутствуют:

        <vendor name="VasExperts" code="43823">
        	<attribute name="VasExperts-Service-Profile" code="1" type="string" />
        	<attribute name="VasExperts-Policing-Profile" code="2" type="string" />
        	<attribute name="VasExperts-Enable-Service" code="3" type="string" />
        	<attribute name="VasExperts-Restrict-User" code="7" type="integer" />
        </vendor>
  • VasExperts-Service-Profile - имя профиля услуги fastDPI,

  • VasExperts-Enable-Service - включение/выключении услуги по ее коду,

  • VasExperts-Policing-Profile - имя профиля policy,

  • VasExperts-Restrict-User - флаг блокировки абонента.

Коды услуг СКАТ DPI:

  • 1 - бонусная программа 
  • 2 - реклама 
  • 3 - блокировка рекламы 
  • 4 - черный список 
  • 5 - белый список 
  • 6 - уведомление 
  • 7 - кэширование 
  • 8 - пройдена ddos защита 
  • 9 - сбор netflow статистики для биллинга 
  • 10 - услуга защиты от DDOS 
  • 11 – CGNAT

Например, для того, чтобы включить отправку Netflow для сессии, то в Access-Accept (radius.realm.default.attributes=) необходимо выдать "VasExperts-Enable-Service=9:on":

Конфигурация типа устройства
radius.realm.default.attributes=Acct-Interim-Interval=900;VasExperts-Enable-Service=9:on

Если для услуги необходимо включить настроенный профиль, то указываем VasExperts-Service-Profile=<код услуги>:<имя профиля услуги>:

Конфигурация типа устройства
radius.realm.default.attributes=Acct-Interim-Interval=900;VasExperts-Enable-Service=9:on;VasExperts-Service-Profile=11:nat_profile;VasExperts-Service-Profile=5:white_list

Скорость регулируем, указывая имя профиля policy: VasExperts-Policing-Profile=rate_10M.

Настройка типа устройства

Создайте тип устройства "СКАТ DPI", укажите CoAServiceActivator в поле "Обработчик активации сервисов" и CoAProtocolHandler в поле "Обработчик процессора протокола". В конфигурации типа устройства укажите:

Конфигурация типа устройства
# Режим поиска сервиса (аккаунта) договора: 0 (по умолчанию) - по логину, 1 - по интерфейсу на устройстве (в предобработке должны быть
# проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или INTERFACE_ID), 2 - по VLAN на устройстве (в предобработке
# должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), 4 - по VLAN на устройстве или
# дочернем устройстве (в предобработке должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID),
# 5 - по MAC-адресу на устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS), 6 - по MAC-адресу на
# устройстве или дочернем устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS).
#radius.servSearchMode=0
# Нужно ли проверять пароль: 0 - нет (например, для IPoE), 1 (по умолчанию) - да.
#radius.password.verification=1

# Порт для отправки PoD и CoA-запросов (по умолчанию - порт, заданный в устройстве в поле Хост/порт)
radius.port=3799
 
# При выдаче Access-Accept добавлять запись в базу.
# Hеобходимо, если используется Reject-To-Accept и по Start-пакету нельзя определить в каком состоянии соединение
connection.start.fromAccept=1
 
# Таймаут перевода соединения в статус suspended при отсутствии радиус пакетов сессии
connection.suspend.timeout=3600
# Таймаут закрытия соединения при отcутствии радиус пакетов сессии (не складывается с connection.suspend.timeout)
connection.close.timeout=3600
# При закрытии соединения по таймауту, 0 (по умолчанию) - просто закрыть,
# 1 - попытаться сбросить также на NAS'е (вызвать connectionClose у обработчика активации сервисов)
#connection.close.timeout.forceClose=1
 
# Атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
# Acct-Interim-Interval - требуемый интервал между Accounting-Update запросами по сессии от NAS'а
radius.realm.default.attributes=Acct-Interim-Interval=900
#radius.realm.default.attributes=Acct-Interim-Interval=900;VasExperts-Enable-Service=9:on

# Коды ошибок авторизации, при которых отвечать Access-Accept в состоянии disable (rejectToAccept)
radius.disable.accessCodes= 
# Какие адреса выдавать при ответе Access-Accept в состоянии disable: 
# 0 (по умолчанию) - из radius.disable.ipCategories, 1 - так же, как если бы не было ошибки (в том числе привязанные к сервису в договоре)
#radius.disable.mode=0

# Атрибуты, выдаваемые при ответе Access-Accept в состоянии disable
radius.disable.attributes=Acct-Interim-Interval=900;VasExperts-Restrict-User=1
# Атрибуты, отправляемые в CoA при необходимости ограничить доступ
sa.radius.disable.attributes=VasExperts-Restrict-User=1
# Атрибуты, отправляемые в CoA при необходимости включить доступ
sa.radius.enable.attributes=VasExperts-Restrict-User=0
 
# Id фиктивного сервиса, к которому будут привязываться сессии, по которым нормальный сервис не был найден (код ошибки: 1, логин не найден).
# Необходим, если в radius.disable.accessCodes присутствует код 1
#radius.disable.servId=


# Шаблон опций-параметров сессий (1 - опция-папка, в которой содержатся опции-Service-Profile, 2 - опция-папка, в которой содержаться опции-Policing-Profile)
# В конфигурации опций, соответственно, указано serviceProfile= и policingProfile=
#radius.inetOption.1.template=VasExperts-Service-Profile=$serviceProfile;VasExperts-Policing-Profile=$policingProfile
radius.inetOption.1.template=VasExperts-Service-Profile=$serviceProfile
radius.inetOption.2.template=VasExperts-Policing-Profile=$policingProfile

# Атрибуты сессии, которые отправляются в CoA (для того, чтобы СКАТ идентифицировал, для какой сессии запрос)
sa.radius.connection.attributes=Acct-Session-Id

# Не сбрасывать сессию при включении/отключении доступа (а менять параметры, отправлять CoA)
sa.radius.connection.withoutBreak=1

# Префикс набора опций для ServiceActivator (используем тот же набор, что используется для выдачи в Access-Accept)
sa.radius.option.attributesPrefix=radius.inetOption.
# Проверка на повторную аутентификацию при Access-Request. Бывает нужна в случаях, когда NAS сбрасывает (теряет) сессию, но
# Stop-пакет не присылает и клиент пытается подключиться повторно, но у него стоит ограничение на максимум одну сессию. При совпадении
# callingStationId с одной из активных сессий и установленным параметром: 1 - осуществляется попытка закрытия старой сессии (connectionClose),
# 2 - попытка закрытия сессии (connectionClose) и завершение ее в базе, не дожидаясь стоп пакета, 3 - завершение в базе.
#radius.connection.checkDuplicate=0

# Должен ли поиск по логину идти без учета регистра. По умолчанию - нет (0).
#radius.username.ignoreCase=0


# Параметры активации сервисов
# длина паузы, если возникла ошибка
#sa.error.pause=60
# количество заданий за раз
#sa.batch.size=20
# время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
# пауза (сек) после обработки заданий
#sa.batch.pause=0
# время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5

О выдаче IP-адреса и других параметрах при работе с RADIUS читайте здесь.

IPoE

Схема аналогична Cisco IP Subscriber c инициацией сессии по IP-пакету - Unclassified source MAC address (For Layer 2-connected IP subscribers, a new IP session is triggered when an IP packet with an unclassified source MAC address (which means that an IP session does not yet exist for that MAC address) is received). Абонент получает динамический или статический адрес по DHCP от InetAccess-сервера биллинга, далее в InetAccess от СКАТ приходит Access-Request с User-Name=<IP-адрес абонента>, биллинг находит по указанному <IP-адрес абонента> и выдает параметры доступа в RADIUS-ответе СКАТ'у.

Для работы необходимо настроить InetDhcpProcessor, чтобы InetAccess выступал DHCP-сервером и абонент получал IP-адрес от биллинга.

В inet-access.xml и inet-accounting.xml необходимо вместо:

<!-- Cоздание процессора radius-пакетов -->
<bean name="radiusProcessor" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor"/>

указать:

<!-- Cоздание процессора radius-пакетов -->
<bean name="radiusProcessor" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusHelperProcessor"/>

В конфигурации корневого устройства указать в параметре radius.key.deviceTypeIds ID типа устройства СКАТ DPI:

Конфигурация типа устройства
radius.key.deviceTypeIds=<ID типа устройства СКАТ DPI>

Чтобы отключить проверку пароля при RADIUS-аутентификации, в типе устройства "СКАТ DPI" укажите:

Конфигурация типа устройства
# Нужно ли проверять пароль: 0 - нет (например, для IPoE), 1 (по умолчанию) - да.
radius.password.verification=0

Статический IP-адрес

Если абонентам назначается статический IP-адрес, то в этом случае биллинг не обязательно должен быть DHCP-сервером (но может им быть и выдавать одни и те же адреса, указанные в сервисе договора). Адрес (или подсеть) должен быть указан в сервисе на договоре абонента. Для того, чтобы для сервисов работал поиск по IP-адресу, в конфигурации типа сервиса нужно указать:

Конфигурация типа устройства
# Для сервисов данного типа работает поиск по статическому IP-адресу при аутентификации
serv.search.address=1
При добавлении этого параметра в уже существующий тип сервиса, требуется перезапуск Access и Accounting, чтобы уже созданные сервисы подгрузились и находились по их IP-адресу.

Чтобы при RADIUS-аутентификации поиск происходил по IP-адресу, в конфигурации типа устройства СКАТ DPI укажите:

Конфигурация типа устройства
# Поиск сервиса по IP-адресу
radius.serviceSearchMode=7
  • Нет меток