Instalação NetBox · 7 min read · Nov 19, 2025

Como instalar a ferramenta de documentação e gerenciamento de rede NetBox no Ubuntu 20.04 LTS

Netbox é uma ferramenta gratuita e poderosa de gerenciamento de endereços IP (IPAM) e infraestrutura de datacenter (DCIM). É usada para armazenar informações sobre suas redes, VMs, inventários e muito mais. Foi originalmente desenvolvida pela equipe de engenharia de rede da DigitalOcean. Esta ferramenta é escrita no framework Django Python e depende do banco de dados PostgreSQL. Seu objetivo é funcionar como uma fonte de verdade específica de domínio para operações de rede.

Neste tutorial, explicaremos como instalar o Netbox com o Nginx como um proxy reverso no Ubuntu 20.04.

Pré-requisitos

  • Um servidor rodando Ubuntu 20.04.
  • Uma senha de root configurada em seu servidor.

Começando

Antes de começar, você precisará instalar algumas dependências necessárias para o Netbox. Você pode instalar todas elas executando o seguinte comando:

apt-get install nginx git gcc supervisor python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev -y

Uma vez que todos os pacotes estejam instalados, você pode prosseguir para o próximo passo.

Instalar e Configurar o Banco de Dados PostgreSQL

O Netbox depende do banco de dados PostgreSQL para armazenamento de dados. Você pode instalá-lo com o seguinte comando:

apt-get install postgresql postgresql-contrib -y

Uma vez que o PostgreSQL esteja instalado, faça login no PostgreSQL com o seguinte comando:

su - postgres  
postgres@ubuntu2004:~$ psql

Você deve obter a seguinte saída:

psql (12.2 (Ubuntu 12.2-4))
Type "help" for help.

Em seguida, crie um banco de dados e um usuário para o Netbox com o seguinte comando:

postgres=# CREATE DATABASE netbox;  
postgres=# CREATE USER netbox WITH PASSWORD 'password';

Em seguida, conceda todos os privilégios ao banco de dados Netbox com o seguinte comando:

postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

Em seguida, saia do shell do PostgreSQL com o seguinte comando:

postgres=# exit  
postgres@ubuntu2004:~$ exit

Instalar e Configurar o NetBox

Primeiro, mude o diretório para /opt e baixe a versão mais recente do Netbox do repositório do Git Hub usando o seguinte comando:

cd /opt/  
git clone -b master https://github.com/digitalocean/netbox.git

Em seguida, crie um link simbólico do binário do Python com o seguinte comando:

ln -s /usr/bin/python3 /usr/bin/python

Em seguida, mude o diretório para /opt/netbox/netbox/ e gere a chave secreta do Django executando o seguinte comando:

cd /opt/netbox/netbox/  
./generate_secret_key.py

Você deve obter a seguinte saída:

wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z

Em seguida, mude o diretório para netbox e renomeie o arquivo de configuração de exemplo:

cd netbox  
mv configuration.example.py configuration.py

Em seguida, edite o arquivo de configuração do Netbox e defina seu banco de dados, chave secreta e hosts permitidos:

nano configuration.py

Faça as seguintes alterações:

ALLOWED_HOSTS = ['your-server-ip']

# Configuração do banco de dados PostgreSQL. Veja a documentação do Django para uma lista completa de parâmetros disponíveis:
#   https://docs.djangoproject.com/en/stable/ref/settings/#databases
DATABASE = {
    'NAME': 'netbox',         # Nome do banco de dados
    'USER': 'netbox',               # Nome de usuário do PostgreSQL
    'PASSWORD': 'password',           # Senha do PostgreSQL
    'HOST': 'localhost',      # Servidor do banco de dados
    'PORT': '',               # Porta do banco de dados (deixe em branco para o padrão)
    'CONN_MAX_AGE': 300,      # Idade máxima da conexão com o banco de dados
}

SECRET_KEY = 'wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z'

Salve e feche o arquivo e, em seguida, instale todas as dependências do Python com o seguinte comando:

pip3 install -r /opt/netbox/requirements.txt

Em seguida, migre o banco de dados com o seguinte comando:

cd /opt/netbox/netbox/  
python3 manage.py migrate

Em seguida, crie um usuário administrativo do Netbox com o seguinte comando:

python3 manage.py createsuperuser

Você será solicitado a fornecer nome de usuário e senha, conforme mostrado abaixo:

Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

Em seguida, colete o arquivo estático com o seguinte comando:

python3 manage.py collectstatic

Você deve ver a seguinte saída:

976 static files copied to '/opt/netbox/netbox/static'.

Instalar e Configurar o Gunicorn

O Netbox é uma aplicação baseada em Django. Portanto, você precisará instalar o Gunicorn em seu sistema. Você pode instalá-lo executando o seguinte comando:

pip3 install gunicorn

Após instalar o Gunicorn, crie um novo arquivo de configuração do Gunicorn para o Netbox com o seguinte comando:

nano /opt/netbox/gunicorn_config.py

Adicione as seguintes linhas:

command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'

Salve e feche o arquivo quando terminar.

Instalar e Configurar o Supervisor

O Supervisor é um sistema cliente/servidor que permite monitorar e controlar o serviço NetBox. Você pode criar um novo arquivo de configuração do Supervisor para o Netbox com o seguinte comando:

nano /etc/supervisor/conf.d/netbox.conf

Adicione as seguintes linhas:

[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data

Salve e feche o arquivo quando terminar. Em seguida, reinicie o serviço Supervisor com o seguinte comando:

systemctl restart supervisor

Você também pode verificar o status do serviço Supervisor usando o seguinte comando:

systemctl status supervisor

Você deve obter a seguinte saída:

? supervisor.service - Sistema de controle de processos Supervisor para UNIX
     Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-30 05:49:08 UTC; 14s ago
       Docs: http://supervisord.org
   Main PID: 550606 (supervisord)
      Tasks: 5 (limit: 4691)
     Memory: 184.3M
     CGroup: /system.slice/supervisor.service
             ??550606 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
             ??550626 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
             ??550628 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
             ??550629 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
             ??550630 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi

May 30 05:49:08 ubuntu2004 systemd[1]: Started Supervisor process control system for UNIX.
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 CRIT Supervisor is running as root.  Privileges were not dropped becau>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during p>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 INFO RPC interface 'supervisor' initialized
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 CRIT Server 'unix_http_server' running without any HTTP authentication>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,672 INFO supervisord started with pid 550606
May 30 05:49:09 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:09,676 INFO spawned: 'netbox' with pid 550626
May 30 05:49:11 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:11,060 INFO success: netbox entered RUNNING state, process has stayed up for

Configurar o Nginx para o NetBox

É uma boa ideia configurar o Nginx como um proxy reverso para acessar o Netbox na porta 80. Você pode criar uma nova configuração de host virtual do Nginx usando o seguinte comando:

nano /etc/nginx/sites-available/netbox.conf

Adicione as seguintes linhas:

server {
    listen 80;
    server_name your-server-ip;
    client_max_body_size 25m;

    location /static/ {
        alias /opt/netbox/netbox/static/;
    }

    location / {
        proxy_pass http://your-server-ip:8001;
    }
}

Salve e feche o arquivo. Em seguida, crie um link simbólico para o diretório /etc/nginx/sites-enabled:

ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/

Em seguida, verifique o Nginx para qualquer erro de sintaxe com o seguinte comando:

ginx -t

Se tudo estiver bem, você deve obter a seguinte saída:

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

Finalmente, reinicie o serviço Nginx para implementar as alterações.

systemctl restart nginx

Você também pode verificar o Nginx com o seguinte comando:

systemctl status nginx

Você deve obter a seguinte saída:

? nginx.service - O servidor HTTP e proxy reverso nginx
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-05-30 22:28:13 EST; 4min 14s ago
  Process: 984 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 982 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 985 (nginx)
    Tasks: 3 (limit: 25028)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ??985 nginx: master process /usr/sbin/nginx
           ??986 nginx: worker process
           ??987 nginx: worker process

May 30 21:28:12 ubuntu2004 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 30 21:28:13 ubuntu2004 systemd[1]: Started The nginx HTTP and reverse proxy server.

Neste ponto, o servidor web Nginx está configurado para servir o Netbox na porta 80. Você pode agora acessar a interface web do Netbox.

Acessar a Interface Web do Netbox

Abra seu navegador e visite a URL http://your-server-ip. Você será redirecionado para a seguinte página:

Interface do Netbox

Clique no botão Entrar. Você deve ver a página de login do Netbox na seguinte tela:

Login do Netbox

Forneça seu nome de usuário e senha de administrador do Netbox e clique no botão login. Você deve ver o painel padrão do Netbox na seguinte página:

Painel de administração do Netbox

Conclusão

Neste guia, você aprendeu como instalar o Netbox no Ubuntu 20.04 com Nginx. Agora você pode começar a documentar sua infraestrutura de rede. Para mais informações, visite a documentação oficial do Netbox. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.