Tutorial de Instalação do Netbox - Gerenciamento de Infraestrutura e Redes

O Netbox é uma poderosa ferramenta de gerenciamento de infraestrutura e redes que permite a organização e documentação detalhada de recursos, incluindo IPAM, VRFs, VLAN, Circuitos, Wireless, ambientes de virtualização, e modelagem de racks.


Cenário e Requisitos

Antes de começar, assegure-se de que você possui um servidor Ubuntu 22.04 com todas as atualizações instaladas. Além disso, você precisará dos seguintes componentes:

  1. Python 3.8 ou superior
  2. PostgreSQL 11 ou superior
  3. Redis 4.0 ou superior

Agora, vamos seguir o passo a passo da instalação:

Passo 1: Atualize o Sistema

Antes de começar, certifique-se de que seus repositórios e o sistema estejam atualizados:

bash
sudo apt update sudo apt upgrade

Passo 2: Instale o PostgreSQL

O PostgreSQL será o banco de dados principal para o Netbox:

bash
sudo apt install -y postgresql

Verifique se o PostgreSQL instalado é da versão 11 ou superior:

bash
psql -V

Passo 3: Crie um Banco de Dados e um Usuário

Conecte-se ao PostgreSQL para criar o banco de dados, usuário e definir permissões:

bash
sudo -u postgres psql

Em seguida, execute os seguintes comandos para criar o banco de dados e o usuário. Lembre-se de usar uma senha segura:

sql
CREATE DATABASE netbox; CREATE USER netbox WITH PASSWORD '}T]XoV"BR/]7ukM:lIzIy$U='ALTER DATABASE netbox OWNER TO netbox; \q

Se você estiver usando a versão 15 ou superior do PostgreSQL, execute os comandos abaixo:

sql
\connect netbox; GRANT CREATE ON SCHEMA public TO netbox;

Para testar a conexão ao banco de dados:

bash
psql --username netbox --password --host localhost netbox

Passo 4: Instale o Redis

O Redis é usado para armazenamento em cache e enfileiramento de valor-chave na memória:

bash
sudo apt install -y redis-server

Verifique a versão do Redis:

bash
redis-server -v

Em seguida, certifique-se de que o serviço esteja em execução:

bash
redis-cli ping

Passo 5: Instale o Python 3 e Dependências

O Python é a linguagem principal para o Netbox. Instale o Python 3 e as dependências necessárias:

bash
sudo apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev

Verifique se o Python 3.8 ou superior foi instalado:

bash
python3 -V

Passo 6: Baixe a Última Versão Estável do Netbox

É recomendado baixar uma versão estável do Netbox a partir do repositório oficial no Github. Vamos criar um link simbólico para facilitar o acesso:

bash
cd /tmp sudo wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.5.8.tar.gz sudo tar -xzf v3.5.8.tar.gz -C /opt sudo ln -s /opt/netbox-3.5.8/ /opt/netbox

Passo 7: Crie um Usuário no Sistema

Crie um usuário do sistema e atribua as permissões adequadas aos diretórios do Netbox:

bash
sudo adduser --system --group netbox sudo chown --recursive netbox /opt/netbox/netbox/media/ sudo chown --recursive netbox /opt/netbox/netbox/reports/ sudo chown --recursive netbox /opt/netbox/netbox/scripts/

Passo 8: Altere o Arquivo de Configuração

Agora, vamos editar o arquivo de configuração. Acesse o diretório do Netbox e copie o arquivo configuration_example.py para configuration.py:

bash
cd /opt/netbox/netbox/netbox/ sudo cp configuration_example.py configuration.py

Antes de editar o arquivo de configuração, vamos gerar uma chave secreta. Execute o seguinte comando:

bash
python3 ../generate_secret_key.py

A chave gerada deve ser salva, pois a usaremos no arquivo de configuração.

Agora, abra o arquivo configuration.py com seu editor de texto preferido e altere os seguintes parâmetros:

  • ALLOWED_HOSTS: Defina o IP do seu servidor para restringir o acesso aos dados do Netbox.

  • DATABASE: Insira o nome do banco de dados, usuário e senha criados no início do processo.

  • SECRET_KEY: Cole a chave secreta gerada anteriormente.

  • LOGIN_REQUIRED: Mude de False para True para exigir autenticação ao acessar o Netbox.

Passo 9: Requisitos Opcionais

O Netbox suporta pacotes extras opcionais que devem estar listados no arquivo local_requirements.txt. Para adicionar um sistema de arquivos remoto, instale a biblioteca django-storages:

bash
sudo sh -c "echo 'django-storages' >> /opt/netbox/local_requirements.txt"

Passo 10: Atualize o Script de Instalação

Execute o script de atualização para continuar a instalação. Este script criará um ambiente virtual Python, instalará as bibliotecas necessárias, migrará o esquema do banco de dados, entre outras tarefas:

bash
sudo /opt/netbox/upgrade.sh

Passo 11: Crie o Super Usuário Padrão

Por padrão, não há uma conta de usuário configurada no Netbox. Vamos criar um super usuário dentro do ambiente virtual Python:

Acesse o ambiente virtual:

bash
source /opt/netbox/venv/bin/activate

Acesse o diretório do Netbox:

bash
cd /opt/netbox/netbox

Crie o super usuário inserindo os dados solicitados:

bash
python3 manage.py createsuperuser

Passo 12: Configure a Tarefa de Limpeza

Ainda dentro do ambiente virtual Python, configure uma tarefa de limpeza para tarefas comuns do Netbox:

bash
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

Passo 13: Teste o Ambiente

Para verificar se o ambiente está funcionando corretamente, inicie um servidor de teste da aplicação:

bash
python3 manage.py runserver 0.0.0.0:8000 --insecure

Abra um navegador e acesse http://IP-DO-SERVIDOR:8000 para acessar a página de login do Netbox.

Para parar o servidor de teste, pressione Ctrl + C.

Saia do ambiente virtual Python:

bash
deactivate

Passo 14: Configure o Gunicorn

Configure o Gunicorn, um servidor web usado pelo Netbox:

bash
sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl start netbox netbox-rq sudo systemctl enable netbox netbox-rq systemctl status netbox.service

Passo 15: Configure o Servidor HTTP Apache

Instale o Apache2, que funcionará como servidor web e implemente um Certificado SSL autoassinado:

bash
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/netbox.key -out /etc/ssl/certs/netbox.crt sudo apt install -y apache2 sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf sudo a2enmod ssl proxy proxy_http headers rewrite sudo a2ensite netbox sudo systemctl restart apache2

Acesse o Netbox no navegador com o IP do servidor e confirme se a tela de login é exibida corretamente.

Conclusão

Este tutorial cobriu a instalação do Netbox em um servidor Ubuntu. Certifique-se de que tudo funcione conforme o esperado e continue a configuração e personalização de acordo com suas necessidades. Lembre-se de executar cada comando com cuidado para evitar problemas.

Fonte: LINK 

Postar um comentário

Postagem Anterior Próxima Postagem