Как установить Neat IP Address Planner (NIPAP) в Ubuntu 18.04 / Debian 10

Как установить Neat IP Address Planner (NIPAP) в Ubuntu 18.04 / Debian 10

 

NIPAP — это мощная система управления IP-адресами с открытым исходным кодом, созданная для эффективной обработки большого количества IP-адресов в малых и крупных организациях. NIPAP поставляется с гладкой и интуитивно понятной панелью управления на основе веб-интерфейса, которую могут использовать сетевые инженеры и SysAdmins. В веб-интерфейсе также имеется мощный поиск в стиле Google, но для пользователей, ориентированных на терминалы, также предусмотрен клиент CLI.

Особенности Neat IP Address Planner

Некоторые из интересных функций Neat IP Address Planner включают в себя:

  • Очень быстрый и масштабируемый до сотен тысяч префиксов
  • Стильный и интуитивно понятный веб-интерфейс
  • Встроенная поддержка IPv6 (полная функциональность с IPv4)
  • CLI для хардкорного пользователя
  • Встроенная поддержка VRF, позволяющая перекрывать префиксы в разных VRF.
  • Поддержка документирования отдельных хостов
  • Очень мощная функция поиска (с регулярным выражением)
  • Статистика по использованным и бесплатным адресам
  • Интегрированный журнал аудита
  • Система запроса IP-адреса для автоматического назначения подходящих префиксов
  • Промежуточное программное обеспечение XML-RPC, позволяющее легко интегрироваться с другими приложениями или писать
  • Гибкая аутентификация с использованием SQLite и / или LDAP

Клиентские библиотеки для Python, Java и Oracle доступны для тех, кто хочет программно интегрироваться с другими системами.

Как установить аккуратный планировщик IP-адресов в Ubuntu / Debian

Предварительно собранные пакеты NIPAP официально предоставляются для производных Debian и Debian. Вот то, как шаги, которые вы должны следовать.

Шаг 1: Добавьте репозиторий NIPAP

Начните с добавления репозитория NIPAP в исходные тексты пакетов Ubuntu / Debian:

sudo apt update
sudo apt -y install gnupg2
echo "deb http://spritelink.github.io/NIPAP/repos/apt stable main extra" | sudo tee /etc/apt/sources.list.d/nipap.list

Добавьте открытый ключ NIPAP для правильной аутентификации предоставленных пакетов:

wget -O - https://spritelink.github.io/NIPAP/nipap.gpg.key | sudo apt-key add -

После добавления хранилища обновите списки пакетов.

sudo apt -y update

Шаг 2: Установите PostgreSQL и расширение ip4r

Теперь давайте установим PostgreSQL, пакет contrib и расширение ip4r :

Ubuntu 18.04:

sudo apt update
sudo apt install postgresql-contrib postgresql-10-ip4r

Debian 10:

sudo apt update
sudo apt install postgresql-contrib postgresql-11-ip4r

Шаг 3: Установите пакеты Neat IP Address Planner (NIPAP) в Ubuntu / Debian

Устанавливаемые пакеты NIPAP:

  • nipapd — Neat IP Address Planner XML-RPC демон
  • nipap-common — библиотека с общими материалами, необходимыми для всех остальных компонентов
  • nipap-cli — клиент CLI для NIPAP
  • nipap-www — веб-интерфейс для NIPAP
  • python-pynipap — модуль Python для доступа к NIPAP
  • python3-pynipap — модуль Python 3 для доступа к NIPAP

Установите стандартные пакеты с помощью команды:

sudo apt install nipapd nipap-cli nipap-www python-pynipap

Выберите, чтобы:

  • Сервер базы данных является локальным
  • Автоматическая настройка базы данных для nipapd
  • Автоматически запускать сервисы

Также согласитесь создать пользователя для доступа к веб-интерфейсу.

Automatically create user for web interface? [yes/no] yes

Шаг 4. Настройка веб-интерфейса NIPAP

Веб-интерфейсу требуется собственная учетная запись пользователя для аутентификации в бэкэнде, и это должна быть доверенная учетная запись. Создайте его следующим образом:

user="nipap-www"
password="StrongPassw3rd"
sudo nipap-passwd add --username $user --password $password --name "My User Account"

Вывод команды выглядит так:

Added user nipap-www to database /etc/nipap/local_auth.db

Настройте веб-интерфейс для использования этой учетной записи, настроив переменную xmlrpc_uri:

$ sudo vim /etc/nipap/nipap.conf
xmlrpc_uri = http://nipap-www@local:StrongPassw3rd@127.0.0.1:1337

Синтаксис конфигурации:

xmlrpc_uri = http://{{NIPAPD_USERNAME}}@local:{{NIPAPD_PASSWORD}}@{{NIPAPD_HOST}}:{{NIPAPD_PORT}}

Перезапустите службу nipapd .

 sudo systemctl restart nipapd.service

Другие учетные записи могут быть добавлены тем же способом:

nipap-passwd add --username myuser --password mypassword --name "my user"

Обслуживание веб-интерфейса с помощью Apache httpd с помощью mod_wsgi

Начните с установки Apache httpd с помощью mod_wsgi:

sudo apt install apache2 libapache2-mod-wsgi

Затем добавьте новый виртуальный хост:

$ sudo vim /etc/apache2/sites-enabled/nipap.conf

Изменить / вставить следующие данные:

<VirtualHost *:80>
      ServerName nipap.example.com
      DocumentRoot /var/cache/nipap-www/
      ServerAdmin [email protected]
      WSGIScriptAlias / /etc/nipap/www/nipap-www.wsgi

<Directory /etc/nipap/www/>
    Require all granted
</Directory>

<Directory /var/cache/nipap-www/>
    Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/nipap_error.log
CustomLog ${APACHE_LOG_DIR}/nipap_access.log combined

Включить мод wsgi в Apache

sudo a2enmod wsgi

Проверьте ваши настройки Apache:

$ sudo apachectl configtest
Syntax OK

Веб-сервер должен иметь возможность записи в свой кэш, изменить разрешения:

sudo chown -R www-data:www-data /var/cache/nipap-www
sudo chmod -R u=rwX /var/cache/nipap-www

Теперь перезапустите сервер Apache httpd:

sudo systemctl restart apache2

Веб-интерфейс NIPAP должен быть запущен и доступен на настроенном домене nipap.example.com.

Войдите с учетными данными, предоставленными ранее.

Сетевые префиксы могут быть добавлены из CLI или веб-панели.

Настройка CLI

Добавить пользователя CLI:

sudo nipap-passwd add --username nipap-cli --password StrongPassword --name "My CLI user"

Затем создайте свой .nipaprc с именем пользователя и паролем, созданными выше.

$ vim ~/.nipaprc
[global]
hostname = localhost
port     = 1337
username = *nipap-cli*
password = *StrongPassword*
default_vrf_rt = none
default_list_vrf_rt = all

Установить права доступа к файлу:

chmod 0600 ~/.nipaprc

Попробуйте добавить тестовый префикс, чтобы подтвердить, что он работает.

$ sudo nipap address add prefix 192.168.20.0/24 type assignment description "Test prefix"
Network 192.168.20.0/24 added to VRF 'default' [RT: -]: Test prefix

Подтвердите на панели инструментов интерфейса пользователя.

Посетите страницу документации NIPAP для получения более подробной информации.