Ericsson (RedBack) SmartEdge RSE

Пример конфигурации для SmartEdge RSE.

В типе устройства указывается SmartEdge*ServiceActivator в поле "Обработчик активации сервисов" и SmartEdge*ProtocolHandler в поле "Обработчик процессора протокола", в зависимости от используемой схемы - просто PPPoE - SmartEdgeServiceActivator, CLIPS - SmartEdgeClipsServiceActivator, dot1q -SmartEdgeDot1qServiceActivator, static CLIPS - SmartEdgeStaticClipsServiceActivator как "Обработчик активации сервисов" и аналогично в поле "Обработчик процессора протокола".

В конфигурации типа устройства нужно указать:

Конфигурация типа устройства
# Режим поиска сервиса (аккаунта) договора: 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

# При создании сессии по Update-пакету нужно ли игнорировать отсутствие IP-адреса сессии (Framed-Ip-Address). По умолчанию сессия
# по Update-пакету без адреса не создается (0).
#connection.start.fromUpdate.ignoreFramedIpLack=0

# Таймаут перевода соединения в статус suspended при отсутствии радиус пакетов
connection.suspend.timeout=3600
# Таймаут закрытия соединения при отcутствии радиус пакетов (не складывается с connection.suspend.timeout)
connection.close.timeout=3600
# При закрытии соединения по таймауту, 0 (по умолчанию) - просто закрыть,
# 1 - попытаться сбросить также на NAS'е (вызвать connectionClose у обработчика активации сервисов)
#connection.close.timeout.forceClose=1

# Атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
radius.realm.default.attributes=Acct-Interim-Interval=900

# Коды ошибок, при которых отвечать 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

# Id фиктивного сервиса, к которому будут привязываться сессии, по которым нормальный сервис не был найден (код ошибки: 1, логин не найден).
# Необходим, если в radius.disable.accessCodes присутствует код 1
#radius.disable.servId=


# Режим работы ограничения доступа через опцию. По умолчанию отключено для обратной совместимости, но рекомендуется использовать этот режим.
sa.optionMode=1

# Шаблон опций-скорости (1 - опция-папка, в которой содержатся опции-скорости)
radius.inetOption.1.template=Service-Name:1=rse-inet;Service-Parameter:1=in=$in inb=$inb out=$out outb=$outb;Service-Options:1=0
radius.inetOption.14.attributes=Service-Name:2=limited;Service-Options:2=1;Service-Parameter:2=url=http://unpaid.provider.ru/691-4-31.html
# ID опций, которые нужно включать, если необходимо ограничить (отключить) доступ (и выключать перед снятием ограничения)
sa.radius.service.disable.optionIds=14

# Имена RSE-сервисов, при которых доступ ограничен (чтобы биллинг понимал, когда у сессии доступ ограничен)
radius.serviceName.disable=limited

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

# Не сбрасывать сессию при включении/отключении доступа (а менять параметры)
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

В конфигурации устройства нужно указать:

Конфигурация устройства
# Хост для отправки PoD и CoA-запросов (по умолчанию - хост, заданный в устройстве в поле Хост/порт)
#radius.host=<хост устройства>
# Порт для отправки PoD и CoA-запросов (по умолчанию - порт, заданный в устройстве в поле Хост/порт)
radius.port=3799

# Используемый secret для общения по RADIUS-протоколу (по умолчанию - значение из поля Community/secret параметров устройства)
#radius.secret=<sercret устройства>

В данном примере используются опции Inet. Необходимо создать опцию-папку "Скорости", в конфигурации типа устройства прописать её ID (например, 1) в имени параметра radius.inetOption.1.template:

Конфигурация устройства
radius.inetOption.1.template=Service-Name:1=rse-inet;Service-Parameter:1=in=$in inb=$inb out=$out outb=$outb;Service-Options:1=0

Данный параметр представляет собой шаблон шаблон, который будет применен к опциям, расположенным внутри опции "Скорости (1)". Поэтому в конфигурации опций-скоростей нужно будет указать параметры, которые были указаны в данном шаблоне (через $), например:

Конфигурация устройства
in=1000000
inb=125000000
out=1000000
outb=125000000