Содержание

Описание и настройка

FastRADIUS (Монитор событий RADIUS) предназначен для создания в DPI связки IP-LOGIN в сетях с динамической выдачей IP-адресов на основании RADIUS Accounting (Mapping IP-LOGIN).
FastRADIUS поддерживает в FastDPI следующие команды:

  1. Поддержка абонентов с одиночным IPv4 адресом и IPv6 подсетью
    Связывание IP-адреса с LOGIN при получении Accounting Start:
    fdpi_ctrl load --bind --user user_name:ip_адрес

    Удаление связки IP ↔ login при получении Accounting Stop:

    fdpi_ctrl del --bind --login user_name
  2. Поддержка абонентов с несколькими IP
    Связывание IP-адреса или блока IP-адресов с LOGIN при получении Accounting Start:
    fdpi_ctrl load --bind_multi --user user_name:ip_адрес_или_блок

    Удаление одного из IP, связанных с LOGIN при получении Accounting Stop:

    fdpi_ctrl del --bind_multi --ip ip_адрес

Также возможно назначение CG-NAT (11 услуги) по заданным параметрам.

Схемы работы

Рекомендуемая схема: Прием трафика RADIUS Accounting на выделенный Linux-интерфейс не связанный с FastDPI

RADIUS Accounting передается на FastRADIUS на стандартный Linux-интерфейс, указанный в конфигурационном файле (in_dev), путем зеркалирования существующего RADIUS трафика, либо с использованием RADIUS proxy (например FreeRADIUS). В данном случае FastRADIUS только принимает трафик и никак не отвечает RADIUS серверу. Работа со стандартными интерфейсами Linux осуществляется с помощью libpcap. Поддерживается прием и обработка RADIUS трафика в виде unicast-потока, который отправляет коммутатор по ERSPAN.

Минимальная Настройка FastRADIUS

Настройки находятся в файле /etc/dpi/fdpi_radius.conf.

Для применения конфигурации необходимо перезапустить сервис:

systemctl restart fastradius

Настройка обработки потоков

Рекомендуется использовать приведенные значения

Настройка экпорта RADIUS-событий на внешний коллектор

Альтернативная схема: Отвод трафика RADIUS Accounting с DPDK-интерфейсов FastDPI

RADIUS Accounting необходимо подать в порты устройства DPI вместе с сетевым трафиком. Реализовать это возможно через зеркалирование портов, к которым подключен RADIUS сервер. В данном случае FastRADIUS только принимает зеркало и никак не отвечает RADIUS серверу.

Настройка TAP интерфейсов

FastRADIUS может быть запущен на том же сервере, что и FastDPI или вынесен на внешний сервер. Для выделения нужного трафика используются два виртуальных интерфейса TAP0 и TAP1.

В конфигурации необходимо указать порт:

in_dev=tap1

Размещение Radius монитор на том же сервере. Используется Bridge:

Размещение Radius монитор на внешнем сервере. Используется Tunnel:

Из консоли выполнить следующие команды:

ip tuntap add tap0 mode tap
ip tuntap add tap1 mode tap
 
ip link set dev tap0 up
ip link set dev tap1 up
 
ip link add br0 type bridge
 
ip link set tap0 master br0
bridge link set dev tap0 learning off
ip link set tap1 master br0
 
ifconfig tap0 192.168.4.20 up
ifconfig tap1 192.168.4.21 up
ifconfig br0 up
ВНИМАНИЕ: TAP интерфейсы необходимо стартовать после перезагрузки сервера!

Настройка отведения трафика из FastDPI в FastRADIUS

Подключить на FastDPI услугу отведения трафика:

fdpi_ctrl load profile --service 14 --profile.name radius  --profile.json '{ "typedev" : "tap","dev" : "tap0","udp" : [ 1813,1814,1815 ] }' --outformat=json 
fdpi_ctrl load --service 14 --profile.name radius --ip 10.16.252.11
fdpi_ctrl load --service 14 --profile.name radius --ip 10.16.252.12

где:

Дополнительные Настройки Radius Monitor

Если порядок bind/unbind в RADIUS-потоке не соблюдается или есть потери пакетов (например, если это зеркало), то вероятны артефакты.

Подлючение NAT на основе CIDR

Создание на FastDPI именованных профилей NAT:

fdpi_ctrl load profile --service 11 --profile.name nat_profile_all --profile.json '{ "nat_ip_pool" : "5.200.43.0/24,5.200.44/25", "nat_tcp_max_sessions" : 2000, "nat_udp_max_sessions" : 2000 }'

В конфигурационном файле FastRADIUS /etc/dpi/fdpi_radius.nat указываются диапазоны адресов и соотвествующие им имена профилей NAT пример:

0.0.0.0/0	nat_profile_all
10.0.0.0/8	nat_profile_1
10.1.1.0/24	nat_profile_2

Когда указан более специфичный (конкретный) профиль для адреса, то выбирается он.

Поддержка IPv6

В конфигурационном файле /etc/dpi/fdpi_radius.conf указываются настроечные параметры связки адреса и подсетей с абонентом:

Параметры bind_ipv6_address и bind_ipv6_subnet можно задать одновременно.
При наличии маски 128 в Framed-IPv6-Prefix, она не проверяется на ограничение по значению bind_ipv6_subnet.

Абонент идентифицируется RADIUS-атрибутом User-Name или Сalling-Station-ID (в зависимости от настройки login_replace)

В текущей реализации поддерживаются только IPv6 подсети фиксированной длины (по умолчанию /64), поэтому связывание подсетей меньшей длины приведет к ошибке.

Идентификация абонентов в мобильных сетях

Дополнение имен абонентов (LOGIN) префиксами регионов

Используется когда RADIUS монитор и СКАТ обслуживают несколько регионов, а user-name может в разных регионах пересекаться с другими регионами, таким образом их можно развести по разным login

  1. Включить настройку rad_prefix_info=1
  2. В файл /etc/dpi/prefixes.info добавить:
    172.17.76.1 MSK-
    172.17.76.2 MSK-
    172.17.76.3 SPB-
    172.17.76.4 SPB-
    172.17.76.5 SPB-

    где:

    • первое поле - NAS-IP-Address из RADIUS-пакета
    • второе поле - префикс, который будет добавлен к Login