ULC Lab · implementação reproduzível
Laboratório: Inventário de Rede ISP com NetBox em VM Ubuntu
Você terá um ambiente NetBox funcional, pronto para documentar ativos de rede ISP em laboratório local, em cerca de 2 horas. O laboratório cobre instalação, configuração inicial, cadastro de dispositivos e validação do inventário.

Roteiro para estudo em ambiente de laboratório ou de teste. Execute apenas em equipamentos, redes e contas que você tenha autorização para usar, com backup e homologação próprios. Comandos podem causar indisponibilidade ou perda de dados. Software e marcas citados pertencem aos seus titulares. Termos de Uso.
- Duração estimada
- 120 min
- Passos
- 12
- Validações
- 4
- Versões da documentação consultada
- NetBox 3.6 · PostgreSQL 15 · Redis 7 · Ubuntu Server 22.04 LTS · Gunicorn a versão estável atual
Demonstrar como instalar o NetBox em uma máquina virtual Ubuntu, integrando PostgreSQL e Redis, e cadastrar ativos de rede típicos de um ISP. O objetivo é entender o fluxo completo: da preparação do ambiente à documentação de switches, roteadores e links, com validação via interface web e linha de comando.
Topologia
Uma VM Ubuntu 22.04 (192.168.56.10) roda NetBox, PostgreSQL e Redis. Usuário acessa via navegador na rede local. Simula-se o cadastro de dois switches (192.168.56.21, 192.168.56.22) e um roteador (192.168.56.1) como ativos fictícios.
[Usuário]
|
[Rede Local 192.168.56.0/24]
|
[VM NetBox]
(192.168.56.10)
/ \
[Switch1] [Switch2]
(56.21) (56.22)
[Router]
(56.1)Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM Ubuntu 22.04 LTS | 2 vCPU, 4 GB RAM, 20 GB disco, 1 interface de rede NAT ou bridge |
| NetBox | Apache 2.0 · 3.6 |
| PostgreSQL | PostgreSQL License · 15 |
| Redis | BSD 3-Clause · 7 |
| Ubuntu Server | GPLv2 · 22.04 LTS |
| Gunicorn | MIT · a versão estável atual |
Roteiro
- Preparar a VM Ubuntu
Instale Ubuntu Server 22.04 LTS na VM, atualize o sistema e defina IP fixo (192.168.56.10) para facilitar o acesso.
sudo apt update && sudo apt upgrade -y sudo nano /etc/netplan/01-netcfg.yamlO que você deve ver: Sistema atualizado e interface de rede com IP fixo configurado.
- Instalar dependências do NetBox
Instale Python, pip, PostgreSQL, Redis e ferramentas de build. NetBox depende desses serviços para funcionar.
sudo apt install -y python3 python3-pip python3-venv build-essential libpq-dev libffi-dev libxml2-dev libxslt1-dev libjpeg-dev zlib1g-dev postgresql redis-serverO que você deve ver: Todos os pacotes instalados sem erros.
- Configurar o banco de dados PostgreSQL
Crie um banco e usuário dedicados para o NetBox. Segurança e isolamento são essenciais.
sudo -u postgres psql CREATE DATABASE netbox; CREATE USER netbox WITH PASSWORD 'netboxpass'; GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox; \qO que você deve ver: Banco e usuário criados, sem mensagens de erro.
- Baixar e instalar o NetBox
Clone o repositório oficial do NetBox e prepare o ambiente virtual Python.
git clone -b v3.6 https://github.com/netbox-community/netbox.git /opt/netbox cd /opt/netbox python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txtO que você deve ver: Dependências Python instaladas sem erros.
- Configurar o NetBox
Copie o arquivo de configuração de exemplo e edite as variáveis essenciais: SECRET_KEY, banco de dados, Redis.
cp netbox/netbox/configuration.example.py netbox/netbox/configuration.py nano netbox/netbox/configuration.pyO que você deve ver: Arquivo de configuração ajustado. SECRET_KEY gerado (use python3 -c 'import secrets; print(secrets.token_urlsafe(50))').
- Inicializar o banco de dados NetBox
Aplique as migrações do Django para criar as tabelas.
cd /opt/netbox source venv/bin/activate python3 netbox/manage.py migrateO que você deve ver: Migrações aplicadas sem erros.
- Criar usuário administrador
Necessário para acessar o painel web.
python3 netbox/manage.py createsuperuserO que você deve ver: Usuário admin criado com senha definida.
- Coletar arquivos estáticos
O Django precisa dos arquivos estáticos para servir a interface web.
python3 netbox/manage.py collectstaticO que você deve ver: Arquivos copiados para o diretório static.
- Executar o NetBox no modo desenvolvimento
Suba o serviço para validar a instalação antes de configurar como serviço.
python3 netbox/manage.py runserver 0.0.0.0:8000O que você deve ver: Servidor rodando e escutando na porta 8000.
- Acessar a interface web do NetBox
No navegador, acesse http://192.168.56.10:8000 e faça login com o admin.
O que você deve ver: Painel do NetBox acessível, login bem-sucedido.
- Cadastrar sites, racks e dispositivos
Crie um site 'Laboratório', um rack 'Rack1' e cadastre os ativos: Switch1, Switch2, Router1, simulando o inventário de um ISP.
O que você deve ver: Ativos cadastrados e visíveis na interface.
- Documentar conexões e interfaces
Adicione interfaces aos dispositivos e registre conexões entre eles, simulando a topologia.
O que você deve ver: Conexões e interfaces documentadas, visualização gráfica disponível no NetBox.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Acessar o painel do NetBox via navegador | Página de login aparece e acesso com admin funciona. | |
| Verificar status dos serviços PostgreSQL e Redis | sudo systemctl status postgresql
sudo systemctl status redis-server | Ambos ativos e rodando. |
| Listar dispositivos cadastrados | Switch1, Switch2 e Router1 aparecem na lista de Devices. | |
| Visualizar conexões entre interfaces | Conexões entre dispositivos aparecem na aba Connections. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Erro de conexão ao banco de dados | Configuração incorreta em configuration.py ou serviço PostgreSQL parado | Revise dados de acesso ao banco e status do serviço. |
| Página web não carrega | Firewall bloqueando porta 8000 ou NetBox não iniciado | Verifique firewall e se o runserver está ativo. |
| Usuário admin não consegue logar | Senha digitada incorretamente ou usuário não criado | Refaça o createsuperuser. |
| Erro ao salvar dispositivos | Campos obrigatórios não preenchidos | Preencha todos os campos obrigatórios no formulário. |
Segurança e hardening
- Altere a SECRET_KEY antes de expor à rede.
- Use senha forte para o banco e admin.
- Restrinja acesso à porta 8000 apenas à rede local.
- Não use o modo runserver em produção.
- Consulte a documentação para hardening do Django e do PostgreSQL.
Checklist final
Referências
- NetBox Documentation - Installation · NetBox Labs (docs.netbox.dev)
- NetBox Documentation - Configuration · NetBox Labs (docs.netbox.dev)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 2 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
