Cheat Sheet de Automação de Rede: Ferramentas de Suporte

pDamascenopDamasceno
4 min read

Este cheat sheet oferece um guia conciso para ferramentas que me ajudam durante alguns cenarios pontuais de automação de rede antes de iniciar a criar código, incluindo passos de instalação, exemplos de uso e referências. Vamos começar!

Network Automation

Visão Geral das Ferramentas

As seguintes ferramentas são essenciais para automação de rede, abrangendo SSH, SNMP e protocolos baseados em YANG:

  • SSH: Para acesso seguro via linha de comando e operações NETCONF.

    • NAPALM: Uma biblioteca Python para automação de rede multi-fornecedor.

    • Netmiko: Uma biblioteca Python para automação de dispositivos via SSH.

  • SNMP: Para monitoramento e gerenciamento de dispositivos de rede.

    • NET-SNMP: Um conjunto de ferramentas para operações SNMP.
  • YANG-based:

    • Cisco YANG Suite: Uma ferramenta para explorar e testar modelos YANG.

    • GNMIc/Pygnmi: Ferramentas para interações com o protocolo gNMI.

    • SSH (NETCONF): Para gerenciamento de dispositivos baseado em YANG via NETCONF.


NAPALM

NAPALM simplifica o gerenciamento de dispositivos de rede por meio de uma API unificada. Pode ser usado via CLI ou integrado em scripts Python.

Instalação

Instale o NAPALM usando pip:

pip3 install napalm

Referência

Uso

Execute o NAPALM via CLI para interagir com dispositivos:

napalm --user <username> --password <password> --vendor <driver> <ip_address> call <getter>

Exemplo: get_facts

Obtenha informações do dispositivo, como hostname, modelo e versão do sistema operacional:

napalm --user admin --password admin --vendor ios 192.168.1.1 call get_facts

Getters:

NAPALM get_facts

Resultado:

Resultado NAPALM


GNMIc

GNMIc

GNMIc é uma ferramenta CLI poderosa para interagir com dispositivos de rede via protocolo gNMI (gRPC Network Management Interface), ideal para telemetria e configuração.

Instalação

Instale o GNMIc usando o script de instalação fornecido:

bash -c "$(curl -sL https://get-gnmic.kmrd.dev)"

Referência

Comandos Comuns

CAPABILITIES

Verifique as capacidades gNMI de um dispositivo:

gnmic -a <ip:port> --username <user> --password <password> --insecure capabilities

Exemplo:

gnmic -a 10.80.255.30:6030 -u admin -p admin --insecure capabilities

GET

Obtenha um instantâneo de dados do dispositivo usando um caminho específico:

gnmic -a <ip:port> --username <user> --password <password> --insecure get --path "/components/component/state/temperature"

SET

Modifique o estado do dispositivo (consulte a Documentação de Set do GNMIc):

gnmic -a <ip:port> --username <user> --password <password> --insecure set --update-path "/interfaces/interface[name=Management1]/config/description" --update-value "Atualizado via gNMI"

SUBSCRIBE

Inscreva-se para receber dados de telemetria em tempo real:

gnmic -a <ip:port> --username <user> --password <password> --insecure subscribe --path "/interfaces/interface[name=Management1]/state/counters"

GNMI Prompt

Inicie uma sessão interativa com credenciais pré-configuradas:

gnmic --insecure --username admin --password admin --address <ip:port> prompt

NET-SNMP

NET-SNMP

NET-SNMP é um conjunto de ferramentas para interagir com dispositivos habilitados para SNMP, permitindo consultas e gerenciamento de estatísticas de rede.

Instalação

Siga o guia oficial para instalação:

OIDs Comuns do SNMP

Principais OIDs para estatísticas de interface (MIB-II, RFC 1213):

Nome do OIDValor do OIDDescrição
ifInOctets.1.3.6.1.2.1.2.2.1.10Bytes recebidos em uma interface
ifOutOctets.1.3.6.1.2.1.2.2.1.16Bytes enviados por uma interface
ifInErrors.1.3.6.1.2.1.2.2.1.14Erros de entrada
ifOutErrors.1.3.6.1.2.1.2.2.1.20Erros de saída

Consultando Estatísticas de Interface

Consulte dispositivos habilitados para SNMP (por exemplo, IP 192.168.1.1, community string public). Substitua IF_INDEX pelo índice da interface (descoberto via ifDescr).

Exemplo (SNMPv2c):

snmpget -v2c -c public 192.168.1.1 .1.3.6.1.2.1.2.2.1.10.IF_INDEX .1.3.6.1.2.1.2.2.1.16.IF_INDEX
snmpget -v2c -c public 192.168.1.1 SNMPv2-MIB::sysUpTime.0 # Tempo de atividade do sistema
snmpbulkwalk -v2c -c public 192.168.1.1 .1.0.8802.1.1.2.1.4.1.1.9 # Vizinhos LLDP

Exemplo (SNMPv3):

Obtenha o nome do sistema com SNMPv3:

snmpget -v3 -u USERNAME -a SHA -x AES -l authPriv -A AUTHPASS -X PRIVPASS 192.168.1.1 .1.3.6.1.2.1.1.5.0

Cisco YANG Suite

Cisco YANG Suite

O Cisco YANG Suite é uma ferramenta baseada em navegador para explorar e testar modelos YANG, ideal para operações NETCONF e RESTCONF.

Instalação

Instale via Docker ou pip. Consulte o repositório oficial:

Executando o YANG Suite

Inicie o suite:

yangsuite

Acesse a interface web para explorar modelos YANG e executar operações.


SSH (NETCONF)

O NETCONF sobre SSH permite o gerenciamento de dispositivos baseado em YANG. É útil para obter esquemas e realizar operações.

Iniciando uma Sessão NETCONF

Inicie uma sessão NETCONF (porta padrão 830):

ssh -s <username>@<device-ip> -p 830 netconf

Isso abre uma sessão interativa para operações NETCONF, como obter esquemas YANG ou configurar dispositivos.

Nota: Embora o NETCONF sobre SSH seja suportado, ferramentas como NAPALM ou GNMIc frequentemente oferecem fluxos de trabalho mais eficientes.

0
Subscribe to my newsletter

Read articles from pDamasceno directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

pDamasceno
pDamasceno