NetFlow – это стандартный сетевой протокол для мониторинга потоков трафика через сетевой интерфейс. Он чаще всего используется такими устройствами, как брандмауэры, маршрутизаторы и коммутаторы, но некоторые программные пакеты позволяют экспортировать данные Netflow из серверной операционной системы – в данном случае Linux (с softflowd ) – в Netflow collector (LogicMonitor) для анализа трафика.
Утсановка на Ubuntu
Официальная документация: http://manpages.ubuntu.com/manpages/xenial/man8/softflowd.8.html
Ниже рассмотрим, как на Ubuntu экспортировать NetFlow в какой-нибудь коллектор. Все команды выполняются с привелегиями root.
Установим softflowd:
sudo apt-get install softflowd
Откроем для редактирования файл конфигурации /etc/default/softflowd:
sudo vim /etc/default/softflowd
Нажмем i для редактирования. Установим значение переменной INTERFACE и укажем назначение ip:port (<collectorIP>:2055) в переменной OPTIONS. Остальные опции доступны в документации, они нам сейчас не нужны.
#
# configuration for softflowd
#
# note: softflowd will not start without an interface configured.
# The interface softflowd listens on. You may also use "any" to listen
# on all interfaces.
INTERFACE="eth0"
# Further options for softflowd, see "man softflowd" for details.
# You should at least define a host and a port where the accounting
# datagrams should be sent to, e.g.
# OPTIONS="-n 127.0.0.1:9995"
OPTIONS="-n 192.168.1.10:2055"
Сохраним файл нажав Esc, затем 😡 и Enter.
Пепезапустим softflowd.
sudo service softflowd restart
Добавим правило в фаервол для порта 2055.
sudo ufw allow 2055
Установка на CentOS
Здесь немного больше работы… Необходимо скачать исходники и скомпилировать их.
Большинство информации отсюда: https://www.scribd.com/doc/199440303/Cacti-Netflow-Collector-Flowview-and-Softflowd
Еще хорошая информация здесь: https://thwack.solarwinds.com/thread/59620
Проверим, установлен ли компилятор.
which gcc
Если в ответ мы не получили /usr/bin/gcc , необходимо его установить:
sudo yum install gcc
Установим libpcap-devel (необходим для компиляции softflowd).
sudo yum install libpcap-devel
Скачаем исходники softflowd.
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gz
Убедимся, что файл скачан и распакуем его.
tar -xzvf softflowd-0.9.9.tar.gz
Перейдем в директорию softflowd, затем запустим команды компиляции и установки.
cd softflowd-0.9.9
./configure
make
make install
Теперь сделаем, что демон запускался со стартом системы. Мы должны добавить строку в конец файла /etc/rc.d/rc.local. После ключа -i указываем свой интерфейс, а после ключа -n IP адрес коллектра и порт.
sudo vim /etc/rc.d/rc.local
Добавляем в конец файла эту строку:
/usr/local/sbin/softflowd -i eth0 -n 10.13.37.111:2055
Сохраним файл нажав Esc, затем 😡 и Enter.
Убедимся, что файл /etc/rc.d/rc.local исполняемый.
sudo chmod +x /etc/rc.d/rc.local
Откроем порт 2055 на фаерволе, чтобы коллектор мог принимать данные.
sudo firewalld-cmd --zone=public --add-port=2055/tcp --permanent
Перезагружаем систему.
sudo reboot
Добавляем хост в коллектор. Пользуемся и наслаждаемся.