...
Скорость регулируем, указывая имя профиля policy: VasExperts-Policing-Profile=rate_10M.
Подсказка |
---|
InetAccess/InetAccounting не поддерживают запросы RADIUS Status-Server, поэтому в конфигурации СКАТ (radius-main.conf) необходимо указать status_server=0 |
Оглавление |
---|
Настройка типа устройства
...
RADIUS-запрос Access-Request имеет следующие атрибуты:
User-Name - MAC-адрес из DHCP-запроса в формате XX:XX:XX:XX:XX:XX. Для Q-in-Q-сетей в качестве User-Name возможно использовать QinQ-теги, см. ниже.
User-Password - значение fastpcrf.conf-параметра dhcp_user_psw. Этот параметр задает пароль именно для DHCP Radius proxy режима. Если параметр не задан - используется параметр user_password Radius-сервера.
NAS-IP-Address - если DHCP-запрос содержит IP-адрес Relay-агента, то в данный атрибут подставляется этот адрес. Если Relay-агента нет - атрибут содержит виртуальный IP-адрес СКАТ из fastdpi.conf-параметра bras_arp_ip. По значению данного атрибута можно определить, из какой подсети пришел Radius-запрос (от какого Relay-агента).
NAS-Port-Type - содержит значение fastpcrf.conf-параметра radius_attr_nas_port_type для данного Radius-сервера.
NAS-Port - только для VLAN-сетей (с одним VLAN): номер VLAN.
NAS-Port-Id: только для QinQ-сетей (с двойным VLAN): содержит VLAN-ы в строковом виде через '/', например: «123/67».
Framed-IP-Address - этот атрибут содержит IP-адрес абонента, присутствует только если IP-адрес абонента известен.
При использовании VLAN можно настроить поиск сервиса по VLAN (для извлечения номера VLAN из RADIUS-пакета в типе устройства в поле Обработчик процессора протокола должен быть указан CoAProtocolHandler):этом в Access-Accept необходимо выдать User-Name, который далее будет передаваться в RADIUS-Accounting от СКАТ. Поэтому в типе сервиса необходимо установить галочку "логин", чтобы у сервиса было какое-то значение в поле Логин (автоматически сгенерированное или указанное вручную).
При использовании Q-in-Q СКАТ может передавать VLAN-ы в поле User-Name, поэтому в поле Логин можно просто указывать значение которое он присылает, например, 123.1000. Справочник ресурсов VLAN при этом не используется, проверяется только уникальность логинов.
Блок кода | ||||
---|---|---|---|---|
| ||||
# поиск по логину radius.servSearchMode=41 # vendor radius-атрибута radius.vlanrealm.vendordefault.attributes=-1 # тип атрибута radius.vlan.type=5 # префикс, если есть #radius.vlan.prefix= # regex #radius.vlan.pattern= |
...
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 из RADIUS-пакета в типе устройства в поле Обработчик процессора протокола должен быть указан CoAProtocolHandler), но в RADIUS-Accounting будет использоваться поиск по логину:
Блок кода | ||||
---|---|---|---|---|
| ||||
# Поиск по 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+ |
При выдаче Access-Accept можно использовать макросы $login, $identifier, $ipGate, $ipSubnetMask, $ipDnsиспользовании VLAN (без Q-in-Q) можно настроить поиск сервиса по VLAN (для извлечения номера VLAN из RADIUS-пакета в типе устройства в поле Обработчик процессора протокола должен быть указан CoAProtocolHandler):
Блок кода | ||||
---|---|---|---|---|
| ||||
# Поиск по 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:
Блок кода | ||||
---|---|---|---|---|
| ||||
radius.realm.default.attributes.macros=VasExperts-DHCP-Gateway=$ipGate;Framed-IP-Netmask=$ipSubnetMask;VasExperts-DHCP-DNS=$ipDns |
Статический IP-адрес
Если абонентам назначается статический IP-адрес, то в этом случае биллинг не обязательно должен быть DHCP-сервером (но может им быть и выдавать одни и те же адреса, указанные в сервисе договора). Адрес (или подсеть) должен быть указан в сервисе на договоре абонента. Для того, чтобы для сервисов работал поиск по IP-адресу, в конфигурации типа сервиса нужно указать:
...