Pular para o conteúdo
Skillpedia
Diversos280 mil · #239

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

https://github.com/affaan-m/ECC/blob/main/skills/network-bgp-diagnostics/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/affaan-m/ECC/blob/main/skills/network-bgp-diagnostics/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-diagnostics

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/network-bgp-diagnostics/SKILL.md -o SKILL.md
Conteú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

  1. Identifique o vizinho exato, família de endereços, VRF e ASNs local/remoto.
  2. Capture o estado do resumo e o último motivo de reinicialização.
  3. Comprove a alcançabilidade para o endereço de origem do peer.
  4. Verifique as referências de política de rota antes de assumir falha de transporte.
  5. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas