Настройка IPAM в Netbox

Версия 1.2 от Антон Волков на 2024/11/18 11:07

При наличии большого количества подсетей зачастую требуется аудит и мониторинг адресного пространства в них, для этого прекрасно подходит такой инструмент, как IPAM.

В качестве инструмента будем использовать Netbox и nmap.

Установка

Для установки нам потребуется скачать уже готовый скрипт от пользователя @lckrspirit с gitlab.

Для удобства его можно разместить где ни будь в каталоге c NetBox.

Качаем nmap, устанавливаем зависимости:

# pkg install nmap
---Активируем виртуальное окружение (например в venv Netbox)--
$ cd/usr/local/share/netbox/
$ .venv/bin/activate
(venv)$ cd /usr/local/share/netbox/scripts
(venv)$ git clone https://gitlab.com/lckrspirit/netbox-ipam-auto-discovery.git
(venv)$ cd netbox-ipam-auto-discovery/
(venv)$ pip install python-nmap pynetbox

Так же его можно скачать тут

Заходим в NetBox в меню "Аутентификация" и получаем токен для обращения к API:

1727787682970-767.png

Генерируем токен (под суперпользователем это лучше не делать, а создать отдельного)

1727787768863-340.png

Открываем скрипт текстовым редактором и вводим адрес NetBox и сгенерированный Token

1727787967381-531.png

P.S. В netbox_url должны быть указаны адреса перечисленные в блоке "ALLOWED HOSTS" файла конфигурации Netbox configuration.py.

Запуск скрипта

Для запуска сканирования сети достаточно выполнить:

(venv)$ python3.11 netbox_scan.py 172.16.1.0/24

Теперь можно идти в меню IPAM и мы увидим отсканированные IP адреса.

1728654692264-592.png

Если мы еще добавим сеть в меню "Диапазоны IP- адресов мы сможем увидеть статистику использование адресного пространства в данном сегменте сети.

1727789872325-372.png

Скрипт сам обновляет и удаляет адреса, его можно назначить в задания cron на выполнение к примеру каждые 3 часа.

Дополнительно мы можем создать VLAN, группы и назначения, после чего связать с существующим диапазоном адресов.

Что бы мы могли видеть еще и свободные адреса, необходимо добавить префикс для нашей сети:

1728977476685-464.png

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