PaFoS
PaFoS (Packet Flow Sensor) — это сервис, который принимает зеркалированный трафик на выделенный порт, сэмплирует все поступающие на выделенный интерфейс пакеты.
Интеграция в сеть
Для работы PaFoS требуется:
- Выделенный интерфейс для приема зеркалированных пакетов (monitoring interface). Весь входящий трафик на этот интерфейс либо поступает в PaFoS, либо сбрасывается.
- Один или несколько интерфейсов для управления и отправки sFlow в Collector. PaFoS не управляет этими интерфейсами, маршрутизацию выполняет система.
При наличии нужных интерфейсов сервис может быть развернут как на машине с Collector, так и на отдельной машине.
Системные требования
- Linux с ядром 5.18+
- Docker v23.0.0+
Установка
Docker Compose
Для установки на машине с Collector предпочтительный вариант — использование Docker Compose. Потребуется Collector версии v25.10 и выше.
Перейдите в директорию
/srv/collectorУстановите системные настройки сервиса через переменные окружения в файле
.envРазрешите запуск сервиса
pafos, добавив следующие строки вdocker-compose.override.yml:services: pafos: scale: 1Запустите сервис
docker-compose up -d
Plain Docker
Для установки сервиса на выделенную машину можно использовать следующую команду:
docker run -d \
--name pafos \
--network host \
--cap-add=NET_RAW \
--cap-add=NET_ADMIN \
--cap-add=BPF \
--cap-add=SYS_RESOURCE \
-e PAFOS_SAMPLING_RATE=<rate> \
-e PAFOS_HEADER_SIZE=<size> \
-e PAFOS_MONITORING_INTERFACE=<interface> \
-e PAFOS_EXPORTER_ADDRESS=<exporter_address> \
-e PAFOS_COLLECTOR_ADDRESS=<collector_address> \
docker.mitigator.ru/collector/pafos:<version>Системные настройки
Системные настройки задаются через переменные окружения сервиса pafos.
Чтобы их изменение вступило в силу, нужно перезапустить сервис.
PaFoS можно настроить с помощью следующих переменных окружения:
PAFOS_SAMPLING_RATE(по умолчанию 1000): частота семплирования зеркалированного трафика.PAFOS_HEADER_SIZE(по умолчанию 80): размер заголовка пакета, передаваемого в sFlow.PAFOS_MONITORING_INTERFACE(по умолчаниюdummy0): имя интерфейс для приема зеркалированных пакетов (monitoring interface).PAFOS_EXPORTER_ADDRESS(по умолчанию не задано, форматhost:port): адрес, с которого отправляется sFlow.PAFOS_COLLECTOR_ADDRESS(по умолчанию не задано, форматhost:port): адрес, на который отправляется sFlow.
Настройка Collector для приема sFlow
Чтобы получать sFlow по зеркалированному трафику в Collector нужно произвести дополнительную настройку.
- В разделе
Источники Flowдобавьте новый источник - Задайте
Названиедля источника (например,PaFoS) - Укажите
IP-адрес источникасогласно значениюPAFOS_EXPORTER_ADDRESS - Укажите
Семплированиесогласно значениюPAFOS_SAMPLING_RATE - Если порт в
PAFOS_COLLECTOR_ADDRESSотличается от6343, укажитеПорт коллектора - Примените настройки