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:
Adicionar o bloco em Blackhole
Declarar o bloco na Address List
Configurar filtros (in/out)
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
einput-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
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo