Пример BRAS L2 DHCP Radius Proxy [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
dpi:bras_bng:use_cases:dpi_bestpractice_brasl2radiusproxy [2023/08/30 07:54] elena.krasnobryzhdpi:bras_bng:use_cases:dpi_bestpractice_brasl2radiusproxy [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-====== dpi_bestpractice_brasl2radiusproxy ======+====== Пример BRAS L2 DHCP Radius Proxy ====== 
 +{{indexmenu_n>1}} 
 +===== Описание схемы ===== 
 +{{ :dpi:bras_bng:use_cases:dpi_bestpractice_brasl2radiusproxy:bras_l2_dhcp_radius_proxy.png?nolink&900 |}} 
 +BRAS DHCP L2 означает, что абонент получает IP-адрес через DHCP Proxy и проходит ААА в Биллинге. Дальше терминируется СКАТом и попадает на бордер. 
 + 
 +Для организации работы СКАТ в режиме BRAS L2 DHCP Radius Proxy участвуют следующие элементы: 
 +  - Клиент с типом доступа Q-in-Q  
 +  - FastDPI - обработка трафика и применение политик 
 +  - FastPCRF - проксирование запросов между fastDPI и Radius 
 +  - Radius сервер - принимает запросы от fastPCRF и формирует ответы с заданными атрибутами 
 +  - Router - отвечает за передачу пакетов в интернет и обратный маршрут, на текущий момент возможен сценарий со Static Route и сценарий с [[dpi:dpi_components:router|настройкой маршрутизации OSPF и BGP]] на СКАТ 
 +===== Сценарий ===== 
 +{{ :dpi:bras_bng:use_cases:dpi_bestpractice_brasl2radiusproxy:scenario_dhcp.png?nolink&700 |}} 
 +По DHCP запросу - В этом случае, когда BRAS фиксирует DHCP запросы со стороны абонентской сети, то формирует соответствующие Radius запросы для получения параметров DHCP-аренды которые сообщаются абоненту. Кроме того, в ответе на DHCP-аутентификацию можно, также, передать параметры сессии влияющие на прохождение трафика абонента. При передачи параметра Session-Timeout является значением временем аренды адреса (lease time). При раздельном получении параметров DHCP и трафика (IP) можно указывать различные значения Session-Timeout, что разумеется будет довольно удобно, так например выдать время аренды 6 часов, но при этом проводить реавторизацию параметров трафика каждый час. 
 +Идентификатором оборудования абонента является - MAC-адрес, номер VLAN или значения полей Option-82. 
 +===== Настройка FastDPI ===== 
 + 
 +==== 1. Редактирование файла конфигурации DPI ==== 
 + 
 +Сперва необходимо раскомментировать (добавить) следующие строчки в файл конфигурации ///etc/dpi/fastdpi.conf//
 + 
 +<code> 
 +#включение внутренней базы данных свойств пользователей 
 +udr=1 
 +#активирует режим L2 BRAS 
 +bras_enable=1 
 +enable_auth=1 
 + 
 +#"виртуальный" IP адрес DPI (должен быть уникальным в сети) 
 +bras_arp_ip=192.168.1.2 
 +#"виртуальный" MAC адрес DPI (следует использовать реальный MAC адрес любого из DNA интерфейсов) 
 +bras_arp_mac=a0:36:9f:77:26:58 
 + 
 +#IP адрес бордера 
 +bras_gateway_ip=192.168.1.1 
 +#MAC адрес интерфейса, в который подключен DPI, на бордере 
 +bras_gateway_mac=c4:71:54:4b:e7:8a 
 + 
 +#данные сервера, где установлен Fastpcrf (если на том же, где и Fastdpi, не изменять) 
 +auth_servers=127.0.0.1%lo:29002 
 + 
 +#включение режима DHCP Radius Proxy 
 +bras_dhcp_mode=2 
 + 
 +#терминация vlan (в данном случае тег будет вырезан) 
 +bras_vlan_terminate=1 
 +#подмена MAC адресов 
 +bras_terminate_l2=1 
 +#терминация трафика только для AS, помеченных как term (полезно, если через СКАТ также проходит трафик, который не нужно терминировать) 
 +bras_term_by_as=1 
 +#замыкание локального трафика 
 +bras_terminate_local=1 
 + 
 +#включение accounting 
 +enable_acct=1 
 +#статистика по биллингу абонента 
 +netflow=4 
 +#тайм-аут отправки статистики 
 +netflow_timeout=60 
 +</code> 
 + 
 +<note important>Следует выставить **свои** значения для следующих параметров 
 +  * bras_arp_ip 
 +  * bras_arp_mac 
 +  * bras_gateway_ip 
 +  * bras_gateway_mac 
 +   </note> 
 +    
 +==== Указание AS для терминирования ==== 
 + 
 +Следующим шагом следует пометить, для трафика из каких AS необходимо проводить терминацию трафика. 
 + 
 +Список AS готовится в текстовом формате, каждая запись с новой строки в формате CIDR<пробел>номер_AS: 
 + 
 +<code> 
 +192.168.2.0/24 65550 
 +</code> 
 + 
 +Потом он преобразуется во внутренний формат утилитой as2bin и размещается в файле ///etc/dpi/aslocal.bin// , где его подхватит DPI. Указанные в списке диапазоны адресов добавятся к глобальному списку. 
 + 
 +<code> 
 +cat aslocal.txt | as2bin /etc/dpi/aslocal.bin 
 +</code> 
 + 
 +Список локальных AS для терминирования подготавливается в текстовом файле в формате номер_AS<пробел>флаг: 
 + 
 +<code> 
 +65550 local 
 +65550 term 
 +</code> 
 + 
 +Конвертирование во внутренний формат и размещение в рабочем каталоге, где настройки будут подхвачены DPI: 
 + 
 +<code> 
 +cat my_as_dscp.txt | as2dscp /etc/dpi/asnum.dscp 
 +</code> 
 +===== Настройка FastPCRF ===== 
 +Необходимо настроить FastPCRF. Для этого редактируем файл ///etc/dpi/fastpcrf.conf// . Находим строчку с параметрами RADIUS сервера и изменяем 
 + 
 +<code> 
 +     #secret123 - Radius секрет 
 +     #192.168.1.10 - IP адрес Radius сервера 
 +     #eth0 - интерфейс, **с которого** FastPCRF "общается" с Radius сервером 
 +     #1812 - порт, на который FastPCRF отправляет запросы авторизации 
 +     #acct_port - порт, на который FastPCRF отправляет Accounting 
 +radius_server=secret123@192.168.1.10%eth0:1812;acct_port=1813 
 +</code> 
 + 
 +===== Настройка Radius ===== 
 +Настройка приводится в качестве **примера** на freeRADIUS 3 и может отличаться от конфигурации Вашего Radius сервера. 
 + 
 +==== Словарь VasExperts ==== 
 +Сперва необходимо добавить VSA словарь 
 +  * копируем словарь /usr/share/dpi/dictionary.vasexperts из дистрибутива fastpcrf в каталог $freeRadius/share/freeradius 
 +  * Добавляем в главный словарь $freeRadius/share/freeradius/dictionary строку: 
 + 
 +<code> 
 +$INCLUDE dictionary.vasexperts 
 +</code> 
 + 
 +==== Создание Radius клиента ==== 
 +Добавляем в raddb/clients.conf Radius-сервера следующие строки 
 + 
 +<code> 
 +client fastdpi1 { 
 + ipaddr = 192.168.1.5 
 + secret = secret123 
 + require_message_authenticator = yes 
 +# add_cui = yes 
 + virtual_server = fastdpi-vs 
 +
 +</code> 
 + 
 +==== Создание виртуального сервера ==== 
 +Для создания конфигурации виртуального сервера копируем файл raddb/sites-available/default, входящий в поставку FreeRadius, в raddb/sites-enabled/fastdpi-vs и затем редактируем fastdpi-vs:  
 +  * задаем имя виртуального сервера - меняем в начале файла строку server default на server fastdpi-vs 
 +  * в секции listen для auth-запросов (type = auth) прописываем, на каком IP-адресе и каком порту слушать входящие запросы (заметим, это локальный адрес Radius-сервера): 
 + 
 +<code> 
 +ipaddr = 192.168.1.10 
 +port = 1812 
 +interface = eth0 
 +</code> 
 + 
 +==== Создание учетной записи для авторизации ==== 
 +Добавляем в файл ///etc/raddb/users// данные по абоненту (следует учесть, что FastPCRF по умолчанию в данном режиме использует в качестве логина MAC адрес источника, а в качестве пароля - VasExperts.FastDPI) 
 + 
 +<code> 
 +08:00:27:e5:9e:15      User-Password := "VasExperts.FastDPI" 
 +       VasExperts-UserName = "L2DHCP", 
 +       Framed-IP-Netmask = 255.255.255.0, 
 +       VasExperts-DHCP-Gateway = 192.168.2.1, 
 +       VasExperts-DHCP-DNS = 8.8.8.8, 
 +       VasExperts-Policing-Profile = "100Mbps", 
 +       VasExperts-Enable-Service = "9:on" 
 +</code> 
 + 
 +В файл ///etc/raddb/users// также следует добавить две записи для FastPCRF 
 + 
 +<code> 
 +VasExperts.FastDPI.unknownUser Cleartext-Password := "VasExperts.FastDPI" 
 +DEFAULT Cleartext-Password := "VasExperts.FastDPI" 
 +</code> 
 +===== Настройка Маршрутизатора ===== 
 +На маршрутизаторе добавляем статический маршрут в подсеть, которую обслуживает СКАТ. 
 + 
 +<code> 
 +/ip route add dst-address=192.168.2.0/24 gateway=192.168.1.2 
 +</code> 
 +===== Подключение тестового абонента ===== 
 +При подключении неизвестного абонента FastPCRF шлет Access-Request со следующим содержанием: 
 + 
 +<code> 
 +User-Name = "A0:36:9F:77:26:58" 
 +User-Password = "VasExperts.DPI" 
 +Calling-Station-Id = "a0:36:9f:77:26:58" 
 +NAS-Port-Type = 5 
 +NAS-Port = 100 
 +NAS-Identifier = "VasExperts.FastDPI" 
 +Service-Type = 2 
 +VasExperts-Service-Type =1 
 +VasExperts-DHCP-Request = Discover 
 +VasExperts-DHCP-RelayRemoteId = 0x3137322e31372e312e32 
 +VasExperts-DHCP-RelayCurcuitId = 0x000601360100000a 
 +</code> 
 + 
 +<note tip>По умолчанию FastPCRF в поле User-Name помещает MAC адрес абонента. В кофигурационном файле FastPCRF возможно указать, что следует использовать в качестве логина (например QinQ тэг) </note> 
 + 
 +При успешной авторизации данного абонента FastPCRF помимо сетевых параметров также ожидает получить список необходимых услуг и тарифный для данного абонента в Access-Accept 
 + 
 +<code> 
 +Session-Timeout = 84600 
 +User-Name = "Subscriber001" 
 +Framed-IP-Address = 10.0.0.10 
 +Framed-IP-Netmask = 255.255.255.0 
 +VasExperts-DHCP-Gateway = 10.0.0.1 
 +VasExperts-DHCP-DNS = 8.8.8.8 
 +VasExperts-DHCP-DNS = 8.8.4.4 
 +VasExperts-Policing-Profile = "100Mbps" 
 +VasExperts-Service-Profile = "11:CG_NAT_POOL_1" 
 +VasExperts-Service-Enable = "9:on" 
 +</code> 
 +===== Диагностика ===== 
 +При внедрении L2 BRAS могут возникать различные ошибки, при которых абоненты не могут быть авторизованы и, соответственно, остаться без доступа к интернету. Ниже приведены Самые распространенные проблемы: 
 + 
 +==== Нет запросов на авторизацию. ==== 
 +Проверить, запущен ли процесс fastpcrf. Корректно ли указан адрес Radius сервера. 
 + 
 +==== Не доходят запросы на авторизацию до Radius сервера. ==== 
 +Проверить, разрешен ли в Firewall’e порт для приема запросов на авторизацию (по-умолчанию 1812) на Radius сервере. 
 + 
 +==== Пингуется DPI, но до бордера пинг не доходит. ==== 
 +  - Необходимо прописать статичный маршрут в сторону абонентов на бордере. Так как СКАТ, пока не умеет анонсировать абонентские подсети, которые обслуживает, соответственно, необходимо указать бордеру, куда маршрутизировать трафик. 
 +  - В случае использования NAT для абонентов необходим аналогичный маршрут для подсетей, используемых в NAT. 
 +  - Корректно ли заданы параметры **bras_gateway_ip** и **bras_gateway_mac** 
 + 
 +==== Не отправляется статистика для Accounting. ==== 
 +  - Проверить, разрешен ли в Firewall’e порт для приема статистики (по-умолчанию 1813) на Radius сервере. 
 +  - Проверить, подключается ли для абонента услуга 9. 
 +  - Проверить, включен ли accounting в настройках конфигурации DPI. 
 +  - Проверить, корректное ли значение указано для параметра netflow. 
 + 
 +==== Не доходят CoA до BRAS. ==== 
 +Проверить, разрешен ли в Firewall’e порт для приема CoA (по-умолчанию 3799) на сервере с FastPCRF.