Laboratório em bancada
Laboratório: BGP básico com FRRouting entre dois roteadores virtuais
Você implementará uma sessão BGP entre dois roteadores Linux usando FRRouting, trocando rotas IPv4 privadas. Em cerca de 90 minutos, terá um ambiente funcional para validar conceitos essenciais do BGP.

- Duração estimada
- 90 min
- Passos
- 9
- Validações
- 4
O objetivo é construir, do zero, uma sessão BGP entre dois roteadores virtuais rodando FRRouting, anunciando e recebendo rotas IPv4. Você entenderá a configuração mínima necessária, verá o estabelecimento da sessão e a troca de rotas, e aprenderá a validar e solucionar problemas comuns.
Topologia
Dois roteadores Linux (R1 e R2), cada um com uma interface de loopback e uma interface Ethernet conectada a uma rede ponto a ponto. R1 anuncia uma rede 10.10.10.0/24 via BGP; R2 anuncia 10.20.20.0/24. Endereços ponto a ponto: 192.168.56.1/30 (R1) e 192.168.56.2/30 (R2).
[R1] [R2]
10.10.10.1/24 10.20.20.1/24
| |
|192.168.56.1/30 |192.168.56.2/30
+--------[p2p]------+
Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM Linux (Debian/Ubuntu) | 1 vCPU, 512MB RAM, 2 interfaces de rede, kernel >= 4.x |
| VM Linux (Debian/Ubuntu) | 1 vCPU, 512MB RAM, 2 interfaces de rede, kernel >= 4.x |
| FRRouting | GPLv2+ · a versão estável atual |
| iproute2 | GPL2 · a versão estável atual |
Roteiro
- Preparar as VMs e interfaces
Crie duas VMs Linux (R1 e R2), cada uma com duas interfaces: uma para a rede ponto a ponto, outra para loopback. O BGP depende de conectividade IP básica.
Consulte a documentação da sua solução de virtualização para adicionar interfaces. No Linux, use: ip addr add 192.168.56.1/30 dev eth1 # R1 ip addr add 192.168.56.2/30 dev eth1 # R2 ip addr add 10.10.10.1/24 dev lo # R1 ip addr add 10.20.20.1/24 dev lo # R2O que você deve ver: As VMs respondem a ping entre 192.168.56.1 e 192.168.56.2.
- Instalar o FRRouting
O FRRouting implementa BGP e outros protocolos. Instale em ambas as VMs.
sudo apt update sudo apt install frr frr-pythontoolsO que você deve ver: O comando 'vtysh -v' retorna a versão do FRRouting.
- Habilitar o serviço FRRouting
O serviço deve estar ativo para aceitar conexões BGP.
sudo systemctl enable frr sudo systemctl start frr sudo systemctl status frrO que você deve ver: O status mostra o serviço ativo.
- Configurar o BGP no R1
Configure o ASN, o router-id, a vizinhança e anuncie a rede local. O router-id é obrigatório para BGP funcionar corretamente.
sudo vtysh configure terminal router bgp 65001 bgp router-id 1.1.1.1 neighbor 192.168.56.2 remote-as 65002 network 10.10.10.0/24 exit write memoryO que você deve ver: Nenhum erro ao salvar. A configuração é aceita.
- Configurar o BGP no R2
Repita o processo para o segundo roteador, ajustando ASN, router-id, vizinho e rede.
sudo vtysh configure terminal router bgp 65002 bgp router-id 2.2.2.2 neighbor 192.168.56.1 remote-as 65001 network 10.20.20.0/24 exit write memoryO que você deve ver: Nenhum erro ao salvar. A configuração é aceita.
- Verificar o estabelecimento da sessão BGP
O BGP depende do handshake TCP. Verifique se a sessão subiu.
vtysh -c 'show ip bgp summary'O que você deve ver: O estado da vizinhança deve ser 'Established' e o contador de prefixos recebidos deve ser maior que zero.
- Verificar as rotas recebidas via BGP
Garanta que cada roteador recebeu a rota do outro.
vtysh -c 'show ip bgp'O que você deve ver: No R1, a rota 10.20.20.0/24 aparece com origem BGP. No R2, a rota 10.10.10.0/24 aparece com origem BGP.
- Testar conectividade entre as redes anunciadas
O objetivo do BGP é propagar rotas. Teste o acesso entre as loopbacks.
ping 10.20.20.1 # do R1 ping 10.10.10.1 # do R2O que você deve ver: Os pings devem ter resposta, indicando roteamento funcional.
- Persistir as configurações
Evite perder as configurações após reboot.
sudo vtysh -c 'write memory'O que você deve ver: Mensagem de sucesso ao salvar.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Sessão BGP estabelecida | vtysh -c 'show ip bgp summary' | Estado Established e uptime positivo |
| Rotas BGP na tabela de roteamento | ip route show | Rotas 10.10.10.0/24 e 10.20.20.0/24 presentes via BGP |
| Ping entre as loopbacks | ping 10.20.20.1 # do R1 | Respostas de ICMP |
| Verificar anúncios BGP | vtysh -c 'show ip bgp neighbors 192.168.56.2 advertised-routes' | Rede local (10.10.10.0/24) anunciada para o vizinho |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Sessão BGP não sobe (Idle) | Problema de conectividade IP ou firewall bloqueando TCP 179 | Verifique ping entre as interfaces e regras de firewall |
| Rotas não aparecem na tabela BGP | Rede não está configurada corretamente ou não existe interface correspondente | Confirme se a interface e o prefixo existem e estão ativos |
| Ping entre loopbacks falha | Rota ausente ou política de firewall local | Confirme rotas e regras de firewall |
| Configuração BGP não persiste após reboot | Configuração não salva | Execute 'write memory' no vtysh |
Segurança e hardening
- Restringir acesso SSH e SNMP às VMs apenas de redes confiáveis
- Desabilitar serviços desnecessários no Linux
- Aplicar regras de firewall para permitir apenas TCP 179 entre os roteadores
- Evitar rodar FRRouting como root se possível; consulte a documentação
