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 в состоянии disableradius.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=0radius.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=1000000inb=125000000out=1000000outb=125000000Описание параметров SmartEdgeServiceActivator
Для обратной совместимости некоторые значения по умолчанию не изменяются в новых версиях, поэтому в таблице представлен также стоблец "Рекомендуемое" значение.
|
Параметр |
Значение по умолчанию |
Рекомендуемое |
Описание |
|
radius.host |
Хост их поля "Хост/порт" устройства |
Хост, на который будут отправляться CoA/PoD-запросы. |
|
|
radius.port |
Порт из поля "Хост/порт" устройства |
Порт, на который будут отправляться CoA/PoD-запросы. |
|
|
radius.sourceHost |
Интерфейс, с которого будут отправляться CoA/PoD-запросы. |
||
|
radius.sourcePort |
Порт, с которого будут отправляться CoA/PoD-запросы. |
||
|
radius.identifier |
Значение из поля "Идентификатор" устройства |
Значение, которое будет подставлено в CoA/PoD-запрос в атрибут NAS-Identifier, если NAS-Identifier присутствует в значении параметра sa.radius.connection.attributes |
|
|
sa.radius.secret |
Значение из параметра radius.secret |
RADIUS-секрет, который будет использован для создания CoA/PoD-запроса. |
|
|
radius.secret |
Значение из поля "Community/secret" устройства |
RADIUS-секрет, который будет использован для создания CoA/PoD-запроса. Значение может быть переопределено в параметре sa.radius.secret Параметр также используется при штатной обработке Access-Request (переопределяет значение из поля "Community/secret"). |
|
|
sa.radius.log |
1 |
Логировать (1) или не логировать (2) CoA/PoD-запросы сессии (возможность просматривать RADIUS-лог сессии в клиенте). |
|
|
sa.optionMode |
0 |
1 |
Режим работы c сервисами SmartEdge. При 0 - просто отправляются атрибуты из параметров, при 1 - выполняется привязка опций к имени сервиса SmartEdge по атрибуту Service-Name. |
|
sa.radius.connection.withoutBreak |
0 |
0 - при необходимости переключить состояние сессии (ограничить доступ или наоборот, включить) будет произведен сброс сессии на оборудовании. Может быть нужно, если Вы выдаете IP-адреса из разных ресурсов для тех, у кого ограничен доступ в Интернет и у кого не ограничен. 1 - при необходимости переключить состояние сессии будет произведена смена сервисов RSE. |
|
|
sa.radius.connection.stateModify |
0 |
Нужно ли сразу после отправки CoA на переключение доступа сменить состояние сессии в БД. Состоянии сессии также может определяться по сервисным сессиям RSE с помощью SmartEdgeProtocolHandler. См. далее. См. также Сессии и FAQ модуля Inet |
|
|
sa.radius.connection.modify.forceOnServiceNak |
0 |
Нужно ли считать, что CoA/PoD отработал, если в ответ пришел NaK. При 0 и NaK запрос будет повторен. |
|
|
sa.radius.service.disable |
Значение из параметра radius.serviceName.disable |
Список имен сервисов RSE, по которым будет определен список опций, которые нужно "включить" при необходимости ограничить доступ абоненту. |
|
|
radius.serviceName.disable |
Список имен сервисов RSE, по которым будет определен список опций, которые нужно "включить" при необходимости ограничить доступ абоненту. Значение может быть переопределено в параметре sa.radius.service.disable Параметр также используется в SmartEdgeProtocolHandler. |
||
|
sa.radius.connection.close.mode |
2 |
При необходимости сбросить соединение: 1 - не отправлять PoD-пакет (подразумевается, что биллинг также обрабатывает DHCP-пакеты и на следующий DHCP-пакет он ответит NAK, см. параметр sa.radius.connection.close.removeFromKeyMap) 2 - отправлять PoD-пакет |
|
|
sa.radius.connection.close.enableMode |
2 |
При необходимости сбросить соединение для последующего включения доступа: 1 - не отправлять PoD-пакет (подразумевается, что биллинг также обрабатывает DHCP-пакеты и на следующий DHCP-пакет он ответит NAK, см. параметр sa.radius.connection.close.removeFromKeyMap) 2 - отправлять PoD-пакет |
|
|
sa.radius.connection.coa.onEnable |
0 |
При необходимости сбросить соединение для последующего включения доступа нужно ли послать CoA на включение доступа (подразумевается, что доступ будет включен, PoD-пакет не отправлен, а на следующий DHCP-пакет биллинг ответит NAK и абонент переполучит адрес). |
|
|
sa.radius.connection.close.disableMode |
Значение параметра sa.radius.connection.close.mode |
При необходимости сбросить соединение для последующего отключения доступа: 1 - не отправлять PoD-пакет (подразумевается, что биллинг также обрабатывает DHCP-пакеты и на следующий DHCP-пакет он ответит NAK, см. параметр sa.radius.connection.close.removeFromKeyMap) 2 - отправлять PoD-пакет |
|
|
sa.radius.connection.close.disableServices |
0 |
При необходимости сбросить соединение (не для последующего включения доступа) нужно ли послать CoA на отключение доступа (подразумевается, что доступ будет отключен, PoD-пакет не отправлен, а на следующий DHCP-пакет биллинг ответит NAK и абонент переполучит адрес). |
|
|
sa.radius.service.closeAttributes |
При sa.optionMode=1: <пусто> При sa.optionMode=0: Deactivate-Service-Name:1=RSE-SVC-EXT |
<пусто> |
Атрибуты, добавляемые в CoA при необходимости переключить скорость, необходимые для отключения текущих сервисов RSE. При sa.optionMode=1 имена сервисов для отключения автоматически вычисляются из текущих активных опций Inet, поэтому в этом режиме данное поле можно не указывать. |
|
sa.radius.connection.close.removeFromKeyMap |
0 |
При необходомости сбросить соединение, нужно ли перестать выдавать DHCP-ACK для данной сессии, даже если она еще "живая". |
|
|
sa.radius.service.disable.optionIds |
|||
|
sa.radius.connection.close.disableServices |
|||
|
sa.radius.connection.attributes |