Главная > CentOS > Установка Network Documentation Tool на CentOS 6.4

Установка Network Documentation Tool на CentOS 6.4

Задался я как то проблемой распределения ip адресов. Подумал что вести в txt файликах прошлый век и нужно уже ставить что то более современное и продуктивное.
Сначала читал на хабре и в тонете про кучу различных систем тут и решил остановится и попробовать две.
В первой части я установлю и сделаю обзор системы Network Documentation Tool а затем NOC.

Итак, Netdot — программное обеспечение которое помогает вести документацию, а именно:

  • находить и опрашивать устройства с помощью SNMP;
  • строить и отображать L2 топологию используя различные источники: CDP, LLDP, STP, таблицы коммутации;
  • вести учет оборудования (Asset Management);
  • вести учет адресного пространства (IPAM);
  • управлять DNS-записями;
  • управлять DHCP;
  • вести учет кабельной инфраструктуры: комнаты, стойки, розетки, соединения внутри и между зданиями и прочее;
  • учет контактов (администраторы, операторы, подразделения, продавцы, поставщики и т.д.)
  • экспортировать настройки для внешних систем: Nagios, RANCID, Cacti, BIND, DHCPD и прочее.


Общая структура. Netdot состоит из следующих компонентов:

  • База данных — в настоящий момент поддерживается MySQL и PostgreSQL. В идеале, возможно использовать любую базу, которая поддерживается Perl DBI.
  • Библиотеки — код представляет собой иерархическую структуру объектно-ориентированных классов Perl.
  • Пользовательский интерфейс — основан на фреймворке HTML::Mason.
  • Скрипты командной строки — различные скрипты (импорт, экспорт, обновление конфигурации и пр.). Можно запускать их с некой периодичностью с помощью CRON.

Основные элементы в Netdot – это «устройства» (коммутаторы, маршрутизаторы, точки доступа, серверы). Следует отметить, что ПК, ноутбуки, мобильные телефоны и пр. не рассматриваются как «устройства». Они заносятся в базу из ARP-таблиц и таблиц коммутации устройств, и затем их можно отслеживать по IP или MAC адресам, а также видеть какому порту коммутатора они были в прошлом подключены.

Установка
Устанавливать я буду на чистый CentOS 6.4 minimal. Саму установку я описывать не буду.
Установка требуемых компонентов
rpm -Uvh http://download3.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum install wget git make perl-CPAN net-snmp net-snmp-devel net-snmp-utils perl-CGI gcc libxml2-devel mod_perl-devel libapreq2 perl-libapreq2 libapreq2-devel net-snmp-perl perl-Net-SNMP perl-Net-DNS perl-Net-DNS-ZoneFile-Fast

Загружаем последнюю версию с сайта разработчиков:
wget http://netdot.uoregon.edu/pub/dists/netdot-1.0.4.tar.gz
Или получаем последнюю версию из GitHub:
git clone git://github.com/cvicente/Netdot

Я делал через второй вариант.
Далее заходим в папку Netdot и устанавливаем зависимости make rpm-install я выбрал базу mysql.
Устанавливаем недостающие Perl модули:
make installdeps
Далее вылазит такая табличка:

===============RESULTS===============
RRDs..............................................ok
GraphViz..........................................ok
Module::Build.....................................ok
CGI...............................................ok
Class::DBI........................................MISSING
Class::DBI::AbstractSearch........................ok
Apache2::Request..................................MISSING
HTML::Mason.......................................ok
Apache::Session...................................ok
URI::Escape.......................................ok
SQL::Translator...................................ok
SNMP::Info 2.06...................................MISSING
NetAddr::IP 4.042.................................ok
Apache2::AuthCookie...............................ok
Apache2::SiteControl..............................MISSING
Log::Dispatch.....................................ok
Log::Log4perl.....................................ok
Parallel::ForkManager.............................ok
Net::Patricia 1.20................................ok
Authen::Radius....................................ok
Test::Simple......................................ok
Net::IRR..........................................ok
Time::Local.......................................ok
File::Spec........................................ok
Net::Appliance::Session...........................ok
BIND::Config::Parser..............................ok
Net::DNS..........................................ok
Text::ParseWords..................................ok
Carp::Assert......................................ok
Digest::SHA.......................................ok
Net::DNS::ZoneFile::Fast..........................MISSING
Socket6...........................................ok
XML::Simple.......................................ok
DBD::mysql........................................ok

У кого то MISSING может быть и в других пунктах. Можно руками доставить отсутствующие пункты:
perl -MCPAN -e shell
cpan> install Bundle::CPAN
cpan[1]> reload cpan
cpan[1]> reload index
cpan[1]> install Class::DBI
cpan[1]> install Net::SNMP

и т.д. После того как все ОК идем дальше.

Устанавливаем mib базы
wget http://kent.dl.sourceforge.net/project/netdisco/netdisco-mibs/latest-snapshot/netdisco-mibs-snapshot.tar.gz
tar -zxC /usr/local/src -f netdisco-mibs-snapshot.tar.gz
mkdir /usr/local/netdisco
mv /usr/local/src/netdisco-mibs /usr/local/netdisco/mibs
cp /usr/local/netdisco/mibs/snmp.conf /etc/snmp/

Копируем файл конфигурации:
cp etc/Default.conf etc/Site.conf
Редактируем настройки:
Параметры подключения к базе данных
DB_TYPE => ‘mysql’
DB_DBA => ‘root’,
DB_DBA_PASSWORD => ‘rootpass’,
DB_HOST => ‘localhost’,
DB_DATABASE => ‘netdot’,
DB_NETDOT_USER => ‘netdot_user’,
DB_NETDOT_PASS => ‘netdot_pass’,
, где DB_DBA – пользователь имеющий право создавать базы, DB_DATABASE – имя создаваемой базы данных Netdot, DB_NETDOT_USER – пользователь базы данных Netdot.
Все остальные настройки можно отредактировать позже. Следует отметить, что в дальнейшем, при изменении конфигурации следует перезапустить Apache чтобы изменения вступили в силу.
Инициируем базу данных:
make installdb
Устанавливаем непосредственно Netdot
make install
Настраиваем Apache:
cp /usr/local/netdot/etc/netdot_apache2_local.conf /etc/httpd/conf.d/
После установки перезапускаем Apache:
service httpd restart

Установка закончена. Запускаем браузер и переходим по адресу http://ваше_имя_хоста.домен/netdot. Имя пользователя и пароль по умолчанию: “admin”.
Более детальное описание установки вы найдете в официальной документации — https://osl.uoregon.edu/redmine/projects/netdot/files

Устройства можно добавлять несколькими способами:
• Опросить устройства с помощью скрипта в командной строке:
/usr/local/netdot/bin/updatedevices.pl -H <адрес или имя хоста> -I -c <комьюнити> — извлечь информацию из одиночного хоста
/usr/local/netdot/bin/updatedevices.pl -B 192.168.1.0/24 -I -c <комьюнити> — просканировать подсеть и извлечь информацию
/usr/local/netdot/bin/updatedevices.pl -E <мя файла> — просканировать устройства, описанные в файле
Получить полный список параметров скрипта можно с помощью команды:
/usr/local/netdot/bin/updatedevices.pl -h
• Опросить или добавить устройство через веб-интерфейс:

Categories: CentOS Tags:
  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.