Engenharia de redes para provedores de todo o Brasil e empresas de Santa Catarina.Engenharia de redes para provedores e empresas

Passo a passo · BGP

Como configurar BGP no MikroTik: passo a passo para provedores

Como configurar BGP no MikroTik: no RouterOS 7, você cria um template com o ASN do provedor, uma connection para cada vizinho, uma address-list com o bloco a anunciar e duas cadeias de filtro, uma de entrada e outra de saída. O bloco também precisa existir na tabela de rotas, quase sempre como rota blackhole, ou não é anunciado.

Resumo

  • No RouterOS 7, os antigos instance e peer deram lugar a template, connection e session.
  • O bloco só é anunciado se estiver na address-list da connection e também na tabela de rotas.
  • O filtro de saída termina em reject, para a borda nunca repassar rotas de uma operadora para a outra.
  • Antes de mexer, um export da configuração garante o caminho de volta se algo der errado.

O que mudou no BGP do RouterOS 7

O RouterOS 7 reescreveu o BGP do zero, e quase nada da sintaxe do 6 funciona igual. Quem migra copiando comandos antigos costuma ter a sessão no ar e os filtros sem efeito nenhum.

Onde cada parte do BGP fica no RouterOS 6 e no RouterOS 7
FunçãoRouterOS 6RouterOS 7
ASN e router-id/routing bgp instance/routing/bgp/template
Vizinho/routing bgp peer/routing/bgp/connection
Estado da sessãoColuna de status do peer/routing/bgp/session
Prefixos anunciados/routing bgp networkaddress-list ligada em output.network
FiltrosRegras com match e action/routing/filter/rule com sintaxe de if

A mudança mais profunda está nos filtros. No 6, cada regra tinha campos de condição e de ação; no 7, cada regra é uma pequena expressão, como "if (dst-len > 24) { reject }", lida em ordem até a primeira decisão.

A configuração abaixo é a base de uma borda com um trânsito. Os serviços de BGP para provedores partem dela e acrescentam IX.br, caches, RPKI e a política de cada link.

O que ter em mãos antes de começar

Sem os dados abaixo, a sessão até pode subir, mas sobe errada. Peça à operadora por escrito e guarde junto da documentação da borda.

  • ASN e bloco: o seu número de AS e os prefixos IPv4 e IPv6 em seu nome.
  • Dados do vizinho: IP de cada lado do enlace, ASN da operadora e senha MD5, se houver.
  • Tipo de tabela: se a operadora vai mandar a tabela completa, só a rota padrão ou rotas parciais.
  • ROA criado: a autorização de origem do seu bloco no RPKI, para o anúncio não ser marcado como inválido.
  • Cópia da configuração: um export recente, guardado fora do roteador.

Como configurar BGP no MikroTik, passo a passo

São quatro blocos de comandos, sempre nesta ordem: rota do bloco, lista de anúncio, template e connection. Os filtros vêm logo depois, antes de a sessão ser liberada.

  1. Rota do bloco: crie uma rota blackhole para o prefixo próprio, para ele existir na tabela de rotas.
  2. Lista de anúncio: coloque o prefixo numa address-list, que a connection vai usar para anunciar.
  3. Template: defina o ASN do provedor e o router-id, que valem para todas as sessões que usarem o modelo.
  4. Connection: crie a sessão com o IP e o ASN da operadora, a senha e o nome das cadeias de filtro.
  5. Filtros: escreva as cadeias de entrada e de saída antes de a operadora liberar a sessão do lado dela.
Sessão eBGP com um trânsito no MikroTik RouterOS v7, com IPs e ASNs de documentação [CONFIRMAR na versão do RouterOS]
# 1. Bloco próprio na tabela de rotas
/ip/route
add dst-address=203.0.113.0/24 blackhole comment="Bloco do AS64500"

# 2. Prefixos que a borda anuncia
/ip/firewall/address-list
add list=bgp-anuncios address=203.0.113.0/24

# 3. Modelo com o ASN e o router-id do provedor
/routing/bgp/template
add name=borda as=64500 router-id=192.0.2.1

# 4. Sessão com o trânsito A
/routing/bgp/connection
add name=transito-a templates=borda local.role=ebgp \
    local.address=198.51.100.2 remote.address=198.51.100.1 \
    remote.as=64496 tcp-md5-key="TROQUE-ESTA-SENHA" \
    input.filter=transito-a-in output.filter-chain=transito-a-out \
    output.network=bgp-anuncios

Repare que a connection aponta para duas cadeias que ainda não existem. Enquanto elas não forem criadas, o comportamento depende da versão, por isso o mais seguro é escrever os filtros antes de pedir a liberação.

O que cada parte da configuração faz

Cada linha resolve um problema que, sem ela, aparece só depois da sessão no ar. Vale entender antes de copiar.

  • Blackhole: mantém o prefixo na tabela mesmo que nenhum cliente esteja usando aquele trecho do bloco.
  • Address-list: é a lista que o output.network lê; prefixo fora dela não é anunciado.
  • Local.role: marca a sessão como externa; papéis como ebgp-customer somam a proteção contra vazamento da RFC 9234 [CONFIRMAR na versão do RouterOS].
  • Tcp-md5-key: autentica a sessão TCP; precisa ser idêntica à senha cadastrada pela operadora.
  • Input.filter e output.filter-chain: ligam a sessão às cadeias de entrada e de saída.

Para IPv6, repita o mesmo desenho com uma connection própria, os endereços IPv6 do enlace, uma rota blackhole IPv6 e a lista em /ipv6/firewall/address-list.

Filtros de entrada e saída no RouterOS 7

O filtro de saída define o que o mundo aprende do seu provedor, e o de entrada define o que a sua borda aceita do mundo. Os dois são lidos de cima para baixo e param na primeira regra que aceita ou rejeita.

Cadeias de saída e de entrada para a sessão com o trânsito A no RouterOS v7 [CONFIRMAR na versão do RouterOS]
/routing/filter/rule
# Saída: só o bloco próprio, com a máscara exata
add chain=transito-a-out rule="if (dst in 203.0.113.0/24 && dst-len == 24) { accept }"
add chain=transito-a-out rule="reject"

# Entrada: descarta o próprio bloco, faixas privadas e prefixos longos
add chain=transito-a-in rule="if (dst in 203.0.113.0/24) { reject }"
add chain=transito-a-in rule="if (dst in 10.0.0.0/8 || dst in 172.16.0.0/12) { reject }"
add chain=transito-a-in rule="if (dst in 192.168.0.0/16) { reject }"
add chain=transito-a-in rule="if (dst-len > 24) { reject }"
add chain=transito-a-in rule="accept"

Esse é o mínimo, e não o filtro completo de uma borda em produção. A lista de faixas que nunca deveriam circular é maior, e o guia de configuração de prefix-lists mostra como montá-la e mantê-la a partir do IRR.

Quer a sua borda MikroTik revisada antes de anunciar?

Nos serviços de BGP, um Especialista escreve as sessões e os filtros no RouterOS 7, aplica com plano de volta e documenta cada cadeia.

Pedir análise da borda BGP do seu provedor

Por que a cadeia de saída precisa terminar em reject?

Porque, sem ela, a borda pode repassar ao trânsito A as rotas que aprendeu do trânsito B. O provedor vira caminho entre duas operadoras, o link lota em minutos e as operadoras derrubam a sessão.

A RFC 7454, que reúne boas práticas de operação de BGP, recomenda anunciar só os prefixos próprios e os de clientes. A regra final de reject custa uma linha e fecha a porta para esse vazamento na saída.

Onde entra a política de preferência

A cadeia de entrada também é o lugar de marcar preferências, como LOCAL_PREF maior para as rotas do IX.br. O guia sobre como o BGP faz a seleção da melhor rota explica em que ordem esses valores pesam.

Coloque as regras de preferência depois dos rejects de segurança. Assim, nenhuma rota que deveria ser descartada recebe atributo antes de sair da disputa.

Como conferir se a sessão subiu e o que está sendo anunciado?

Confira três coisas, nesta ordem: o estado da sessão, o número de rotas recebidas e o que a borda está anunciando. Sessão estabelecida com zero prefixo em algum dos lados quase sempre é filtro ou falta da rota blackhole.

Comandos de conferência do BGP no RouterOS v7 [CONFIRMAR na versão do RouterOS]
# Estado de cada sessão e tempo no ar
/routing/bgp/session/print

# Quantas rotas BGP chegaram à tabela
/ip/route/print count-only where bgp

# O que a borda anunciou ao vizinho
/routing/bgp/advertisements/print

# De onde veio a rota de um destino e por que está ativa
/routing/route/print detail where dst-address=198.51.100.0/24
O que cada resultado indica depois de configurar BGP no MikroTik
O que você vêO que significaOnde olhar
Sessão ausente na listaA conexão TCP não fechouIP, ASN, senha e firewall da porta 179
Sessão estabelecida, zero rotas recebidasO filtro de entrada barra tudo ou a operadora não liberouOrdem das regras da cadeia de entrada
Nenhum prefixo anunciadoO bloco não está na tabela ou na listaRota blackhole e address-list
Rotas recebidas, tráfego saindo pelo outro linkPolítica de preferênciaLOCAL_PREF nas cadeias de entrada

Se a sessão nem aparece, o problema está antes do BGP. O guia de sessão BGP que não sobe percorre essas causas por ordem de frequência.

Confirmar o anúncio do lado de fora

O roteador mostra o que enviou, não o que a internet recebeu. A conferência final é feita no looking glass da operadora ou de outra rede, procurando o seu prefixo e o seu ASN na origem do caminho.

Faça essa consulta logo após a liberação e de novo no dia seguinte. Um prefixo que aparece numa hora e some na outra costuma indicar filtro da operadora ou ROA ausente.

Erros comuns ao configurar BGP no MikroTik

Os erros mais frequentes vêm de hábitos do RouterOS 6 e de filtros escritos na ordem errada. Quase todos deixam a sessão estabelecida, o que atrasa o diagnóstico.

Evite

  • Colar comandos de /routing bgp peer do RouterOS 6 num roteador com o 7.
  • Esquecer a rota blackhole e esperar que a address-list anuncie sozinha.
  • Deixar a cadeia de saída sem o reject final.
  • Começar a cadeia de entrada com accept, o que torna inúteis as regras abaixo.
  • Receber a tabela completa num modelo com pouca memória.
  • Mexer na borda sem um export guardado fora do roteador.

O último erro é o que transforma um ajuste simples numa noite longa. Se a configuração se perder, o guia de recuperar a configuração do MikroTik mostra os caminhos de volta.

Exemplo: sessão estabelecida e bloco que não sai

Um provedor migra a borda para o RouterOS 7, a sessão sobe e as rotas da operadora chegam. Mas ninguém de fora alcança os assinantes.

  1. Sintoma: a lista de anúncios está vazia e o looking glass da operadora não mostra o prefixo.
  2. Causa: o bloco só existia como rotas menores, dos pools de clientes, e não como o /24 inteiro.
  3. Correção: a rota blackhole para 203.0.113.0/24 foi criada, e o anúncio saiu na mesma hora.

A blackhole não descarta o tráfego dos clientes, porque as rotas mais específicas dos pools continuam ganhando na tabela. Ela só garante que o prefixo agregado exista para ser anunciado.

Quando o MikroTik deixa de dar conta da borda?

O RouterOS 7 sustenta bem a borda de muitos provedores regionais, desde que o modelo tenha memória e processamento para a tabela e para o volume de tráfego. O limite costuma aparecer na reconvergência e no pico, não na configuração.

Os sinais são conhecidos: sessão que demora a voltar depois de uma queda, CPU alta à noite e rotas que levam minutos para trocar de link. O guia do roteador de borda com CPU em 100% mostra como separar o que é tráfego do que é processamento de rotas.

Marque o que já acontece na sua borda MikroTik

  • A sessão leva muito tempo para voltar a receber todas as rotas depois de uma queda.
  • A CPU fica perto do limite no horário de pico, mesmo sem ataque.
  • A memória livre cai muito depois de receber a tabela completa.
  • Uma segunda operadora vai entrar e o modelo já está no limite.

Uma marca pede monitoramento mais próximo. Duas ou mais indicam que vale reavaliar o equipamento ou receber menos rotas, como rota padrão mais rotas parciais.

Como configurar BGP no MikroTik com um segundo trânsito

Com um segundo trânsito, a configuração ganha outra connection, com cadeias próprias de entrada e saída. O template e a lista de anúncios podem ser os mesmos.

O que muda de verdade é a política: qual link é preferido na saída, como dividir a entrada e o que acontece quando um deles cai. A Táquion Tech configura essa borda com dois links e testa a troca com tráfego real antes de dar o trabalho por encerrado.

Perguntas frequentes

Qual a diferença entre template e connection no RouterOS 7?

O template guarda as opções comuns a várias sessões, como o ASN do provedor e o router-id. A connection é cada sessão com um vizinho e herda do template o que não for definido nela.

Os comandos de BGP do RouterOS 6 funcionam no 7?

Não. Os menus instance, peer e network foram substituídos, e os filtros mudaram de formato; na atualização, o roteador tenta converter a configuração, mas os filtros precisam ser conferidos um por um.

Preciso receber a tabela completa da operadora?

Só se a borda tem mais de um link e precisa escolher a saída por destino. Com um link só, a rota padrão resolve; com dois links e pouco equipamento, rota padrão mais rotas parciais é um meio-termo comum.

Como anunciar o bloco IPv6 por BGP no MikroTik?

Crie uma connection separada com os endereços IPv6 do enlace, uma rota blackhole para o bloco IPv6 e uma address-list IPv6 ligada ao output.network. Os filtros seguem a mesma lógica, com o tamanho máximo de prefixo ajustado para IPv6.

Como saber se a operadora recebeu o meu prefixo?

Consulte o looking glass da operadora ou de outra rede e procure o seu prefixo com o seu ASN na origem. Se ele não aparece, confira a lista de anúncios no roteador, o filtro da operadora e o ROA do bloco.

Thiago Manoel

Responsável técnico da Táquion Tech · Registro profissional [PREENCHER]

Mais de 15 anos em operações de rede, com gestão de infraestruturas de TI, administração de data centers e condução de equipes em migrações de TI e telecomunicações, com foco em alta disponibilidade e segurança.

A Táquion Tech é uma empresa de engenharia de redes de Balneário Camboriú (SC) que projeta, opera e dá suporte a redes de provedores de internet e de empresas.

Conheça a equipe da Táquion Tech

Fontes

  1. BGP no RouterOS (documentação MikroTik): template, connection, session e parâmetros de entrada e saída no RouterOS v7.
  2. RFC 7454, BGP Operations and Security: filtros de prefixo, faixas que não devem circular e prevenção de vazamento de rotas.
  3. RFC 9234, Route Leak Prevention and Detection Using Roles: papéis de sessão usados pelo parâmetro local.role.

Leia também sobre o assunto

Outros guias que costumam ajudar no mesmo tipo de problema.

  • BGP e roteamento

    Como o BGP faz a seleção da melhor rota: passo a passo para provedores

    Como o BGP seleciona a melhor rota: ele junta todos os caminhos recebidos para o mesmo prefixo e compara um critério por vez, parando no primeiro que desempata. Na ordem do padrão vêm LOCAL_PREF mais alto, AS_PATH mais curto, ORIGIN, MED, preferência por eBGP, menor custo interno até o próximo salto e, por fim, o menor router-id.

    13 min de leitura

  • BGP e roteamento

    Configuração de prefix-lists: guia prático para provedores

    Configuração de prefix-lists: é definir quais prefixos o provedor anuncia e quais aceita em cada sessão BGP. O mínimo é filtrar a saída para anunciar só os seus blocos e os dos clientes, e filtrar a entrada para recusar prefixos reservados, longos demais ou que não pertencem a quem anuncia.

    10 min de leitura

Coloque a sua borda MikroTik em produção com filtros revisados

Um Especialista em BGP configura as sessões no RouterOS 7, escreve os filtros de cada vizinho e deixa a borda documentada para a sua equipe.

Falar com o André Comercial, no WhatsApp

Fale com a Táquion Tech

Quer um Especialista olhando a sua rede?

Deixe seus dados e um Especialista chama você no WhatsApp para entender o caso.

Um Especialista responde em até 45 minutos.

Pedido recebido. Protótipo: no site final, a pessoa vai para a página de obrigado e o pedido chega no WhatsApp ou e-mail da Táquion Tech.
Foto de Thiago Manoel
Thiago ManoelResponsável técnico