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


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!
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:
Resultado:
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 é 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 OID | Valor do OID | Descrição |
ifInOctets | .1.3.6.1.2.1.2.2.1.10 | Bytes recebidos em uma interface |
ifOutOctets | .1.3.6.1.2.1.2.2.1.16 | Bytes enviados por uma interface |
ifInErrors | .1.3.6.1.2.1.2.2.1.14 | Erros de entrada |
ifOutErrors | .1.3.6.1.2.1.2.2.1.20 | Erros 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
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.
Subscribe to my newsletter
Read articles from pDamasceno directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
