Configuração de BGP IPv6 no Mikrotik (Exemplo com RouterOS 7.16.2)

Criada por Danilo Tomich, Modificado em Qui, 2 Out na (o) 12:18 PM por Danilo Tomich

Este guia mostra como ativar e configurar BGP para IPv6 em roteadores Mikrotik.
⚠️ Importante: algumas versões possuem bugs relacionados ao BGP IPv6. Se não funcionar corretamente, atualize para uma versão estável mais recente.


Visão geral

Para ativar o BGP IPv6, vamos seguir 4 passos principais:

  1. Adicionar o bloco em Blackhole

  2. Declarar o bloco na Address List

  3. Configurar filtros (in/out)

  4. Criar a conexão BGP

No exemplo, vamos anunciar o bloco inteiro /32.
Caso queira detalhar (por exemplo, separar blocos para link, CDN, PTT etc.), a boa prática é quebrar o /32 em prefixos menores (/36, /40, /48). Isso será mostrado mais abaixo.


1. Adicionar o bloco em Blackhole

No Mikrotik:

  • Vá em IPv6 → Routes

  • Adicione o prefixo cafe:1000::/32

  • Marque a opção Blackhole

Isso garante que o roteador aceite anunciar o prefixo sem precisar que ele esteja roteado internamente.


 2. Declarar o bloco na Address List

Agora vamos criar uma Address List para os prefixos que queremos anunciar:

  • Vá em IPv6 → Firewall → Address List

  • Nome: bgp-networks-v6

  • Adicione: cafe:1000::/32

Essa lista será usada nos filtros de saída (out).


3. Configurar os filtros de rotas

Boa prática: sempre nomear filtros seguindo o padrão:
AS<NUMERO>-<NOME_FORNECEDOR>_in e AS<NUMERO>-<NOME_FORNECEDOR>_out.

 Filtros de Entrada (IN)

Esses filtros controlam o que recebemos do upstream:

# Não receber nosso próprio prefixo pela operadora if (dst in cafe:1000::/32 && dst-len in 32-48) { reject; } # Aceitar apenas a rota default if (dst == ::/0) { accept; } # Rejeitar todo o resto reject;

 Filtros de Saída (OUT)

Esses filtros controlam o que enviamos para o upstream:

# Enviar nosso /32 exato if (dst in cafe:1000::/32 && dst-len == 32) { accept; } # Rejeitar qualquer outro anúncio reject;

4. Criar a conexão BGP

No Mikrotik: Routing → BGP → Connections

Aba General:

  • Name: NOMEDOBGP

  • AS: Seu número de AS

  • AFI: IPv6

  • Router ID: IP da sua Loopback IPv4

  • Remote Address: IPv6 do fornecedor (gateway do PTP)

  • Remote AS: AS do fornecedor

  • Local Address: IPv6 do seu PTP

  • Local Role: eBGP

Aba Filter:

  • Input Filter: ASxxxx-FORNECEDOR_in

  • Output Filter: ASxxxx-FORNECEDOR_out

  • Output Network: bgp-networks-v6


Consultando anúncios

Após a configuração, verifique se seu bloco está sendo propagado:

/routing/bgp/advertisements/print where afi=ipv6

Observações importantes

  • Caso vá usar link/CDN/PTT, é recomendável quebrar o /32 em prefixos menores (/36 ou /48) para ter granularidade.

  • Sempre use filtros para não receber tabela cheia desnecessária se você só precisa da rota default.

  • Para troubleshooting:

    /routing/bgp/connection/print status /routing/bgp/session/print detail


 Dessa forma, você tem uma configuração segura, organizada e pronta para produção.


Exemplo de sessão ativa:




CURIOSIDADES:

Na regra de filtros, ele já vem por padrão descartando tudo. Se não criar filtros, IN e OUT vai ser tudo discard.
Observe que mesmo sem filtro algum, ele instala na tabela de roteamento as rotas, entretanto fica igual imagem abaixo. E porque a V7 fez dessa forma? Para poder economizar em memória e processamento, se por ventura vc quiser ativar as rotas nos filtros, ela ja esta instalada, e simplesmente muda o status na tabela, não tem a necessidade de reinstalar ou remover tudo de novo.


Exemplo quando não se tem filtro algum. Vai aparecer as rotas, mas com F de fitrado e I de inativo:


### Se não quiser instalar a tabela, podemos fazer da seguinte forma:

Va em IPv6 - FIREWALL - ADDRESS LISTS  e crie uma rota:

nome: bgp-rota-default
Address: ::/0

Dessa forma estou informando que desejo somente a rota default. E cuidado que esse filtro acontece antes dos filtros de roteamento.

Depois basta ir em
Routing - BGP - CONNECTION
Aba Filter
Input Accept NLRI: bgp-rota-default

###Sobre a opção de Input e output Affinity:


Caso tenha mais de uma sessão, vale a pena deixar da forma abaixo, par separar os processos.

? Resumindo

  • Affinity = main → processamento compartilhado (mais simples).

  • Affinity = alone → processamento isolado (melhor distribuição de carga, recomendado para peers grandes).

? Então, sim: deixar alone melhora o processamento em Mikrotik com múltiplos peers ou quando você recebe tabela cheia.
Em provedores, a boa prática é usar alone para peers pesados (operadora full-table, PTT, CDN grande) e deixar os leves (só default) no main.




? O que é Affinity no Mikrotik BGP?

  • O Affinity é como um “rótulo lógico” (tag) que você pode atribuir às conexões BGP.

  • Serve para separar e identificar de onde vem uma rota ou para onde ela vai, sem precisar criar VRF ou routing tables diferentes.

  • Funciona em conjunto com Routing Filters e com a Routing Decision Input/Output.

? Exemplo prático:

  • Se você tem dois upstreams diferentes (ISP1 e ISP2) e ambos entregam rotas default e/ou full table.

  • Você define input-affinity=ISP1 e input-affinity=ISP2.

  • Depois, nos filtros ou nas regras de decisão de roteamento, você consegue manipular as rotas dependendo da origem (ex.: preferir rotas da Affinity ISP1).


? Diferença Input x Output

  • Input Affinity → etiqueta aplicada a rotas recebidas dessa sessão BGP.

  • Output Affinity → etiqueta aplicada a rotas enviadas por essa sessão BGP.


✅ Boas práticas

  • Se você só tem um único upstream (um peer IPv6 apenas), não precisa mexer — deixar no main é suficiente.

  • Se você tem múltiplos peers/upstreams, vale a pena usar:

    • Crie afinidades diferentes (ISP1, ISP2, IX, CDN, etc.).

    • Isso facilita filtros, preferências de rotas, balanceamento e troubleshooting.


⚠️ Importante

  • O Affinity não altera nada sozinho, ele apenas “marca” a rota para que você possa manipular depois.

  • Ele é útil se você vai usar políticas avançadas de roteamento ou se tem mais de um BGP ativo.

  • Em cenários simples (1 peer e default route), pode deixar no main sem problemas.


? Resumindo:

  • Input Affinity: marca as rotas que você recebe do peer.

  • Output Affinity: marca as rotas que você envia ao peer.

  • Boa prática: usar se tiver múltiplos peers BGP, para organizar políticas e filtros.

  • Se for apenas 1 operadora / 1 sessão, pode deixar no main mesmo.



 Sobre o menu Templates no Mikrotik RouterOS v7

Muita gente acha que o menu Templates do BGP no Mikrotik v7 é inútil.
Na prática, não é – ele tem utilidade em cenários específicos.

O recurso de Templates é especialmente útil em casos como:

  • Route Reflector (RR) ou iBGP
    Quando você precisa fechar várias sessões dentro do mesmo AS, os templates facilitam a padronização da configuração.

  • Sessões BGP para L2VPN ou L3VPN
    Em ambientes MPLS ou de interconexão, onde múltiplos peers precisam de parâmetros semelhantes.

  • Vários peers com parâmetros idênticos
    Em vez de configurar peer por peer, você cria um template com as informações básicas (AS local, timers, afi, atributos, etc.) e aplica nos peers necessários.

? Resumindo:
O menu Templates serve para evitar repetição e manter consistência quando há vários peers BGP com as mesmas características.



####Regras de filtro:
No caso dessa versão 7, prefira fazer pelo terminal as regras. Pois podemos utilizar o tab para escrever o que desejamos. Sem ter erros.

Veja na imagem abaixo como fica mais facil.








Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo