Найти в Дзене
Николай Калюжный

Как установить NetBox IRM на Ubuntu 24.04.1 LTS

NetBox, веб-приложение с открытым исходным кодом, предназначенное для управления компьютерными сетями и их документирования, является бесценным инструментом для сетевых инженеров и администраторов. Благодаря интуитивно понятному интерфейсу и надежному набору функций, NetBox упрощает управление сетевой инфраструктурой, предлагая такие функции, как управление IP-адресами (IPAM), инвентаризация устройств, отслеживание цепей и многое другое. В этом руководстве описан пошаговый процесс установки NetBox в Ubuntu 22.04. NetBox использует PostgreSQL в качестве ядра базы данных, поэтому вы должны установить его на свой сервер. Вы можете установить его с помощью следующей команды. apt update -y apt install postgresql postgresql-contrib -y Далее проверьте работу сервиса PostgreSQL. systemctl status postgresql Далее авторизуйтесь в PostgreSQL. sudo -i -u postgres psql ALTER USER postgres WITH PASSWORD ‘mysuperpass’; Создание базы данных и пользователя для Netbox. CREATE DATABASE netbox; CRE
Оглавление

NetBox, веб-приложение с открытым исходным кодом, предназначенное для управления компьютерными сетями и их документирования, является бесценным инструментом для сетевых инженеров и администраторов. Благодаря интуитивно понятному интерфейсу и надежному набору функций, NetBox упрощает управление сетевой инфраструктурой, предлагая такие функции, как управление IP-адресами (IPAM), инвентаризация устройств, отслеживание цепей и многое другое.

В этом руководстве описан пошаговый процесс установки NetBox в Ubuntu 22.04.

Шаг 1 – Установите PostgreSQL Server

NetBox использует PostgreSQL в качестве ядра базы данных, поэтому вы должны установить его на свой сервер. Вы можете установить его с помощью следующей команды.

apt update -y

apt install postgresql postgresql-contrib -y

Далее проверьте работу сервиса PostgreSQL.

systemctl status postgresql

-2

Далее авторизуйтесь в PostgreSQL.

sudo -i -u postgres psql

ALTER USER postgres WITH PASSWORD ‘mysuperpass’;

Создание базы данных и пользователя для Netbox.

CREATE DATABASE netbox;

CREATE USER netbox WITH PASSWORD ‘password’;

ALTER DATABASE netbox OWNER TO netbox;

GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netbox;

Выйдите из оболочки PostgreSQL.

\q

Шаг 2 – Установите Redis

NetBox использует Redis для кэширования, поэтому вам нужно будет установить его на свой сервер. Вы можете установить его с помощью следующей команды.

apt install redis -y

Вы можете проверить установку Redis с помощью следующей команды.

redis-server -v

Выпуск

Redis server v=6.0.16 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=a3fdef44459b3ad6

Далее отредактируйте файл конфигурации Redis.

nano /etc/redis/redis.conf

Измените следующую строку, чтобы включить проверку подлинности Redis.

requirepass password #Здесь пишем свой пароль,который будет использоваться в настройках configuration.py REDIS+Cache

Сохраните файл, а затем перезапустите Redis, чтобы изменения вступили в силу.

systemctl restart redis-server

Шаг 3 – Установите Netbox

Во-первых, установите все необходимые зависимости.

apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev

Далее создайте директорию для NetBox.

mkdir -p /opt/netbox/

Затем измените каталог на NetBox и загрузите последнюю версию NetBox из репозитория Git.

cd /opt/netbox

git clone -b master —depth 1 https://github.com/netbox-community/netbox.git .

git config —global —add safe.directory /opt/netbox

Далее создайте пользователя и группу для NetBox.

adduser —system —group netbox

Измените владельца каталога NetBox.

chown —recursive netbox /opt/netbox

chown —recursive netbox /opt/netbox/netbox/media/

Затем переименуйте пример файла конфигурации NetBox.

cd /opt/netbox/netbox/netbox/

cp configuration_example.py configuration.py

Затем сгенерируйте секретный ключ.

python3 ../generate_secret_key.py

Выпуск.

python3 ../generate_secret_key.py

b2r$RM1Qx@5JCKDEfol7&2!ZO3(w0noGjTPSyg&9LUA##PdVch

Далее отредактируйте файл конфигурации NetBox.

nano configuration.py

Измените следующие строки:

#ALLOWED_HOSTS = [‘netbox.example.com’, »]

ALLOWED_HOSTS = [‘*’] # на время настройки поставим его, позже или сразу можно настроить с доменным именем;

DATABASE = {

‘NAME’: ‘netbox’,

‘USER’: ‘netbox’,

‘PASSWORD’: ‘password’, #Пароль базы

‘HOST’: ‘localhost’,

‘PORT’: »,

‘CONN_MAX_AGE’: 300,

}

REDIS = {

‘tasks’: {

‘HOST’: ‘localhost’,

‘PORT’: 6379,

‘PASSWORD’: ‘password’, # Пароль REDIS

‘DATABASE’: 0,

‘SSL’: False,

},

‘caching’: {

‘HOST’: ‘localhost’,

‘PORT’: 6379,

‘PASSWORD’: ‘password’, # Пароль REDIS

‘DATABASE’: 1,

‘SSL’: False,

}

}

SECRET_KEY = ‘3ChOm5a9!J)Ik*vxXNZBu&MdaQN545_Dyh93#PnII7uv_AeqNP’

Сохраните и закройте файл, затем установите NetBox с помощью следующей команды.

/opt/netbox/upgrade.sh

-3

Этот блок для настройки ниже не нужен и идете на Шаг 4

====================================================================

python3 /opt/netbox/netbox/generate_secret_key.py

root@netbox:/opt/netbox/netbox/netbox# python3 /opt/netbox/netbox/generate_secret_key.py
q%w@G-AG0%iJA%1&fl@5Jk8yd39Kno#aYzE0*Jsqmw-I=ptTGB

-4

python /opt/netbox/netbox/generate_secret_key.py
uz@*DBkj&vMumz8Vmn)Yv(7P5q9QobgdD4)o0^$@-tQBNux-DP

=================================================================

Шаг 4 – Создайте пользователя Netbox Admin

Во-первых, активируйте виртуальную среду NetBox.

source /opt/netbox/venv/bin/activate

Далее создаем суперпользователя для NetBox.

cd /opt/netbox/netbox

python3 manage.py createsuperuser

Определите пользователя и пароль, как показано ниже.

Username (leave blank to use ‘root’): nadmin

Email address: admin@example.com

Password:

Password (again):

Superuser created successfully.

Далее создаем символическую ссылку на служебный файл NetBox.

ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

Шаг 5 – Запустите сервер Netbox

Теперь вы можете запустить сервер NetBox с помощью следующей команды.

python3 manage.py runserver 0.0.0.0:8000 —insecure

-5

System check identified no issues (0 silenced).

February 15, 2024 — 03:15:24

Django version 4.2.9, using settings ‘netbox.settings’

Starting development server at http://0.0.0.0:8000/

Quit the server with CONTROL-C.

Теперь откройте веб-браузер и откройте NetBox, используя URL-http://netbox.example.com:8000. Вы увидите следующую страницу NetBox.

-6

Нажмите на кнопку «Войти». Вы увидите следующую страницу.

-7

Укажите имя пользователя и пароль администратора и нажмите «Войти». Вы увидите панель управления NetBox на следующем экране.

Наконец, отключитесь от виртуальной среды с помощью следующей команды.

deactivate

Шаг 6 – Создайте служебный файл systemd

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

Сначала скопируйте все необходимые файлы в нужное место.

cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py

cp -v /opt/netbox/contrib/*.service /etc/systemd/system/

Затем перезагрузите демон systemd, чтобы изменения вступили в силу.

systemctl daemon-reload

Далее запустите и включите услугу NetBox.

systemctl start netbox netbox-rq

systemctl enable netbox netbox-rq

Теперь вы можете проверить сервис NetBox с помощью следующей команды.

systemctl status netbox

Выпуск.

● netbox.service — NetBox WSGI Service

Loaded: loaded (/etc/systemd/system/netbox.service; disabled; vendor preset: enabled)

Active: active (running) since Thu 2024-02-15 03:20:32 UTC; 5s ago

Docs: https://docs.netbox.dev/

Main PID: 113448 (gunicorn)

Tasks: 6 (limit: 4579)

Memory: 506.7M

CPU: 6.533s

CGroup: /system.slice/netbox.service

├─113448 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn —pid /var/tmp/netbox.pid —pythonpath /opt/netbox/netbox —config /opt/netbox/gunicor>

├─113450 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn —pid /var/tmp/netbox.pid —pythonpath /opt/netbox/netbox —config /opt/netbox/gunicor>

├─113451 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn —pid /var/tmp/netbox.pid —pythonpath /opt/netbox/netbox —config /opt/netbox/gunicor>

├─113452 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn —pid /var/tmp/netbox.pid —pythonpath /opt/netbox/netbox —config /opt/netbox/gunicor>

├─113453 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn —pid /var/tmp/netbox.pid —pythonpath /opt/netbox/netbox —config /opt/netbox/gunicor>

└─113454 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn —pid /var/tmp/netbox.pid —pythonpath /opt/netbox/netbox —config /opt/netbox/gunicor>

Шаг 7 – Настройте Nginx в качестве обратного прокси

Сначала установите пакеты Nginx.

apt install nginx

Далее отредактируйте основной файл конфигурации Nginx.

nano /etc/nginx/nginx.conf

Добавьте следующую строку после строки http{:

server_names_hash_bucket_size 64;

Затем создайте новый файл конфигурации виртуального хоста Nginx.

nano /etc/nginx/conf.d/netbox.conf

Добавьте следующие конфигурации.

server {

listen 80;

server_name netbox.example.com;

access_log /var/log/nginx/netbox.access.log;

error_log /var/log/nginx/netbox.error.log;

client_max_body_size 25m;

# Proxy everything over to the netbox server

location /static/ {

alias /opt/netbox/netbox/static/;

}

location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Forwarded-Host $http_host;

proxy_pass http://127.0.0.1:8001;

}

}

Сохраните файл и проверьте Nginx на наличие синтаксических ошибок.

nginx -t

Выпуск.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезапустите службу Nginx, чтобы изменения вступили в силу.

systemctl restart nginx

Теперь вы можете получить доступ к NetBox с помощью URL-адреса http://netbox.example.com.

Заключение

Следуя процессу установки, описанному в этом руководстве, сетевые администраторы могут использовать весь потенциал NetBox для оптимизации операций, улучшения видимости и поддержания хорошо документированной сетевой инфраструктуры. Используйте возможности NetBox в Ubuntu 24.04.1 LTS и уверенно управляйте своей сетевой инфраструктурой.