network-bgp-diagnostics
Faz seu agente diagnosticar problemas de rede BGP. É útil quando vizinhos BGP estão fora do ar ou rotas estão faltando.
O que ela faz
Esta ferramenta ajuda a diagnosticar problemas com conexões de rede BGP. Ela verifica o status dos vizinhos, se as rotas estão sendo trocadas corretamente e se as políticas de rede estão funcionando como esperado.
Quando usar
- ✓Quando um vizinho BGP não está conectado.
- ✓Quando rotas esperadas não estão aparecendo.
- ✓Quando é preciso verificar políticas de rede ou caminhos de AS.
Exemplo do que pedir para a IA
“Verifique o status dos meus vizinhos BGP e procure por rotas ausentes.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta coleta informações sobre o status da conexão BGP e as rotas trocadas. Ela analisa essas informações para identificar possíveis causas de problemas, como configurações incorretas ou políticas de rede bloqueando o tráfego.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill network-bgp-diagnosticsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/network-bgp-diagnostics/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Diagnóstico de Rede BGP
Use esta funcionalidade quando uma sessão BGP estiver inativa, instável, estabelecida com rotas ausentes ou anunciando prefixos inesperados. O fluxo de trabalho padrão é a coleta de evidências somente leitura; ações de política e reinicialização pertencem a uma janela de alteração revisada.
Quando Usar
- Vizinhos BGP estão travados em Idle, Connect, Active, OpenSent ou OpenConfirm.
- Uma sessão está Estabelecida, mas prefixos esperados estão ausentes.
- Um route-map, prefix-list, limite de max-prefix ou política de AS path pode estar filtrando rotas.
- Você precisa de evidências antes/depois de uma alteração BGP.
- Você está revisando automação que analisa a saída de resumo BGP.
Fluxo de Triagem Somente Leitura
- Identifique o vizinho exato, família de endereços, VRF e ASNs local/remoto.
- Capture o estado do resumo e o último motivo de reinicialização.
- Comprove a alcançabilidade para o endereço de origem do peer.
- Verifique as referências de política de rota antes de assumir falha de transporte.
- Compare as rotas anunciadas, recebidas e instaladas onde a plataforma suporta esses comandos.
show bgp summary
show bgp neighbors <peer>
show ip route <peer>
show tcp brief | include <peer>|:179
show logging | include BGP|<peer>
show running-config | section router bgp
show ip prefix-list
show route-map
Use comandos de família de endereços específicos da plataforma quando o dispositivo usar VRFs, IPv6, VPNv4 ou EVPN. Não assuma unicast IPv4 global.
Interpretação de Estado
| Estado | Primeiras verificações |
|---|---|
| Estabelecida com contagem de prefixos | Troca de rotas está ativa; inspecione a política e a seleção de tabelas |
| Estabelecida com zero prefixos | Verifique a política de entrada, max-prefix, rotas anunciadas e AFI/SAFI |
| Ativa | Sessão TCP não está completando; verifique roteamento, origem, ACLs e alcançabilidade do peer |
| Conectar | Conexão TCP está em andamento; verifique o caminho e o listener remoto |
| OpenSent/OpenConfirm | TCP funciona; verifique ASN, autenticação, timers, capacidades e logs |
| Ociosa | Vizinho pode estar desativado, com configuração ausente, bloqueado por política ou com timer de backoff |
Verificações de Transporte
ping <peer> source <local-source>
traceroute <peer> source <local-source>
show ip route <peer>
show bgp neighbors <peer> | include BGP state|Last reset|Local host|Foreign host
Se o peer for originado de um loopback, confirme se ambas as direções levam aos endereços de loopback e se a configuração do vizinho usa a origem de atualização esperada.
Evite desativar ACLs ou políticas de firewall como um atalho de diagnóstico. Verifique os contadores de acertos, logs e estado do caminho primeiro.
Verificações de Política de Rota
show bgp neighbors <peer> advertised-routes
show bgp neighbors <peer> routes
show ip prefix-list <name>
show route-map <name>
show bgp <prefix>
Algumas plataformas exigem configuração adicional antes que received-routes esteja disponível. Não adicione essa configuração durante a triagem de incidentes, a menos que o operador aprove a alteração.
Revisão de AS Path E Prefixo
show bgp regexp _65001_
show bgp regexp ^65001$
show bgp <prefix>
show bgp neighbors <peer> advertised-routes | include Network|Path|<prefix>
Use expressões regulares de AS-path com cuidado. _65001_ corresponde ao AS 65001 como um token. 65001 simples pode corresponder a ASNs mais longos ou texto não relacionado.
Padrão do Analisador
import re
from typing import Any
BGP_SUMMARY_RE = re.compile(
r"^(?P<neighbor>\d{1,3}(?:\.\d{1,3}){3})\s+"
r"(?P<version>\d+)\s+"
r"(?P<remote_as>\d+)\s+"
r"(?P<msg_rcvd>\d+)\s+"
r"(?P<msg_sent>\d+)\s+"
r"(?P<table_version>\d+)\s+"
r"(?P<input_queue>\d+)\s+"
r"(?P<output_queue>\d+)\s+"
r"(?P<uptime>\S+)\s+"
r"(?P<state_or_prefixes>\S+)$",
re.M,
)
def parse_bgp_summary(raw: str) -> list[dict[str, Any]]:
rows = []
for match in BGP_SUMMARY_RE.finditer(raw):
state_or_prefixes = match.group("state_or_prefixes")
if state_or_prefixes.isdigit():
state = "Established"
prefixes_received = int(state_or_prefixes)
else:
state = state_or_prefixes
prefixes_received = None
rows.append({
"neighbor": match.group("neighbor"),
"remote_as": int(match.group("remote_as")),
"state": state,
"prefixes_received": prefixes_received,
"uptime": match.group("uptime"),
})
return rows
Prefira a saída estruturada do analisador quando disponível, mas armazene a saída bruta com o registro do incidente, pois os formatos de resumo BGP variam por plataforma e família de endereços.
Somente Janela de Alteração
Essas ações podem afetar o roteamento e não devem ser sugeridas como diagnósticos automáticos:
…
Perguntas frequentes
O que é BGP?
BGP (Border Gateway Protocol) é um protocolo usado por roteadores na internet para trocar informações sobre quais caminhos seguir para entregar dados.
O que significa 'vizinho BGP não está conectado'?
Significa que dois roteadores que deveriam estar se comunicando usando BGP não conseguiram estabelecer ou manter essa conexão.
Posso usar esta ferramenta para corrigir problemas?
Esta ferramenta é focada em diagnóstico (encontrar a causa do problema). Para fazer correções, como reiniciar uma conexão ou mudar configurações, é necessário um processo de aprovação e janela de manutenção.
Detalhes
Descrição original do autor
Diagnostics-only BGP troubleshooting patterns for neighbor state, route exchange, prefix policy, AS path inspection, and safe evidence collection. Use when a BGP neighbor is down, routes are missing, or prefix policy and AS path need inspection.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #239
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
template-skill
Este é um modelo genérico para novas habilidades. Ele precisa de uma descrição específica para ser útil.
anthropics/skills
shipping-and-launch
Prepara seu código para ser lançado em produção com segurança. Ajuda a garantir que tudo esteja pronto, monitorado e com um plano de volta.
addyosmani/agent-skills
using-agent-skills
Faz seu agente descobrir e usar outras habilidades. É útil para decidir qual ferramenta ou fluxo de trabalho usar para uma tarefa específica.
addyosmani/agent-skills