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

Пример BRAS L2 DHCP Relay Agent

BRAS DHCP L2 означает, что СКАТ DPI выступает в качестве DHCP Relay и после успешного поднятия сессии авторизует абонента по выданному IP адресу. Дальше терминируется СКАТом и попадает на бордер.

Для организации работы СКАТ в режиме BRAS L2 DHCP Radius Relay участвуют следующие элементы:

  1. Клиент с типом доступа Q-in-Q
  2. FastDPI - обработка трафика и применение политик
  3. FastPCRF - проксирование запросов между fastDPI и Radius
  4. Radius сервер - принимает запросы от fastPCRF и формирует ответы с заданными атрибутами
  5. Router - отвечает за передачу пакетов в интернет и обратный маршрут, на текущий момент возможен сценарий со Static Route и сценарий с настройкой маршрутизации OSPF и BGP на СКАТ

Сценарий

Настройка FastDPI

Редактирование файла конфигурации DPI

Сперва необходимо раскомментировать (добавить) следующие строчки в файл конфигурации /etc/dpi/fastdpi.conf .

    #включение внутренней базы данных свойств пользователей
udr=1
    #включаем режим авторизации по IP
enable_auth=1
    #активирует режим L2 BRAS
bras_enable=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 Relay Agent
bras_dhcp_mode=1

	#192.168.10.2 – IP-адрес DHCP-сервера
	#veth0 – имя сетевого интерфейса, с которого производится связь c DHCP-сервером
	#67 – порт, значение по умолчанию: 68
	#arp_proxy - лаг реагирования на ARP-запросы IP-адреса DHCP-сервера
	#alias_ip - алиас DHCP-сервера
	#reply_port - порт, на котором ждем ответы DHCP-сервера. 
bras_dhcp_server=192.168.10.2%veth0:67;arp_proxy=1;alias_ip=192.168.1.4;reply_port=67

    #терминация vlan (в данном случае тэг будет вырезан)
bras_vlan_terminate=1
    #подмена MAC адресов
bras_terminate_l2=1
    #замыкание локального трафика
bras_terminate_local=1

    #включение accounting
enable_acct=1
    #статистика по биллингу абонента
netflow=4
    #тайм-аут отправки статистики
netflow_timeout=60
Следует выставить свои значения для следующих параметров
  • bras_arp_ip
  • bras_arp_mac
  • bras_gateway_ip
  • bras_gateway_mac

Если сессия успешно стартована, и режим L3-авторизации включен (enable_auth=1), fastDPI BRAS немедленно посылает Radius-запрос на авторизацию абонента, чтобы получить актуальный список подключенных услуг и профиль полисинга абонента.

Настройка FastPCRF

Необходимо настроить FastPCRF. Для этого редакитурем файл /etc/dpi/fastpcrf.conf . Находим строчку с параметрами RADIUS сервера и изменяем

     #secret123 - Radius секрет
     #192.168.1.10 - IP адрес Radius сервера
     #eth0 - интерфейс, **с которого** FastPCRF "общается" с Radius сервером
     #1812 - порт, на который FastPCRF отправляет запросы авторизации
     #acct_port - порт, на который FasPCRF отправляет Accouting
radius_server=secret123@192.168.1.10%eth0:1812;acct_port=1813

Настройка Radius

Настройка приводится в качестве примера на freeRADIUS 3 и может отличаться от конфигурации Вашего Radius сервера.

Словарь VasExperts

Сперва необходимо добавить VSA словарь

  • копируем словарь /usr/share/dpi/dictionary.vasexperts из дистрибутива fastpcrf в каталог $freeRadius/share/freeradius
  • Добавляем в главный словарь $freeRadius/share/freeradius/dictionary строку:
$INCLUDE dictionary.vasexperts

Создание Radius клиента

Добавляем в raddb/clients.conf Radius-сервера следующие строки

client fastdpi1 {
	ipaddr		= 192.168.1.5
	secret		= secret123
	require_message_authenticator = yes
#	add_cui = yes
	virtual_server	= fastdpi-vs
}

Создание виртуального сервера

Для создания конфигурации виртуального сервера копируем файл raddb/sites-available/default, входящий в поставку FreeRadius, в raddb/sites-enabled/fastdpi-vs и затем редактируем fastdpi-vs:

  • задаем имя виртуального сервера - меняем в начале файла строку server default на server fastdpi-vs
  • в секции listen для auth-запросов (type = auth) прописываем, на каком IP-адресе и каком порту слушать входящие запросы (заметим, это локальный адрес Radius-сервера):
ipaddr = 192.168.1.10
port = 1812
interface = eth0

Создание учетной записи для авторизации

Добавляем в файл /etc/raddb/users данные по абоненту (следует учесть, что FastPCRF по умолчанию в данном режиме использует в качестве логина MAC адрес источника, а в качестве пароля - VasExperts.FastDPI)

192.168.2.10      User-Password := "VasExperts.FastDPI"
    VasExperts-Policing-Profile = "10Mbps",

В файл /etc/raddb/users также следует добавить две записи для FastPCRF

VasExperts.FastDPI.unknownUser Cleartext-Password := "VasExperts.FastDPI"
DEFAULT	Cleartext-Password := "VasExperts.FastDPI"

Подключение тестового абонента

При подключении неизвестного абонента FastPCRF шлет Access-Request со следующим содержанием:

User-Name = 192.168.2.10
User-Password = 0x372CC83FF66B8C8589C3BF18472DAEF6B0BB0723EC9DAEE188A08AA1EE6A050C
Framed-IP-Address = 192.168.2.10
Acct-Session-Id = 0A02A8C00000000F
Calling-Station-Id = 18:0f:76:01:05:19
NAS-Identifier = VasExperts.FastDPI
Service-Type = [2] Framed
VasExperts-Service-Type = 0
Message-Authenticator = 0x46A546AE34DCB0AEB9C24A9DFF1F0A02

Пример Access-Accept при успешной авторизации:

VasExperts-Policing-Profile = 10Mbps
VasExperts-User-Name = 192.168.2.10

Диагностика

При внедрении L2 BRAS могут возникать различные ошибки, при которых абоненты не могут быть авторизованы и, соответственно, остаться без доступа к интернету. Ниже приведены Самые распрастраненные проблемы:

Нет запросов на авторизацию.

Проверить, запущен ли процесс fastpcrf. Корректно ли указан адрес Radius сервера.

Пингуется DPI, но до бордера пинг не доходит.

  1. Необходимо прописать статичный маршрут в сторону абонентов на бордере. Так как СКАТ, пока не умеет анонсировать абонентские подсети, которые обслуживает, соответственно, необходимо указать бордеру, куда маршрутизировать трафик.
  2. В случае использования NAT для абонентов необходим аналогичный маршрут для подсетей, используемых в NAT.
  3. Корректно ли заданы параметры bras_gateway_ip и bras_gateway_mac

Не отправляется статистика для Accounting.

  1. Проверить, разрешен ли в Firewall’e порт для приема статистики (по-умолчанию 1813) на Radius сервере.
  2. Проверить, подключается ли для абонента услуга 9.
  3. Проверить, включен ли accounting в настройках конфигурации DPI.
  4. Проверить, корректное ли значение указано для параметра netflow.

Не доходят CoA до BRAS.

Проверить, разрешен ли в Firewall’e порт для приема CoA (по-умолчанию 3799) на сервере с FastPCRF.