BGP, OSPF e MPLS para Provedores de Internet
Roteamento avançado para ISPs: configuração de BGP com múltiplos uplinks, peering em IXPs brasileiros (IX.br), OSPF interno e backbones MPLS para provedores de médio porte.
O roteamento avançado é o coração técnico de qualquer provedor de internet. Um ISP com BGP mal configurado pode perder todos os seus clientes por uma única rota mal anunciada. Com BGP bem configurado e múltiplos uplinks, o provedor garante alta disponibilidade mesmo durante falhas parciais de infraestrutura.
No Brasil, o IX.br (Internet Exchange Brasil) é o maior ponto de troca de tráfego da América Latina, com mais de 950 participantes e pico de tráfego acima de 15 Tbps. Participar do IX.br reduz custos de trânsito e melhora latência para usuários domésticos.
BGP — Border Gateway Protocol
Conceitos fundamentais para ISPs
O BGP é o protocolo de roteamento da internet. Para um provedor, existem dois contextos:
| Tipo | Descrição | Quando usar |
|---|---|---|
| eBGP (externo) | Sessão com outro AS (uplink, peer) | Sempre que conectar a outro provedor |
| iBGP (interno) | Sessão entre roteadores do mesmo AS | Quando há múltiplos roteadores de borda |
Obtenção de ASN e bloco IPv4/IPv6
Para anunciar prefixos próprios no BGP, o provedor precisa de:
- ASN (Autonomous System Number) — obtido via LACNIC/ANATEL (~R$ 500/ano)
- Bloco IPv4 /24 mínimo — mínimo anunciável no internet global routing table
- Bloco IPv6 /32 — recomendado para plano de longo prazo
Provedores com menos de 256 IPs públicos normalmente operam com IPs do upstream (IP transit) sem ASN próprio — o que limita a redundância.
Configuração de BGP no MikroTik (RouterOS v7)
Sessão eBGP com upstream provider
# Criar template de conexão
/routing bgp template
add as=65001 disabled=no hold-time=3m keepalive-time=1m \
multihop=no name=template-ebgp \
router-id=177.X.X.1
# Adicionar peer (uplink)
/routing bgp connection
add as=65001 disabled=no input.filter=filter-in-uplink \
local.role=ebgp \
name=peer-uplink1 output.filter=filter-out-uplink \
remote.address=177.X.X.2/32 remote.as=1234 \
templates=template-ebgpFiltros de entrada — o que aceitar do uplink
Nunca aceite rotas sem filtro. Um uplink que envia uma rota padrão mal anunciada pode desviar todo o tráfego:
/routing filter rule
add chain=filter-in-uplink disabled=no \
rule="if (bgp-path-len > 20) { reject }"
add chain=filter-in-uplink disabled=no \
rule="if (dst in 0.0.0.0/8) { reject }"
add chain=filter-in-uplink disabled=no \
rule="if (dst in 10.0.0.0/8) { reject }"
add chain=filter-in-uplink disabled=no \
rule="if (dst in 192.168.0.0/16) { reject }"
add chain=filter-in-uplink disabled=no \
rule="if (dst in 100.64.0.0/10) { reject }"
# Aceitar apenas rotas mais específicas que /24 (bloquear deaggregation excessivo)
add chain=filter-in-uplink disabled=no \
rule="if (dst-len > 24) { reject }"
add chain=filter-in-uplink disabled=no rule="accept"Filtro de saída — o que anunciar
# Anunciar apenas seus próprios prefixos
/routing filter rule
add chain=filter-out-uplink disabled=no \
rule="if (dst == 177.X.0.0/22) { accept }"
add chain=filter-out-uplink disabled=no rule="reject"Failover com dois uplinks
# Uplink primário — local preference alto
/routing bgp connection
add as=65001 input.filter=filter-in-uplink \
local.role=ebgp \
name=peer-uplink-primary \
output.filter-chain=filter-out-primary \
remote.address=177.A.A.2/32 remote.as=1111
# Uplink secundário — local preference menor (backup)
/routing bgp connection
add as=65001 input.filter=filter-in-uplink-backup \
local.role=ebgp \
name=peer-uplink-backup \
output.filter-chain=filter-out-backup \
remote.address=177.B.B.2/32 remote.as=2222Peering no IX.br
O IX.br usa uma LAN de peering (fabric) para conectar todos os participantes. Cada membro anuncia suas rotas diretamente para os demais, eliminando o custo de trânsito para esse tráfego.
Vantagens do peering no IX.br
- Redução de custo: tráfego trocado no IX não é cobrado como trânsito
- Latência menor: tráfego local fica local (ex: Netflix Brasil → usuário sem sair do país)
- Redundância: alternativa de rota quando o uplink de trânsito falha
Conexão típica ao IX.br
# Sessão com Route Server do IX.br São Paulo (AS26162)
/routing bgp connection
add as=65001 disabled=no \
input.filter=filter-in-ixbr \
local.role=ebgp \
name=peer-ixbr-rs1 \
remote.address=187.16.220.1/32 \
remote.as=26162 \
templates=template-ebgpOSPF — Roteamento Interno
O OSPF é usado dentro do próprio AS do provedor para distribuir rotas entre roteadores de borda, de distribuição e de acesso. É o IGP (Interior Gateway Protocol) mais comum em ISPs.
# Configurar OSPF no MikroTik v7
/routing ospf instance
add disabled=no name=ospf-isp router-id=10.0.0.1
/routing ospf area
add disabled=no instance=ospf-isp name=backbone
/routing ospf interface-template
add area=backbone disabled=no interfaces=ether3-core \
type=ptp cost=10Redistribuição de rotas conectadas para OSPF
/routing ospf instance
set ospf-isp redistribute=connectedMPLS — Backbone para ISPs de Médio Porte
O MPLS (Multiprotocol Label Switching) é usado por provedores com múltiplos PoPs (Pontos de Presença) para criar backbones eficientes sem expor a topologia interna via BGP.
Quando considerar MPLS
- Mais de 2 pontos de presença (cidades, bairros)
- Necessidade de serviços VPLS para clientes corporativos
- Separação de tráfego (voz, dados, gestão) em LSPs distintos
# Habilitar MPLS no MikroTik
/mpls
set enabled=yes
/mpls ldp
set enabled=yes lsr-id=10.0.0.1 transport-address=10.0.0.1
/mpls ldp interface
add interface=ether3-core
add interface=ether4-pop2Monitoramento de sessões BGP
# Ver estado de todas as sessões BGP
/routing bgp connection print stats
# Ver prefixos anunciados por peer específico
/routing bgp advertisements print peer=peer-uplink1
# Ver tabela de roteamento BGP
/routing route print where bgp
# Alertas: sessão BGP que caiu (Zabbix)
# Item: net.if.up[bgp.peer.state]
# Trigger: {HOST:bgp.peer.state.last()}<>1 → PROBLEMRecursos
- LACNIC — como obter ASN
- IX.br — como participar
- RIPE — RPKI e Route Origin Validation
- RFC 4271 — A Border Gateway Protocol 4 (BGP-4)
Precisa configurar BGP no seu provedor? → Consultoria gratuita
MikroTik RouterOS para ISPs
Guia completo de configuração do MikroTik RouterOS v7 para provedores de internet: firewall, QoS, hotspot, VPNs, PPPoE e troubleshooting em produção.
VLANs e Switching para ISPs
Segmentação de rede com VLANs em provedores de internet: trunk, access, QinQ, spanning tree e configuração de switches gerenciáveis para ISP.