...
При использовании Q-in-Q СКАТ может передавать VLAN-ы в поле User-Name, поэтому в поле Логин можно просто указывать значение которое он присылает, например, 123.1000. Справочник ресурсов VLAN при этом не используется, проверяется только уникальность логинов.
Блок кода |
---|
language | ruby |
---|
title | Конфигурация типа устройства |
---|
|
# поиск по логину
radius.servSearchMode=1
# Атрибуты, выдаваемые в Access-Accept
# статические атрибуты
radius.realm.default.attributes=Acct-Interim-Interval=60;VasExperts-Enable-Service=9:on;MS-Primary-DNS-Server=8.8.8.8;MS-Secondary-DNS-Server=8.8.4.4
# динамические атрибуты
radius.realm.default.attributes.macros=User-Name=$login;VasExperts-DHCP-Gateway=$ipGate;Framed-IP-Netmask=$ipSubnetMask;VasExperts-DHCP-DNS=$ipDns
|
Если же в биллинге Вы указываете SVLAN в дереве устройств, а VLAN - в сервисе (используя VLAN-ресурсы), то можно настроить поиск по SVLAN (указанный в устройстве дерева) агентского устройства и по VLAN - сервиса договора (абонента). Для извлечения номера VLAN из Access-Request в типе устройства в поле Обработчик процессора протокола должен быть указан CoAProtocolHandler, а в RADIUS-Accounting будет использоваться поиск по логину:
Блок кода |
---|
language | ruby |
---|
title | Конфигурация типа устройства |
---|
|
# Поиск по VLAN, при неудачном поиске - поиск по логину
radius.servSearchMode=4,1
# Атрибуты, выдаваемые в Access-Accept
# статические атрибуты
radius.realm.default.attributes=Acct-Interim-Interval=60;VasExperts-Enable-Service=9:on;MS-Primary-DNS-Server=8.8.8.8;MS-Secondary-DNS-Server=8.8.4.4
# динамические атрибуты
radius.realm.default.attributes.macros=User-Name=$login;VasExperts-DHCP-Gateway=$ipGate;Framed-IP-Netmask=$ipSubnetMask;VasExperts-DHCP-DNS=$ipDns
# Извлечение VLAN
# vendor radius-атрибута
radius.vlan.vendor=-1
# тип атрибута (Nas-Port-Id)
radius.vlan.type=87
# префикс, если есть
radius.vlan.prefix=
# regex
radius.vlan.pattern=^\d+/(\d+)
# Извлечение SVLAN
radius.agentSvlan.vendor=87
radius.agentSvlan.type=-1
radius.agentSvlan.prefix=
radius.agentSvlan.pattern=^(\d+)/\d+ |
При использовании VLAN (без Q-in-Q) можно настроить поиск сервиса по VLAN (для извлечения номера VLAN из RADIUS-пакета в типе устройства в поле Обработчик процессора протокола должен быть указан CoAProtocolHandler):
Блок кода |
---|
language | ruby |
---|
title | Конфигурация типа устройства |
---|
|
# Поиск по VLAN, при неудачном поиске - поиск по логину
radius.servSearchMode=4,1
# Атрибуты, выдаваемые в Access-Accept
# статические атрибуты
radius.realm.default.attributes=Acct-Interim-Interval=60;VasExperts-Enable-Service=9:on;MS-Primary-DNS-Server=8.8.8.8;MS-Secondary-DNS-Server=8.8.4.4
# динамические атрибуты
radius.realm.default.attributes.macros=User-Name=$login;VasExperts-DHCP-Gateway=$ipGate;Framed-IP-Netmask=$ipSubnetMask;VasExperts-DHCP-DNS=$ipDns
# Извлечение VLAN
# vendor radius-атрибута
radius.vlan.vendor=-1
# тип атрибута (Nas-Port)
radius.vlan.type=5
# префикс, если есть
#radius.vlan.prefix=
# regex
#radius.vlan.pattern= |
При выдаче Access-Accept можно использовать макросы $login, $identifier, $ipGate, $ipSubnetMask, $ipDns:
Блок кода |
---|
language | ruby |
---|
title | Конфигурация типа устройства |
---|
|
radius.realm.default.attributes.macros=VasExperts-DHCP-Gateway=$ipGate;Framed-IP-Netmask=$ipSubnetMask;VasExperts-DHCP-DNS=$ipDns |
В случае, если абонент сам назначил себе адрес, то в Access-Request придет c атрибутом Framed-IP-Address. Для того, чтобы биллинг проверил, что данный адрес есть в сервисе абонента и выдал в Access-Accept его же, укажите в конфигурации устройства:
Блок кода |
---|
|
# выдавать в Access-Accept адрес из Framed-IP-Address Access-Request'а, если присутствует
radius.address.fromRequest=1
# выполнять проверку адреса из Framed-IP-Address Access-Request'а
radius.address.fromRequest.check=1 |
Статический IP-адрес
Если абонентам назначается статический IP-адрес, то в этом случае биллинг не обязательно должен быть DHCP-сервером (но может им быть и выдавать одни и те же адреса, указанные в сервисе договора). Адрес (или подсеть) должен быть указан в сервисе на договоре абонента. Для того, чтобы для сервисов работал поиск по IP-адресу, в конфигурации типа сервиса нужно указать:
...