Instalação e Configuração do NetBox no Debian 12: Guia Completo
Netbox é um aplicativo web de código aberto desenvolvido para auxiliar na gestão e documentação de redes de computadores. Originalmente criado pela equipe de engenharia de rede da DigitalOcean, o NetBox foi desenhado para satisfazer as necessidades de engenheiros de rede e infraestrutura, cobrindo aspectos como:
- Gerenciamento de endereço IP (IPAM) – Redes e endereços IP, VRFs e VLANs
- Racks de equipamentos – Organizados por grupo e local
- Dispositivos – Tipos de dispositivos e suas instalações
- Conexões – Rede, console e conexões de energia entre dispositivos
- Virtualização – Máquinas virtuais e clusters
- Circuitos de dados – Circuitos e fornecedores de comunicações de longa distância
- Segredos – Armazenamento criptografado de credenciais sensíveis
Requisitos:
Instalação do Debian 12 Bookworm
Para tornar-se root corretamente, utilize o comando abaixo com o sinal de hífen.
su -
Instale os pacotes necessários que são pré-requisitos para a instalação do NetBox.
# apt install gcc vim net-tools wget redis-server supervisor\ postgresql-contrib postgresql libpq-dev \ python3 python3-pip python3-venv python3-dev\ build-essential libxml2-dev libxslt1-dev\ libffi-dev libssl-dev zlib1g-dev graphviz\ nginx redis python3-setuptools python3-gunicorn
Faça login como usuário postgres para criar o banco de dados necessário.
# su - postgres
Acesse o terminal do postgres com o comando a seguir:
$ psql
Altere a senha conforme necessário.
postgres=# CREATE DATABASE netboxdb; postgres=# CREATE USER netboxuser WITH PASSWORD 'sua_senha'; postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser; postgres=# ALTER USER netboxuser WITH SUPERUSER; postgres=# \q
Verifique se o serviço redis está funcionando corretamente.
$ redis-cli ping
Deverá retornar: PONG
Volte ao usuário root.
exit
Prossiga com o download do projeto NetBox verificando se há uma nova versão disponível no GitHub. Acesse o diretório temporário, faça o download do NetBox, extraia o arquivo, mova para o diretório correto e ajuste as permissões.
# cd /tmp # wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.7.4.tar.gz # tar vxf v3.7.4.tar.gz # mv netbox*/ /opt/netbox # cd /opt/netbox/ # chown www-data: /opt/netbox/netbox/media/ -R
Gere a SECRET KEY que será usada posteriormente.
# /opt/netbox/netbox/generate_secret_key.py
Exemplo:
T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo
Copie e ajuste o arquivo de configuração com suas informações.
# cp /opt/netbox/netbox/netbox/configuration_example.py /opt/netbox/netbox/netbox/configuration.py # vim /opt/netbox/netbox/netbox/configuration.py
Edite o arquivo de configuração como no exemplo a seguir:
ALLOWED_HOSTS = ['localhost','netbox.remontti.com.br'] DATABASE = { 'NAME': 'netboxdb', 'USER': 'netboxuser', 'PASSWORD': 'sua_senha', 'HOST': 'localhost', 'PORT': '', 'CONN_MAX_AGE': 300, } SECRET_KEY = 'T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo' LOGIN_REQUIRED = True
Proceda com a instalação executando:
# /opt/netbox/upgrade.sh
Crie um usuário administrador para o NetBox com o seguinte comando:
# source /opt/netbox/venv/bin/activate (venv) # python3 /opt/netbox/netbox/manage.py createsuperuser Username: remontti Email address: noc@remontti.com.br Password: xxxx Password (again): xxxxx Superuser created successfully. (venv) # deactivate
Configure o servidor web (nginx) e inicie os serviços do NetBox.
# cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py # cp /opt/netbox/contrib/*.service /etc/systemd/system/ # sed -i 's/User=netbox/User=root/' /etc/systemd/system/netbox*.service # sed -i 's/Group=netbox/Group=root/' /etc/systemd/system/netbox*.service # systemctl daemon-reload # systemctl enable netbox netbox-rq netbox-housekeeping # systemctl start netbox netbox-rq netbox-housekeeping # systemctl status netbox netbox-rq
Configure o nginx removendo o arquivo default e criando um novo arquivo de configuração.
# rm /etc/nginx/sites-enabled/default # vim /etc/nginx/sites-available/netbox.conf
Insira a configuração necessária no arquivo `netbox.conf` do nginx.
server { listen 80; listen [::]:80; server_name netbox.remontti.com.br; client_max_body_size 25m; location /static/ { alias /opt/netbox/netbox/static/; } location / { proxy_pass http://localhost:8001; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Crie um link simbólico para ativar a configuração do nginx e reinicie o serviço.
# ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/ # systemctl restart nginx
Acesse seu NetBox pelo navegador em “https://netbox.remontti.com.br/” ou “https://ip/” e faça login com a senha criada.
Instale o plugin topology-views.
# source /opt/netbox/venv/bin/activate (venv) # vim /opt/netbox/netbox/netbox/configuration.py
Configure o plugin `netbox_topology_views` no arquivo de configuração.
PLUGINS = ["netbox_topology_views"] PLUGINS_CONFIG = { 'netbox_topology_views': { 'static_image_directory': 'netbox_topology_views/img', 'allow_coordinates_saving': True, 'always_save_coordinates': True } }
Conclua a instalação do plugin e atualize as configurações.
(venv) # cd /opt/netbox/netbox (venv) # pip3 install netbox-topology-views (venv) # python3 manage.py migrate netbox_topology_views (venv) # python3 manage.py collectstatic --no-input # deactivate # systemctl restart netbox netbox-rq netbox-housekeeping
Agradecimentos e convite para doação:
Se quiser fazer uma doação para o café, ficarei muito feliz pelo seu reconhecimento!
Participe do canal no telegram para ficar sempre atualizado. Agradeço por qualquer feedback nos comentários ou contato direto.
Quem estiver com problemas no migrate onde apresenta erro no django-migrate, basta dar previlégios ao usuário do banco de dados ao schema “public”.
GRANT ALL ON SCHEMA public TO netboxuser;
GRANT ALL ON SCHEMA public TO public;
ALTER USER netboxuser WITH SUPERUSER;
\q
Vlw
Alguem conseguiu alterar a lingaguem para portugues?
tive um problema na questao do plugin topology-views., quando habilito ele da erro e para de funcionar o netbox-housekeeping.
ago 08 14:57:21 proxy python[893]: return _bootstrap._gcd_import(name[level:], package, level)
ago 08 14:57:21 proxy python[893]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ago 08 14:57:21 proxy python[893]: File “/opt/netbox/venv/lib/python3.11/site-packages/netbox_topology_views/urls.py”, line 4, in
ago 08 14:57:21 proxy python[893]: from . import models, views
ago 08 14:57:21 proxy python[893]: File “/opt/netbox/venv/lib/python3.11/site-packages/netbox_topology_views/views.py”, line 31, in
ago 08 14:57:21 proxy python[893]: from utilities.htmx import htmx_partial
ago 08 14:57:21 proxy python[893]: ImportError: cannot import name ‘htmx_partial’ from ‘utilities.htmx’ (/opt/netbox/netbox/utilities/htmx.py)
ago 08 14:57:22 proxy systemd[1]: netbox-housekeeping.service: Main process exited, code=exited, status=1/FAILURE
ago 08 14:57:22 proxy systemd[1]: netbox-housekeeping.service: Failed with result ‘exit-code’.
usa a versão 4.1.4 da netbox
só consegui abrir com esse comando
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox
python3 manage.py runserver 0.0.0.0:8000 –insecure
Ate que acho que consegui instalar sem nenhuma mensagem de erro, mas na hora de acessar via domínio ou IP aparece que a conexão foi recusada, será que poderia ser o firewall no debian ?
Também estou com o mesmo problema aqui, reinstalei umas 5x já, e segui passo-a-passo…
Em /opt/netbox/netbox/netbox/configuration.py coloca da seguinte forma, creio que vai resolver pra você:
ALLOWED_HOSTS = [‘*’]
Espero ter ajudado
Tambem aqui com o mesmo erro, nao aparece nada, ja testei de tudo.
Rapaz depois de ter feito tudo testei esse passo e deu bom
Configure o servidor web (nginx) e inicie os serviços do NetBox.
Boa noite prezado Rudimar! Teria algum detalhe a se atentar na hora de instalar? E outro detalhe, fiquei meio confuso se já instala algum certificado ssl para funcionar por domínio, e tambem vi que no dia 4 desse mês o netbox atualizou de novo. Teria algum detalhe para se atentar na hora de instalar o serviço? Testei por uma primeira vez e não obtive êxito, mas irei tentar novamente.
trabalho numa empresa que faz quase bilhão só usando opensource…. netbox inclusive
Muito bom… Parabéns