Собственно есть настроенный сервер статистики. Статистика с маршрутизаторов сливается на сервер по NetFlow [1] с помощью самописного скрипта и использованием netgraph [2]. Решил этот скрипт вынести и сливать потоки с помощью ipcad.
Приступаем к установке ipcad из системы портов:
# cd /usr/ports/net-mgmt/ipcad && make install clean |
По завершению установки, следуя инструкциям, добавляем в rc.conf строку запуска:
# echo '### IPCAD' >> /etc/rc.conf |
Далее редактируем конфигурационный файл /usr/local/etc/ipcad.conf до следующего содержания:
# Опция 'capture-ports' включает/отключает дополнительные поля в статистике, capture-ports disable; # Размер буферов, используемых для передачи статистики ядром buffers = 64k # Перечень сетевых интерфейсов, на которых считается проходящий трафик. interface vlan3; # Настройки Netflow. Указываем IP-адрес и порт, куда "сливать" статистику. netflow export destination 192.168.206.66 2002; # Задаем путь к файлу, в который по умолчанию будут складываться данные dumpfile = ipcad.dump; # Настройка безопасности. Указываем каталог, относительно которого будем chroot = /tmp/ipcad; # Путь к pid-файлу. pidfile = ipcad.pid; # Опция 'memory_limit задает количество памяти для хранения содержимого memory_limit = 10m; |
Рассмотрим более детально указанные опции:
- interface - указываем интерфейсы, на которых считается проходящий трафик;
- netflow export destination - указываем, куда "сливать" информацию о проходящем трафике;
- netflow export version - указываем версию netflow;
- dumpfile - путь к файлу, в который по умолчанию будут складываться данные статистики;
- chroot - задаем каталог для chroot;
- pidfile - путь к файлу, в котором хранится идентификатор процесса;
- memory_limit - количество памяти для хранения содержимого одного потока данных.
Создаем каталог для chroot и пытаемся запустить ipcad:
# mkdir /tmp/ipcad |
Проверяем, действительно ли запущен процесс:
# ps -ax | grep ipcad 54041 ?? S<s 0:00,92 /usr/local/bin/ipcad -rds -c /usr/local/etc/ipcad.conf |
Ну и проверим, действительно ли сливаются потоки:
# tcpdump -ni vlan3 dst port 2002 ... |
Поздравляю, все работает...