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.
1 su - Copiar
Instale os pacotes necessários que são pré-requisitos para a instalação do NetBox.
1 # apt install gcc vim net-tools wget redis-server supervisor\ 2 postgresql-contrib postgresql libpq-dev \ 3 python3 python3-pip python3-venv python3-dev\ 4 build-essential libxml2-dev libxslt1-dev\ 5 libffi-dev libssl-dev zlib1g-dev graphviz\ 6 nginx redis python3-setuptools python3-gunicorn Copiar
Faça login como usuário postgres para criar o banco de dados necessário.
1 # su - postgres Copiar
Acesse o terminal do postgres com o comando a seguir:
1 $ psql Copiar
Altere a senha conforme necessário.
1 postgres=# CREATE DATABASE netboxdb; 2 postgres=# CREATE USER netboxuser WITH PASSWORD 'sua_senha'; 3 postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser; 4 postgres=# ALTER USER netboxuser WITH SUPERUSER; 5 postgres=# \q Copiar
Verifique se o serviço redis está funcionando corretamente.
1 $ redis-cli ping Copiar
Deverá retornar: PONG
Volte ao usuário root.
1 exit Copiar
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.
1 # cd /tmp 2 # wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.7.4.tar.gz 3 # tar vxf v3.7.4.tar.gz 4 # mv netbox*/ /opt/netbox 5 # cd /opt/netbox/ 6 # chown www-data: /opt/netbox/netbox/media/ -R Copiar
Gere a SECRET KEY que será usada posteriormente.
1 # /opt/netbox/netbox/generate_secret_key.py Copiar
Exemplo:
1 T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo Copiar
Copie e ajuste o arquivo de configuração com suas informações.
1 # cp /opt/netbox/netbox/netbox/configuration_example.py /opt/netbox/netbox/netbox/configuration.py 2 # vim /opt/netbox/netbox/netbox/configuration.py Copiar
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:
1 # /opt/netbox/upgrade.sh Copiar
Crie um usuário administrador para o NetBox com o seguinte comando:
1 # source /opt/netbox/venv/bin/activate 2 (venv) # python3 /opt/netbox/netbox/manage.py createsuperuser 3 Username: remontti 4 Email address: [email protected] 5 Password: xxxx 6 Password (again): xxxxx 7 Superuser created successfully. 8 (venv) # deactivate Copiar
Configure o servidor web (nginx) e inicie os serviços do NetBox.
1 # cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py 2 # cp /opt/netbox/contrib/*.service /etc/systemd/system/ 3 # sed -i 's/User=netbox/User=root/' /etc/systemd/system/netbox*.service 4 # sed -i 's/Group=netbox/Group=root/' /etc/systemd/system/netbox*.service 5 # systemctl daemon-reload 6 # systemctl enable netbox netbox-rq netbox-housekeeping 7 # systemctl start netbox netbox-rq netbox-housekeeping 8 # systemctl status netbox netbox-rq Copiar
Configure o nginx removendo o arquivo default e criando um novo arquivo de configuração.
1 # rm /etc/nginx/sites-enabled/default 2 # vim /etc/nginx/sites-available/netbox.conf Copiar
Insira a configuração necessária no arquivo `netbox.conf` do nginx.
1 server {
2 listen 80;
3 listen [::]:80;
4
5 server_name netbox.remontti.com.br;
6
7 client_max_body_size 25m;
8
9 location /static/ {
10 alias /opt/netbox/netbox/static/;
11 }
12
13 location / {
14 proxy_pass http://localhost:8001;
15 proxy_set_header Host $http_host;
16 proxy_set_header X-Real-IP $remote_addr;
17 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
18 proxy_set_header X-Forwarded-Proto $scheme;
19 }
20 }
Copiar
Crie um link simbólico para ativar a configuração do nginx e reinicie o serviço.
1 # ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/ 2 # systemctl restart nginx Copiar
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.
1 # source /opt/netbox/venv/bin/activate 2 (venv) # vim /opt/netbox/netbox/netbox/configuration.py Copiar
Configure o plugin `netbox_topology_views` no arquivo de configuração.
1 PLUGINS = ["netbox_topology_views"]
2
3 PLUGINS_CONFIG = {
4 'netbox_topology_views': {
5 'static_image_directory': 'netbox_topology_views/img',
6 'allow_coordinates_saving': True,
7 'always_save_coordinates': True
8 }
9 }
Copiar
Conclua a instalação do plugin e atualize as configurações.
1 (venv) # cd /opt/netbox/netbox 2 (venv) # pip3 install netbox-topology-views 3 (venv) # python3 manage.py migrate netbox_topology_views 4 (venv) # python3 manage.py collectstatic --no-input 5 # deactivate 6 # systemctl restart netbox netbox-rq netbox-housekeeping Copiar
