====== Настройка ======
{{indexmenu_n>3}}
Radius Accounting необходимо подать в порты устройства DPI вместе с сетевым трафиком. Реализовать это возможно через зеркалирование портов, к которым подключен Radius сервер.
===== Настройка TAP интерфейсов =====
Radius Monitor может быть запущен на том же сервере, что и FastDPI или вынесен на внешний сервер. Для выделения нужного трафика используются два виртуальных интерфейса TAP0 и TAP1.\\
{{:dpi:dpi_components:radius:radius_config:radius_monitor_dpdk.png?600|Размещения Radius монитор на том же сервере. Используется Bridge.}}\\
**Размещения Radius монитор на том же сервере. Используется Bridge.**\\
\\
\\
{{:dpi:dpi_components:radius:radius_config:radius_monitor_dpdk_tunnel.png?600|Размещения Radius монитор на внешнем сервере. Используется Tunnel.}}\\
**Размещения Radius монитор на внешнем сервере. Используется Tunnel.**
* TAP0 - используется для отведения трафика
* TAP1 - слушает Radius Monitor
* Между TAP0 и TAP1 создается Bridge или Tunnel для передачи трафика.
* На интерфейсе TAP0 отключается mac learning
Из консоли выполнить следующие команды:
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 интерфейсы необходимо стартовать после перезагрузки сервера!
===== Настройка Linux интерфейсов =====
Работа со стандартными интерфейсами Linux осуществляется с помощью libpcap.
Пример:
in_dev=eno2
===== Настройка отведения трафика =====
Подключаем на 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
где:
* 1813,1814,1815 - порты, на которых передается Radius Accounting
* 10.16.252.11,10.16.252.12 - IP адреса Radius серверов, с которых идет Radius Accounting
===== Настройка Radius Monitor =====
Настройки Монитора событий Radius находятся в файле **/etc/dpi/fdpi_radius.conf.**
# FastDPI RADIUS configuration parameters:
# имя прослушиваемого интерфейса
in_dev=tap1
# номер прослушиваемого порта (или список портов через запятую) с пакетами Radius Accounting
rad_acct_port=1813,1814,1815
# сохранять в pcap формате плохие PDU для анализа
rad_save_pdu=0
# анализировать PDU с кодом 2 и 4
rad_check_code_pdu=2:4
# анализировать PDU со статусом 1 и 3
rad_check_acct_status_type=1:3
# инициализировать память при старте
mem_preset=1
# Список DPI серверов, на которые отправлять данные
fdpi_servers=127.0.0.1:29000,123.45.67.85:29000
# настройка обработки потоков (рекомендуется использовать значения из примера)
num_threads=1
rx_bind_core=0
services_bind_cores=0
engine_bind_cores=0
fifo_bind_cores=0
snaplen=2000
timeout_alarm=5
dbg_log_mask=0x31
# настройка экпорта радиус-событий
ipfix_dev=eno8
ipfix_tcp_collectors=172.32.0.239:1502
#
После изменения конфигурации перезагружаем службу
systemctl restart fastradius
===== Подлючение 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 }'
В конфигурационном файле радиус-монитора /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
когда указан более специфичный (конкретный) профиль для адреса, то выбирается он
Описание параметров [[dpi:opt_cgnat:сgnat_settings#параметры_и_возможные_значения|по ссылке]]
===== Поддержка IPv6 =====
В конфигурационном файле /etc/dpi/fdpi_radius.conf указываются настроечные параметры
bind_ipv6_address=0 (по умолчанию - не связывать адрес с абонентом),1 связывать (связывание аналогично команде bind в fdpi_ctrl). Адрес берется из атрибута радиус Framed-IPv6-Address(168)
bind_ipv6_subnet=0 (по умолчанию - не связывать),64 (связывать только для подсетей /64), -1 связывать для любых подсетей. Подсеть берется из атрибута радиус Delegated-IPv6-Prefix(123)
Абонент идентифицируется радиус атрибутом User-Name или Сalling-Station-ID (в зависимости от настройки login_replace)
В текущей реализации поддерживаются только IPv6 подсети фиксированной длины (по умолчанию /64), поэтому связывание подсетей меньшей длины приведет к ошибке.
===== Идентификация абонентов в мобильных сетях =====
В конфигурационном файле /etc/dpi/fdpi_radius.conf указывается настроечный параметр
login_replace=1
в этом случае для идентификации абонента используется радиус атрибут Сalling-Station-ID (вместо User-Name) если он присутствует в радиус пакете
===== Дополнительные Настройки Radius Monitor =====
# FastDPI RADIUS configuration parameters:
# имя исходящего интерфейса, если Монитор работает в режиме пропуска трафика
#out_dev=dna1
# включить эмуляцию резервного Radius сервера
#rad_server_emulation=1
# включить эмуляцию сетевой карты
#rad_virtual_eth=172.17.69.10/D4:AE:52:C1:A7:29
# значение secret для генерации ответов в режиме эмуляции Radius сервера
#rad_secret=mysecretkey
# дополнять имена абонентов (LOGIN) префиксами регионов
#rad_prefix_info=1
# номер прослушиваемого порта (или список портов через запятую) с пакетами Radius Authentication
#rad_auth_port=1645
# разрешить несколько IP на одном USER-NAME cмотри команду load --bind_multi, предупреждение: если порядок bind/unbind в радиус потоке не соблюдается или есть потери пакетов (например это зеркало), то вероятны артефакты
#bind_multi=true
==== Дополнение имен абонентов (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\\
Также смотрите раздел [[dpi:dpi_components:radius:radius_admin|администрирование]]