You are currently viewing COMO INSTALAR O NETBOX – SUA FERRAMENTA DE DOCUMENTAÇÃO DE REDE

COMO INSTALAR O NETBOX – SUA FERRAMENTA DE DOCUMENTAÇÃO DE REDE

NetBox é um aplicativo da web de código aberto projetado para ajudar a gerenciar e documentar redes de computadores. Concebido inicialmente pela equipe de engenharia de rede da DigitalOcean, o NetBox foi desenvolvido especificamente para atender às necessidades dos engenheiros de rede e infraestrutura. Abrange os seguintes aspectos de gerenciamento de rede:

  • 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 onde estão instalados
  • Conexões – Rede, console e conexões de energia entre dispositivos
  • Virtualização – máquinas virtuais e clusters
  • Circuitos de dados – circuitos e provedores de comunicações de longa distância
  • Segredos – armazenamento criptografado de credenciais confidenciais

O que o NetBox não é

Embora o NetBox se esforce para cobrir muitas áreas de gerenciamento de rede, o escopo de seu conjunto de recursos é necessariamente limitado. Isso garante que o desenvolvimento se concentre na funcionalidade central e que o aumento do escopo seja razoavelmente contido. Para esse fim, pode ser útil fornecer alguns exemplos de funcionalidade que o NetBox não oferece:

  • Monitoramento de rede
  • Servidor dns
  • Servidor RADIUS
  • Gerenciamento de configurações
  • Gestão de instalações

Dito isso, o NetBox pode ser usado com grande efeito para preencher ferramentas externas com os dados de que precisam para executar essas funções.

Pré-requisitos

Para seguir este tutorial, você precisará de:

  • Um servidor Debian 10  e um firewall configurado com ufw.
  • Nginx configurado seguindo o tutorial de como instalar o NGINX no nosso blog
  • Um bloco de servidor do Nginx com o Let’s Encrypt configurado, o que pode ser feito seguindo o tutorial de como instalar o NGINX no nosso blog.

agora vamos para o que interessa, e é por a mão na massa !

Instale os pacotes que serão necessários para o NETBOX.

$

apt install vim net-tools wget redis-server supervisor\
postgresql-contrib postgresql libpq-dev gcc\
python-minimal python3 python3-pip python3-venv\
python3-dev build-essential libxml2-dev libxslt1-dev\
libffi-dev libssl-dev zlib1g-dev graphviz\
nginx redis python3-setuptools

logue-se com o usuário postgres, para poder criar o banco de dados.

$ su - postgres

Entre no terminal de comandos do postgres

$ psql
$ CREATE DATABASE netboxdb;
$ CREATE USER netboxuser WITH PASSWORD 'senha';
$ GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser;
$ /q

Verifique ser o serviço redis esta respondendo.

Deve retornar : PONG
Retorne ao usuario root

Atualize o pip

$ pip3 install --upgrade pip

Agora vamos baixar o projeto NetBox. Verifique em https://github.com/netbox-community/netbox/releases .
Entre no diretório tmp em seguida iremos farer o download, extrair, mover os mesmo para o diretório correto bem como ajustamos usuário e permissões de diretório.

$ cd /tmp
$ wget https://github.com/netbox-community/netbox/archive/refs/tags/v2.10.6.tar.gz
$ tar vxf v2.10.6.tar.gz
$ mv netbox*/ /opt/netbox
$ cd /opt/netbox/
$ adduser --system --group netbox
$ chown --recursive netbox /opt/netbox/netbox/media/

Execute o comando abaixo para gerar a SECRET KEY que iremos usar em seguida.

$ /opt/netbox/netbox/generate_secret_key.py

Copie o arquivo de configuração exemplo para ajustar com suas infomações

$ cp /opt/netbox/netbox/netbox/configuration.example.py /opt/netbox/netbox/netbox/configuration.py
$ nano /opt/netbox/netbox/netbox/configuration.py

Localize as linhas marcadas em laranja como exemplo abaixo e altere os valores.

ALLOWED_HOSTS = ['localhost','netbox.jbits.com.br']
 
DATABASE = {
    'NAME': 'netboxdb',       # Database name
    'USER': 'netboxuser',     # PostgreSQL username
    'PASSWORD': 'senha',      # PostgreSQL password
    'HOST': 'localhost',      # Database server
    'PORT': '',               # Database port (leave blank for default)
    'CONN_MAX_AGE': 300,      # Max database connection age
}
# Gerado com o comando /opt/netbox/netbox/generate_secret_key.py
SECRET_KEY = 'T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo'
 
LOGIN_REQUIRED = True

Instale os pacotes do py .

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

agora vamos partir finamente para a instalação do tão sonhado NETBOX

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

Crie seu usuário para o acesso web:

$ python3 manage.py createsuperuser

Username (leave blank to use 'root'): netbox
Email address: contato@jbits.com.br
Password: sua_senha
Password (again): sua_senha
Superuser created successfully
python3 manage.py collectstatic

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

Vamos preparar nosso serviço web

$ pip3 install gunicorn
$ cat <<EOF | tee /opt/netbox/gunicorn_config.py
command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = '127.0.0.1:8001'
workers = 3
user = 'www-data'
EOF
$ cat <<EOF | tee /etc/supervisor/conf.d/netbox.conf
[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data
EOF
$ systemctl restart supervisor

Remova o arquivo defautl do servidor web (nginx), e agora iremos criar um novo, estou usando um domínio, caso esteja utilizando com IP privado apenas coloque um underline ou sei próprio IP.

$ rm /etc/nginx/sites-enabled/default
$ vim /etc/nginx/sites-available/netbox.conf

Ajuste o diretório do seu certificado.

server {
    listen 443 ssl;
 
    server_name netbox.jbits.com.br;
 
    ssl_certificate /etc/letsencrypt/live/netbox.jbits.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/netbox.jbits.com.br/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
 
    client_max_body_size 25m;
 
    location /static/ {
        alias /opt/netbox/netbox/static/;
    }
 
    location / {
        proxy_pass http://localhost:8001;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
 
server {
    listen 80;
    server_name netbox.jbits.com.br;
    return 301 https://$host$request_uri;
}

Verifique se seu arquivo de configuração do nginx está correto:

$ nginx -t

Crie o atalho do arquivo de configuração dentro do diretório enabled para que o mesmo seja carregado ao restart o nginx.

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

Agora acesse seu domínios “https://netbox.jbits.com.br/” ou “https://ip/” e entre com sua senha criada anteriormente.

NETBOX INSTALADO COM SUCESSO ! 😉

Fontes:
https://netbox.readthedocs.io/en/stable/installation
https://nginx.org/en/download.html
https://www.postgresql.org/download/linux/debian/
https://www.php.net/downloads

Ivan Junior

Trabalho atualmente como Administrador de Redes em um Provedor de Internet no interior da Bahia.

Deixe um comentário