Sessão BGP não sobe: causas, diagnóstico e quando chamar um Especialista
Sessão BGP não sobe: o estado em que ela fica parada já diz onde procurar. Em Idle, Connect ou Active, o problema costuma estar no caminho até o vizinho ou na configuração dos dois lados; se ela chega a trocar mensagens e cai logo, algum parâmetro não bate, como ASN, senha ou tempo de espera.
Resumo
- O estado da sessão no roteador aponta o grupo de causas antes de qualquer mudança de configuração.
- Presa em Connect ou Active, a sessão quase sempre esbarra em IP errado, porta 179 bloqueada ou senha diferente.
- Recusada na abertura, ela mostra uma mensagem de erro do BGP que diz qual parâmetro não bate.
- Sessão externa que sobe sem rotas costuma estar sem política de entrada ou de saída configurada.
O que significa quando a sessão BGP não sobe?
Significa que a sessão não chegou ao estado Established, o único em que os roteadores trocam rotas. Ela pode estar parada antes de abrir a conexão, na abertura da sessão ou já de pé, mas vazia.
Uma sessão BGP só fica pronta quando os dois roteadores abrem uma conexão TCP na porta 179 e trocam mensagens de abertura com os dados de cada lado. Se qualquer passo falha, a sessão volta ao começo e tenta de novo, às vezes sem deixar nada claro no log.
Por isso "não sobe" pode querer dizer coisas bem diferentes: a conexão nem abre, abre e é recusada, ou sobe mas não traz nenhuma rota. Se o problema se repete na sua borda e a causa não aparece, o troubleshooting de BGP investiga do link físico aos filtros. Com a rede parada agora, use o suporte emergencial para provedor.
Sessão BGP não sobe é, quase sempre, sintoma de um destes três problemas: caminho até o vizinho, parâmetro que não bate ou filtro barrando as rotas. Se a sessão estava funcionando e caiu, o caso é outro, tratado no guia de BGP caindo.
Como a sessão chega a Established
A sessão passa por etapas fixas, definidas na RFC 4271. Saber em qual delas ela trava já elimina metade dos suspeitos.
Conexão
TCP na porta 179
Os roteadores abrem a conexão. Se trava aqui, olhe IP, rota até o vizinho, filtro e senha.
Abertura
Troca de OPEN
Cada lado manda ASN, tempo de espera e identificador. Se trava aqui, um desses dados não bate.
Confirmação
Keepalive e Established
Com a abertura aceita, a sessão fica estabelecida e passa a trocar mensagens de manutenção.
Rotas
Troca de UPDATE
As rotas entram e saem pela política. Se nada chega, o problema está nos filtros.
O caminho de volta também conta. Se o vizinho recebe os pacotes, mas a resposta sai por outra interface, a conexão TCP não fecha e a sessão fica presa no começo.
Em que estado a sessão está parada?
Comece olhando o estado da sessão no roteador, porque cada estado aponta para um grupo de causas. Isso evita mexer no que já está certo.
| Estado | O que significa | Causas mais comuns |
|---|---|---|
| Idle | O roteador nem está tentando conectar | Vizinho desligado na configuração, sem rota até o IP do vizinho ou limite de prefixos atingido |
| Connect ou Active | Tenta abrir a conexão TCP, sem sucesso | IP errado, porta 179 bloqueada, senha diferente dos dois lados ou o outro lado sem a configuração |
| OpenSent ou OpenConfirm | A conexão abriu, mas a abertura da sessão é recusada | ASN do vizinho errado, tempo de espera recusado ou identificador do roteador repetido |
| Established sem rotas | A sessão subiu, mas nada é recebido ou anunciado | Filtros de entrada ou de saída barrando tudo, ou política obrigatória ausente |
Senha errada parece problema de conexão
Com a senha MD5 diferente dos dois lados, o roteador descarta os pacotes TCP do vizinho antes mesmo da abertura da sessão. Ela fica presa em Connect ou Active, como se a porta estivesse bloqueada.
O que a mensagem de erro diz
Quando a sessão é recusada, o roteador que recusou manda uma mensagem de notificação com um código e um subcódigo. Esse código aparece no log e diz exatamente o que não bateu.
- Erro na mensagem OPEN, ASN errado: o ASN configurado de um lado não é o que o outro lado anuncia.
- Erro na mensagem OPEN, identificador: os dois roteadores usam o mesmo identificador ou um valor inválido.
- Erro na mensagem OPEN, tempo de espera: um lado propôs um tempo que o outro não aceita.
- Encerramento por limite de prefixos: o vizinho mandou mais rotas do que o limite configurado e a sessão foi parada.
- Tempo de espera esgotado: os keepalives pararam de chegar, por perda no caminho ou CPU alta no roteador.
Guarde o texto exato do log antes de mexer em qualquer coisa. Ele é a prova mais forte para mostrar à operadora de qual lado está o erro.
Sessão BGP não sobe: causas em ordem
Em borda de provedor regional, as causas mais comuns são dados trocados com a operadora, filtro no caminho da porta 179 e senha diferente. Limite de prefixos, sessão entre loopbacks sem multihop e problema de MTU vêm depois.
- Dados trocados com a operadora: IP de um dos lados, ASN ou máscara do enlace diferentes do combinado por escrito.
- Porta 179 bloqueada: um filtro na borda ou no caminho barra a conexão TCP com o vizinho.
- Senha diferente: a senha MD5 não foi configurada igual dos dois lados ou mudou só de um lado.
- Limite de prefixos atingido: a sessão sobe, recebe rotas demais e é encerrada, voltando a Idle.
- Sessão entre loopbacks: falta a origem certa ou o multihop, e os pacotes morrem no primeiro salto.
- MTU diferente no enlace: a sessão sobe, trava ao receber a tabela grande e cai quando o tempo de espera esgota.
- ASN de 4 bytes: um lado escreve o número em formato diferente do outro, e a abertura é recusada.
Sobe e cai em poucos minutos: o caso do MTU
Esse padrão engana porque a sessão chega a Established. Os pacotes pequenos de abertura passam, mas os pacotes grandes com a tabela de rotas são descartados no caminho, e a troca trava.
Sem keepalive processado a tempo, o tempo de espera esgota e a sessão cai, para subir de novo e repetir o ciclo. Um ping com pacote grande e o bit de não fragmentar, até o IP do vizinho, confirma o problema.
Sessão BGP não sobe: o que fazer primeiro
Siga a ordem abaixo, do mais rápido ao mais trabalhoso, e prove onde está o problema antes de mudar qualquer configuração. Cada passo elimina um grupo de causas.
- Estado e log: anote o estado atual e a última mensagem do roteador sobre aquele vizinho.
- Caminho: faça ping até o IP do vizinho saindo do mesmo IP que a sessão usa como origem.
- Porta 179: veja se a conexão TCP chega ao vizinho ou se algum filtro no caminho a barra.
- Dados com a operadora: IP dos dois lados, ASN, senha e limite de prefixos, por escrito.
- Origem e TTL: sessão entre loopbacks precisa de origem certa e de multihop configurado.
- Filtros: se subiu sem rotas, veja o que o vizinho envia antes e depois da política de entrada.
Um detalhe que pega muita gente: alguns sistemas, como o Cisco IOS XR e o FRRouting, não aceitam nem anunciam rotas numa sessão externa sem política configurada, comportamento descrito na RFC 8212. A sessão sobe e fica vazia até alguém escrever os filtros, e o passo a passo de configuração de prefix-lists mostra como montar essa política.
Os dados conferem e a sessão segue parada?
No troubleshooting de BGP, um Especialista lê o estado, o log e os filtros da sua borda, confere os dois lados com você e leva as provas à operadora.
Exemplo: link novo parado em Active
Um caso comum mostra a ordem funcionando. O provedor contrata um segundo link de trânsito, configura a sessão com os dados recebidos por e-mail, e ela fica em Active.
- Caminho: o ping até o IP da operadora responde, então o enlace está de pé.
- Porta 179: a conexão TCP sai, mas não volta, o que aponta para filtro ou senha.
- Dados: a operadora confirma que configurou senha na sessão, e o e-mail não citava nenhuma.
- Correção: com a mesma senha dos dois lados, a sessão sobe e as rotas começam a chegar.
O registro do caso vale para o próximo link: a ficha de cada sessão passa a ter IP, ASN, senha, limite de prefixos e o contato do NOC da operadora.
Erros comuns com a sessão parada
Na pressa de subir a sessão, algumas ações parecem ajudar, mas criam um problema maior ou apagam a pista da causa. Os piores mexem em outras sessões que estavam funcionando.
Evite
- Apagar e recriar o vizinho sem guardar a configuração atual.
- Tirar os filtros de entrada para testar com a tabela completa chegando.
- Trocar a senha do seu lado sem combinar a troca com a operadora.
- Reiniciar o roteador de borda sem salvar o log.
- Aumentar o limite de prefixos sem saber por que o vizinho mandou rotas demais.
Tirar os filtros é o erro mais arriscado. Sem política de entrada, a borda pode aceitar rotas que não deveria e desviar tráfego de toda a base, inclusive o que sai pelo CGNAT, para o caminho errado.
Reiniciar a borda também cobra caro: todas as sessões caem, inclusive as que estavam bem, e o log que mostrava a mensagem de erro se perde. Se a CPU da borda está alta, o guia de roteador de borda com CPU em 100% ajuda a separar esse problema da sessão.
Quando vale chamar um Especialista?
Vale chamar quando o caminho e os dados conferem e a sessão continua parada, quando a operadora diz que do lado dela está tudo certo ou quando a correção exige mexer em filtros com outras sessões em produção. Cada hora com um link a menos deixa a base dependendo de um caminho só.
Marque o que vale para a sua borda agora
- O ping e a porta 179 respondem, mas a sessão não passa de OpenSent.
- A operadora garante que a configuração dela está certa.
- A sessão sobe e cai em ciclos de poucos minutos.
- A correção exige mudar filtros usados por outras sessões em produção.
- Ninguém da equipe sabe ler a mensagem de erro do roteador.
Duas marcas ou mais indicam que a sessão não vai subir por tentativa. É a hora de colocar na borda alguém que já leu esse mesmo erro em outras redes.
Esse é um caso de suporte técnico N3, porque envolve a borda, a política de rotas e a conversa técnica com a operadora ao mesmo tempo. A Táquion Tech atende de forma remota, com acesso criado só para o atendimento, e entrega a sessão documentada com os dados dos dois lados.
Se o problema está nos clientes caindo e não na borda, o guia de OLT derrubando ONU pode ser o caminho certo, já que uma porta da OLT fora derruba assinantes sem tocar no BGP.
O peso de um link a menos no SLA
Com uma sessão parada, todo o tráfego sai pelo link que sobrou, e uma segunda falha derruba a base. Clientes com SLA de disponibilidade sentem esse risco primeiro, e o multihoming BGP existe para que a queda de um link não vire queda geral.
Perguntas frequentes sobre sessão BGP que não sobe
O que significa sessão BGP em Active?
Que o roteador está tentando abrir a conexão TCP com o vizinho e não consegue. As causas mais comuns são IP errado, porta 179 bloqueada no caminho e senha diferente dos dois lados.
Por que a sessão BGP fica em Idle?
Porque o roteador não está nem tentando conectar. Veja se o vizinho está desligado na configuração, se existe rota até o IP dele e se a sessão foi parada por limite de prefixos.
A sessão subiu, mas não recebe rotas. Por quê?
Quase sempre é filtro: a política de entrada barra tudo, a operadora ainda não liberou os anúncios ou o sistema exige política configurada para trocar rotas em sessão externa.
Senha errada deixa a sessão em qual estado?
Normalmente em Connect ou Active, porque o roteador descarta os pacotes TCP sem a assinatura certa. Por isso a senha diferente costuma ser confundida com filtro na porta 179.
Quanto tempo a sessão leva para cair sem keepalive?
Leva o tempo de espera combinado na abertura da sessão, que muitos sistemas usam em 180 segundos por padrão [CONFIRMAR no equipamento]. Se os keepalives param de chegar nesse intervalo, a sessão é encerrada.
Serviços ligados a este guia
- Troubleshooting de BGP para provedores BGP e roteamento
- Suporte a BGP para provedores Suporte N3
- Suporte avulso para provedores Suporte N3
Fontes
- RFC 4271, A Border Gateway Protocol 4 (BGP-4): estados da sessão, mensagem OPEN e porta 179.
- RFC 2385, Protection of BGP Sessions via the TCP MD5 Signature Option: senha da sessão aplicada ao TCP.
- RFC 8212, Default External BGP (EBGP) Route Propagation Behavior without Policies: sessão externa sem política não troca rotas.