запуск инструмента Netbox IPAM в Docker

Thank you for reading this post, don't forget to subscribe!

Netbox – это бес­плат­ный инстру­мент с откры­тым исход­ным кодом, исполь­зу­е­мый для управ­ле­ния и доку­мен­ти­ро­ва­ния ком­пью­тер­ных сетей.

Netbox IPAM напи­сан на язы­ке Django.

Он помо­га­ет облег­чить зада­чу созда­ния вир­ту­аль­ных реа­ли­за­ций устройств в цен­тре обра­бот­ки дан­ных, кото­рые пер­во­на­чаль­но выпол­ня­лись на бумаге.

воз­мож­но­сти Netbox IPAM вклю­ча­ют следующее:

  • Управ­ле­ние Vlan
  • Управ­ле­ние VRF
  • IPAM – управ­ле­ние IP-адресами
  • DCIM – управ­ле­ние инфра­струк­ту­рой цен­тра обра­бот­ки данных
  • Управ­ле­ние про­вай­де­ра­ми кана­лов связи
  • Мно­гос­ай­то­вость
  • Еди­ная кон­вер­гент­ная база данных
  • Опо­ве­ще­ния
  • Управ­ле­ние под­клю­че­ни­я­ми – интерфейсы/консоли/питание
  • Пер­со­на­ли­за­ция заго­лов­ка для лого­ти­па и т.д.

Запуск Netbox в кон­тей­не­рах Docker очень прост, посколь­ку при этом мож­но избе­жать уто­ми­тель­ной уста­нов­ки таких зави­си­мо­стей, как Python, Django и т.д.

Начало работы.

Преж­де чем при­сту­пить к рабо­те над этим руко­вод­ством, убе­ди­тесь, что ваша систе­ма обнов­ле­на и в ней уста­нов­ле­ны необ­хо­ди­мые пакеты.

1. Установите Docker и Docker-Compose на Linux

Эта уста­нов­ка зави­сит от Docker и docker-compose, отве­ча­ю­щих сле­ду­ю­щим требованиям:

  • Docker вер­сии 19.03 и выше
  • docker-compose вер­сии 1.28.0 и выше

Уста­но­ви­те послед­нюю вер­сию Docker CE на Linux!

Не будем оста­нав­ли­вать­ся на уста­нов­ке Docker

Про­верь­те уста­нов­лен­ную вер­сию Docker.

$ docker -v

Docker version 20.10.10, build b485636

Затем добавь­те ваше­го систем­но­го поль­зо­ва­те­ля в груп­пу docker, что­бы выпол­нять коман­ды docker без исполь­зо­ва­ния коман­ды sudo.
sudo usermod -aG docker $USER

newgrp docker

Теперь при­сту­пай­те к уста­нов­ке Docker-compose на Linux.

Загру­зи­те послед­нюю версию

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-linux-x86_64 | cut -d '"' -f 4 | wget -qi -

Сде­лай­те файл исполняемым.

chmod +x docker-compose-linux-x86_64

Пере­ме­сти­те файл в свой PATH.

sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

Про­верь­те свою уста­нов­ку, про­ве­рив вер­сию docker-compose.

$ docker-compose version

Docker Compose version v2.1.1

Теперь запу­сти­те и вклю­чи­те docker.

sudo systemctl start docker && sudo systemctl enable docker

2. Настройка IPAM-сервера Netbox

Все ком­по­нен­ты, необ­хо­ди­мые для сбор­ки Netbox в виде кон­тей­не­ра, пред­став­ле­ны в репо­зи­то­рии Github.

Здесь обра­зы соби­ра­ют­ся и пуб­ли­ку­ют­ся на Docker Hub и Quay.io раз в день.

Теперь gкло­ни­руй­те gitx файл репо­зи­то­рия Netbox, как пока­за­но ниже.

git clone -b release https://github.com/netbox-community/netbox-docker.git

Перей­ди­те в ката­лог Netbox.

cd netbox-docker

Изме­ни­те файл docker-compose.yml из фай­ла docker-compose.override.yml.example сле­ду­ю­щим образом.

Теперь мы гото­вы запу­стить наш кон­тей­нер docker.

Но сна­ча­ла извле­ки­те необ­хо­ди­мые обра­зы для Netbox, PostgreSQL, Redis и т.д.

$ docker-compose pull

Будет извле­че­но несколь­ко обра­зов, как пока­за­но ниже:

Запу­сти­те кон­тей­нер Netbox IPAM.

$ docker-compose up

При­мер вывода:

Когда вы уви­ди­те выше­ука­зан­ный вывод, про­цесс завер­шен, теперь вый­ди­те, про­дол­жи­те и убе­ди­тесь, что кон­тей­не­ры запущены:

Если у вас вклю­чен бранд­мау­эр, раз­ре­ши­те порт 8000, как пока­за­но ниже.

3. Доступ к веб-интерфейсу инструмента Netbox IPAM

Все гото­во, теперь мы можем про­дол­жить и полу­чить доступ к веб-интер­фей­су Netbox IPAM с помо­щью URL http://Hostname:8000 или http://IP_Address:8000.

Вой­ди­те на стра­ни­цу с учет­ны­ми дан­ны­ми по умол­ча­нию: имя поль­зо­ва­те­ля: admin, пароль: admin и API-токен: 0123456789abcdef0123456789abcdef01234567.

Если вы хоти­те оста­но­вить все запу­щен­ные кон­тей­не­ры, выпол­ни­те сле­ду­ю­щую команду:

$ docker-compose stop

Вы може­те уда­лить кон­тей­не­ры, как пока­за­но ниже.

$ docker-compose stop && docker-compose rm

При­мер вывода: