Как установить 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 для получения более подробной информации.