NetReplica Criando Templates
Estrutura dos Templates CLAB
Os templates CLAB seguem uma estrutura específica, que permite que o NetReplica interprete e aplique as configurações corretamente. Aqui está um exemplo de um template CLAB para um dispositivo ceos:
{{ name }}:
kind: ceos
image: ceos:latest
{% if configuration_file is defined %}
startup-config: {{ configuration_file }}
{% endif %}
{% if interface_map is defined %}
binds:
- {{ interface_map }}:/mnt/flash/EosIntfMapping.json:ro
{% endif %}
{% include 'clab/labels.j2' %}
Neste exemplo:
{{ name }}é uma variável que será substituída pelo nome do dispositivo.kinddefine o tipo de dispositivo, neste caso, "ceos".imageespecifica a imagem do dispositivo.startup-configpermite definir um arquivo de configuração inicial.bindspermite mapear volumes, como o mapeamento de interfaces.includeé usado para incluir labels adicionais do template CLAB.
Criando Templates CLAB
Para criar seus próprios templates CLAB, siga a estrutura e o formato de exemplo fornecido. Você pode criar arquivos .j2 lembrando que o nome do arquivo deverá ser o nome da plataforma, para cada tipo de dispositivo e personalizar as configurações conforme necessário. Salve seus templates no diretório templates/clab/kinds/ do seu ambiente NetReplica.
Ao criar e usar templates CLAB, você tem flexibilidade para definir como os dispositivos serão provisionados e configurados dentro do ambiente CLAB, permitindo uma replicação precisa da sua rede.
Exemplo do template junos junos.j2
{{ name }}:
kind: crpd
image: crpd:23.1R1.8
{% if configuration_file is defined %}
startup-config: {{ configuration_file }}
{% endif %}
{% if interface_map is defined %}
binds:
- {{ interface_map }}:/mnt/flash/EosIntfMapping.json:ro
{% endif %}
{% include 'clab/labels.j2' %}
Passo2: Executando o NetReplica com o Arquivo de Configuração
Uma vez que você tenha criado e configurado o arquivo .conf com as opções desejadas, você está pronto para executar o NetReplica e iniciar a replicação e análise de redes com base nas informações do NetBox. Siga os passos abaixo para executar o NetReplica:
- Localização do Arquivo de Configuração: Certifique-se de que o arquivo
.confesteja na localização correta. Se você estiver usando o NetReplica via Docker, lembre-se de que o arquivo.confdeve estar dentro do diretório "conf" que é criado após a execução do compose. - Iniciando o NetReplica: Abra um terminal ou prompt de comando e navegue até o diretório onde o NetReplica está instalado. Se você estiver usando o NetReplica via Docker, certifique-se de estar no diretório onde o arquivo
docker-compose.ymlestá localizado. -
Executando o NetReplica: Execute o comando para iniciar o NetReplica, passando o caminho para o arquivo
.confcomo um argumento. Por exemplo, se o arquivo.confestiver no diretório atual e for chamadonetreplica.conf, o comando pode ser:nrx -c <arquivo>.conf
Se você estiver usando o NetReplica via Docker, o comando para executar pode ser:
```bash
docker exec -it nrx ./nrx -c conf/<arquivo>.conf
```
- Acompanhando a Execução: Durante a execução, o NetReplica irá usar as configurações do arquivo
.confpara acessar o NetBox e iniciar a replicação e análise da rede. Acompanhe a saída do terminal para ver o progresso e qualquer mensagem relevante. - Resultados da Execução: Após a execução ser concluída, os resultados da replicação e análise estarão disponíveis no diretório de saída especificado no arquivo
.conf(geralmente o diretórioOUTPUT_DIR). Você poderá encontrar os arquivos exportados, como imagens, configurações de dispositivos e outros dados, de acordo com as configurações definidas.
Lembre-se de que o NetReplica é uma ferramenta poderosa para replicação e análise de redes com base nas informações do NetBox. Ao executar o NetReplica com o arquivo de configuração corretamente configurado, você estará explorando as capacidades de integração entre essas duas ferramentas para obter insights valiosos sobre sua rede.
Fontes
- NetReplica (NRX) GitHub Repository. Disponível em: https://github.com/netreplica/nrx
- NetReplica Templates GitHub Repository. Disponível em: https://github.com/netreplica/templates
- ContainerLab Manual - Kinds. Disponível em: https://containerlab.dev/manual/kinds/