Ir para o conteúdo

Juniper Vjuniper Descoberta

Introdução

Este laboratório simula uma rede com 3 roteadores configurados com OSPF e SNMP, integrando o Zabbix e o Netbox para importação e gerenciamento automatizado de dispositivos.


1. Descrição

1.1 Objetivo do Lab

O objetivo deste laboratório é importar os dispositivos de rede e suas configurações no Netbox a partir do Zabbix, além de demonstrar o funcionamento básico do roteamento OSPF entre três roteadores conectados em anel e monitorados via SNMP.

1.2 Topologia do Lab

Abaixo a topologia em formato imagem, representando os roteadores, servidores e suas conexões.

Topologia.svg

Os roteadores estão configurados com as seguintes tecnologias:

  • OSPF (Open Shortest Path First): Utilizado para roteamento dinâmico na rede, permitindo que os roteadores troquem informações sobre rotas e atualizações de topologia.
  • SNMP (Simple Network Management Protocol): Utilizado para monitoramento e gerenciamento da rede, permitindo o acesso a informações de telemetria dos dispositivos.

2. Aplicações

Exemplos de Aplicações

Este laboratório é voltado à experimentação prática com descoberta automática de dispositivos em redes IP, integrando ferramentas de monitoramento (Zabbix) e documentação (Netbox). Ele é ideal para estudos e treinamentos que envolvem automação de inventário, descoberta de topologia e integração de dados de rede.

Possíveis Aplicações:

  • Automação da descoberta de rede: Demonstra como identificar automaticamente dispositivos ativos em uma rede usando Zabbix e como importar esses dados para o Netbox, reduzindo o esforço manual no mapeamento de ativos.

  • Capacitação em NetDevOps e gestão de inventário: Excelente para treinar profissionais em práticas modernas de operações de rede, com foco em integração de ferramentas via API e automação da documentação de infraestrutura.

  • Criação de repositório centralizado de dispositivos: Possibilita construir uma base confiável de dados sobre a rede em tempo real, a partir de informações descobertas via SNMP e documentadas no Netbox.

  • Estudo da integração Zabbix + Netbox via API: Permite explorar o uso de APIs RESTful para sincronizar informações entre ferramentas de monitoramento e gestão de ativos de rede.

  • Ensino de descoberta SNMP e gerenciamento centralizado: Proporciona uma experiência prática para alunos e profissionais entenderem como ocorre a coleta de dados de rede (interfaces, IPs, fabricantes etc.) e como esses dados são tratados por ferramentas de gerenciamento.


3. Requisitos

3.1 Pré requisitos

Para iniciar o laboratório, é necessário a instalação e configuração dos seguintes componentes:

  • Netbox
  • Containerlab
  • Docker
  • Python

Caso o seu ambiente não esteja configurado, siga os passos Guia de Configuração

3.2 Tabela de Requisitos Computacionais

Requisito Detalhes
CPUs 4 vCPUs (mínimo recomendado)
Memória RAM 12 GB
Espaço em Disco 10 GB
Containerlab 0.64.0
Rede Criada br-lab

Dica

Verifique se a versão do Docker e do Containerlab são compatíveis para evitar erros durante a implantação.

Atenção

Verifique se o seu processador possui suporte à virtualização por hardware e se essa funcionalidade está ativada na BIOS/UEFI.
- Em processadores Intel, essa tecnologia é chamada de VT-x (Intel Virtualization Technology).
- Em processadores AMD, é conhecida como AMD-V (AMD Virtualization).

Sem essa funcionalidade ativada, as imagens como o vJunos-router não funcionarão corretamente.


4. Instalação

4.1 Configurando a Rede Docker

Antes de iniciar os containers, crie a rede bridge que interligará os dispositivos:

docker network create \
  --driver=bridge \
  --opt com.docker.network.bridge.name=br-lab \
  --subnet=172.10.10.0/24 \
  br-lab

4.2 Clonando o Repositório do Lab

Execute o script abaixo para baixar e configurar o laboratório automaticamente:

curl -L -o get.sh "https://git.rnp.br/redes-abertas/labs/-/raw/main/discovery-lab/get.sh?ref_type=heads&inline=false" && sh get.sh && cd discovery-lab
curl -L -o get.bat "https://git.rnp.br/redes-abertas/labs/-/raw/main/discovery-lab/get.bat?ref_type=heads&inline=false" && call get.bat && cd discovery-lab

Dica

No Linux/Mac, use chmod +x get.sh antes de executar o script, caso ele não esteja com permissão de execução.


5. Implantação do Ambiente

5.1 Subindo os Roteadores com Containerlab

Inicie a topologia com o comando:

sudo clab deploy -t clab/discovery-lab.clab.yaml

Debug

Os dispositivos podem levar cerca de 10 minutos para estarem totalmente operacionais. Caso ocorra algum erro, verifique a saída do comando para possíveis mensagens de erro. Use docker logs <container_name> para depurar.

5.2 Levantando o Zabbix

Dica

Caso você já possua um ambiente Zabbix configurado, basta pular esse passo.

Para subir o container com o Zabbix:

docker compose -f zabbix-docker/docker-compose.yml up -d
A interface web do Zabbix ficará disponível na porta 81.


6. Integração com Zabbix e Netbox

Neste passo é preciso que você crie um token de API tanto no Zabbix quanto no Netbox para adicionar o token no arquivo .env

6.1 Importação dos Roteadores para o Zabbix

  1. Acesse a pasta de scripts:
    cd scripts/
    
  2. Crie e ative o ambiente virtual Python:
    python3 -m venv venv
    source venv/bin/activate
    
  3. Instale as dependências do python:
    pip install -r requirements.txt
    
  4. Configure o ambiente com as suas credenciais:
    mv .env.example .env
    nano .env
    
    Exemplo de .env:
     # Zabbix
    ZABBIX_TOKEN=zabbix_token                     # Token de API 
    ZABBIX_URL=http://yourdomain/api_jsonrpc.php  # Url de acesso a API
    ZABBIX_USER=Admin                             # Usuário Default
    ZABBIX_PASSWORD=zabbix                        # Senha Default
    ZABBIX_GROUP=Juniper                          # Grupo à adicionar os roteadores
    ZABBIX_TEMPLATE="Juniper by SNMP"             # Template de monitoramento para roteadores Juniper
    
    # Netbox
    NETBOX_URL=http://yourdomain/api              # Url de acesso a API
    NETBOX_TOKEN=netbox_token                     # Token de API 
    
    # Devices
    DEVICE_USERNAME=admin                         # Usuário Default de acesso aos roteadores
    DEVICE_PASSWORD=admin@123                     # Senha Default de acesso aos roteadores
    
  5. Agora para importar os roteadores para o Zabbix, execute o comando:
    python3 import_zabbix.py
    

6.2 Gerando Tokens de API

Criando Token de API no Zabbix.

  1. Acesse a interface do Zabbix.
  2. Vá em Usuários > Tokens da API.
  3. Clique em Criar, preencha e copie o token gerado.
  4. Atualize o campo ZABBIX_TOKEN no .env.

Criando Token de API no Netbox.

  1. Acesse a interface do Netbox.
  2. Navegue até Admin > API Tokens.
  3. Clique em Add, associe a um usuário e copie o token.
  4. Atualize o campo NETBOX_TOKEN no .env.

6.3 Importação dos Roteadores para o Netbox

Agora com o ambiente totalmente configurado, você pode importar os roteadores ao Netbox com o comando:

python3 import_netbox.py

Com o script bem sucessido, você pode visualizar os roteadores dentro do Netbox com as suas respectivas informações!


7. Acesso

Após o laboratório ser iniciado, você poderá acessar os dispositivos e serviços configurados na rede.

7.1 Tabela de IPs e Portas de Serviço

Aqui está a tabela de dispositivos, IPs e portas de serviço disponíveis no laboratório.

Dispositivo IP de Acesso Porta Serviço
GO 172.10.10.12 22 SSH
MS 172.10.10.17 22 SSH
MT 172.10.10.18 22 SSH
Servidor de Monitoramento 172.20.20.1 8080 Web (Graphite)
Servidor Zabbix 172.10.10.115 81 Zabbix

7.2 Senhas de Acesso

Aqui está a tabela com as senhas de acesso dos serviços configurados no laboratório.

Serviço Usuário Senha
AC (SSH) admin admin@123
MS (SSH) admin admin@123
MT (SSH) admin admin@123
Graphite (Web) admin admin@123
Servidor Zabbix(Web) Admin zabbix

Atenção

antes de acessar acesse o log de um dispositivo para verificar se ele foi iniciado e configurado corretamente.


8. Próximos Passos

Com o laboratório finalizado, você pode seguir algum passos abaixo como extra.

  • Monitorar os roteadores via SNMP na interface do Zabbix.
  • Explorar o Netbox para visualizar e gerenciar o inventário da rede.
  • Modificar a topologia conforme a necessidade (em futuras versões personalizadas).
  • Consultar o guia de OSPF para validar a comunicação dinâmica entre roteadores.

9. Conclusão

✅ Pronto! Seu ambiente agora está configurado, monitorado e documentado no Netbox. Sinta-se à vontade para personalizar ou expandir a topologia conforme os objetivos do seu estudo ou projeto.