
Cheat Sheet de Automação de Rede: Ferramentas de Suporte
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!
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.