3 Настройка

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

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

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

TAP0 - используется для отведения трафика

TAP1 - слушает Radius Monitor

Между TAP0 и TAP1 создается Bridge или 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
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 услугу отведения трафика:

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

Подлючение 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
когда указан более специфичный (конкретный) профиль для адреса, то выбирается он

Поддержка 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

Также смотрите раздел администрирование