Установка ntop в Linux openSUSE

Linux Ntop openSUSE

В данной статье рассматривается установка ntop — анализатора сетевого трафика. Версии, находящаяся на момент написания статьи в официальном репозитории openSUSE была устаревшей, поэтому статья описывает установку программы так же из исходных кодов.

Установка ntop из репозитория openSUSE

yast --install ntop

Будут автоматически установлены и настроены зависимости. Устанавливаем пароль для администратора.

ntop -A

Добавляем пользователя от которого будет запускаться ntop.

useradd -s /sbin/nologin -r ntop

Меняем права на директории

chown -R ntop:users /var/lib/ntop

Далее необходимо отредактировать файл /etc/sysconfig/ntop и внести необходимые настройки.

# Сетевые интерфейсы для которых будет анализирвоаться трафик
NTOPD_IFACE="eth0,eth1"
# IP-адрес и порт сетевого интерефеса на котором будет отображаться статистика в браузере
NTOPD_PORT="10.98.0.1:3000"
# Запускать ntop от данного пользователя
NTOP_USER="ntop"
# Дополнительные аргументы # -M разделяет статистику по различным сетевым интерфейсам
NTOP_ARGS="-M"

При необходимости добавляем ntop в автозапуск системы.

chkconfig ntop 35

Запускаем ntop.

service ntop start

Установка ntop из исходных кодов

Скачиваем последнюю версию ntop (на момент написания статьи 4.0.3) и распаковываем его.

wget http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-4.0.3.tgz/download
tar -zxvf ntop-4.0.3.tgz

Для удобства перемещаем директорию с ntop в /opt, в которой, согласно иерархии файловой системы должны храниться программы установленные из исходных кодов.

mv ntop-4.0.3/ /opt/ntop/

Устанавливаем дополнительные пакеты, необходимые для работы ntop.

yast --install libpcap-devel libpcap libtool rrdtool rrdtool-devel
yast --install automake autoconf gcc gcc-c++ gdbm-devel
yast --install GeoIP libGeoIP-devel

Переходим в дирректорию с ntop и устанавливаем его.

cd /opt/ntop/
./autogen.sh

При возникновении каких-либо ошибок необходимо доустановить недостающие пакеты при помощи yast --install Компилируем и устанавливаем ntop.

make
make install

Создаем пользователя с именем ntop от которого будет запускаться сама программа.

useradd -s /sbin/nologin -r ntop

Меняем права на директории для пользователя ntop

chown -R ntop:users /usr/local/share/ntop
chown -R ntop:users /usr/local/var/ntop/

Проверяем работоспособность ntop

ntop -h
ntop: error while loading shared libraries: libntopreport-4.0.3.so: cannot open shared object file: No such file or directory

В случае возникновения данной ошибки обновляем хэш динамических библиотек.

ldconfig

Устанавливаем пароль администратора в ntop

ntop -A

Запускаем ntop

/usr/local/bin/ntop -i "eth0,eth1" -u ntop -M
  • -i "eth0,eth1" — перечень интерфейсов, которые будет прослушивать ntop;
  • -u ntop — имя пользователя от которого запускается ntop;
  • -M — позволяет смотреть статистику по разным интерфейсам;
  • -d — добавив данный ключ ntop запустится в виде демона и не будет выводить информацию на экран.
  • -L — вывод системных сообщений происходит не на монитор, а в системный журнал /var/log/messages

Использование и настройка ntop

Для доступа к статистике ntop необходимо зайти по адресу http://ip_адрес_сервера:3000/

Открытие доступа в iptables

Доступ к статистике через браузер открывается при помощи следующего правила iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT

Please enable make sure that the ntop html/ directory is properly installed

В ходе установки ntop была замечена следующая ошибка в браузере Mozilla Firefox (IE и Epiphany работали нормально): Please enable make sure that the ntop html/ directory is properly installed В логах ntop выдавалось следующее сообщение: errno 10 while sending page to web client В ходе диагностики проблемы была найдена причина в http заголовке Last-Modified, который отдавался на русском языке в неправильной кодировке. Решение проблемы в задании английской локали для формирования даты в ntop.

env LC_TIME=en_US.utf8 /usr/local/bin/ntop -i "eth0,eth1" -u ntop
15 Фев 2011 17:45 -- Юрий Акимов