Laboratório em bancada
Laboratório: Simulação de Rede GPON ponta a ponta com OpenOLT e OpenONU em VMs
Você vai simular uma rede GPON ponta a ponta usando máquinas virtuais, OpenOLT e OpenONU, com autenticação e provisionamento básicos. Em cerca de 2 horas, será possível validar o fluxo de ativação e tráfego entre OLT e ONU em ambiente controlado.

- Duração estimada
- 120 min
- Passos
- 12
- Validações
- 4
O objetivo é entender, na prática, como ocorre a comunicação entre OLT e ONU em uma rede GPON, utilizando ferramentas de código aberto. Você vai montar a topologia lógica, configurar os elementos, provisionar uma ONU e validar o tráfego, tudo em ambiente virtualizado. Isso permite compreender o fluxo de ativação, provisionamento e monitoramento, sem depender de hardware óptico real.
Topologia
Três VMs: uma como OLT (OpenOLT), uma como ONU (OpenONU) e uma como servidor de autenticação/provisionamento (simulado com DHCP e scripts). OLT e ONU conectadas em rede virtual bridge (192.168.100.0/24); servidor em 192.168.100.10, OLT em 192.168.100.1, ONU em 192.168.100.2.
+----------------+
| Servidor |
| DHCP/Provision|
|192.168.100.10 |
+-------+--------+
|
+-------+--------+
| OLT |
|192.168.100.1 |
+-------+--------+
|
+-------+--------+
| ONU |
|192.168.100.2 |
+----------------+Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM OLT | 1 vCPU, 1GB RAM, 1 NIC bridge, Ubuntu 20.04 ou superior |
| VM ONU | 1 vCPU, 1GB RAM, 1 NIC bridge, Ubuntu 20.04 ou superior |
| VM Servidor | 1 vCPU, 512MB RAM, 1 NIC bridge, Ubuntu 20.04 ou superior |
| OpenOLT | Apache 2.0 · a versão estável atual |
| OpenONU | Apache 2.0 · a versão estável atual |
| ISC DHCP Server | ISC · a versão estável atual |
| tcpdump | BSD · a versão estável atual |
Roteiro
- Preparar as VMs
Crie três VMs Ubuntu, conectadas à mesma bridge virtual. Isso simula a rede física GPON.
O que você deve ver: As três VMs se enxergam via ping.
- Instalar dependências
Atualize os pacotes e instale git, build-essential e dhcp-server nas VMs.
sudo apt update && sudo apt install -y git build-essential isc-dhcp-serverO que você deve ver: Pacotes instalados sem erros.
- Clonar e compilar o OpenOLT
Na VM OLT, clone o repositório OpenOLT e compile. O OpenOLT simula o comportamento da OLT GPON.
git clone https://github.com/opencord/openolt.git cd openolt makeO que você deve ver: Binário openolt criado.
- Clonar e compilar o OpenONU
Na VM ONU, clone o repositório OpenONU e compile. O OpenONU simula o comportamento da ONU GPON.
git clone https://github.com/opencord/openonu-go.git cd openonu-go makeO que você deve ver: Binário openonu criado.
- Configurar o DHCP Server
No servidor, edite /etc/dhcp/dhcpd.conf para fornecer IPs à ONU. O DHCP simula o provisionamento inicial.
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.2 192.168.100.20; option routers 192.168.100.1; }O que você deve ver: Arquivo salvo sem erros.
- Iniciar o DHCP Server
No servidor, inicie o serviço DHCP.
sudo systemctl restart isc-dhcp-serverO que você deve ver: Serviço ativo (systemctl status isc-dhcp-server).
- Configurar e iniciar o OpenOLT
Na VM OLT, execute o binário OpenOLT, apontando para a interface correta.
sudo ./openolt --interface eth0O que você deve ver: OpenOLT inicializa e aguarda conexão ONU.
- Configurar e iniciar o OpenONU
Na VM ONU, execute o binário OpenONU, apontando para a interface correta.
sudo ./openonu --interface eth0O que você deve ver: OpenONU inicializa e tenta se registrar.
- Verificar registro da ONU
No terminal do OpenOLT, observe logs de tentativa de registro da ONU.
O que você deve ver: Mensagem indicando ONU detectada e registrada.
- Provisionar serviço IP para ONU
A ONU solicita IP via DHCP, simulando provisionamento de serviço.
sudo dhclient eth0O que você deve ver: ONU recebe IP do range configurado.
- Testar conectividade ponta a ponta
Na ONU, pingue o servidor para validar o fluxo de dados.
ping -c 4 192.168.100.10O que você deve ver: Pacotes ICMP recebidos com sucesso.
- Monitorar tráfego com tcpdump
Na OLT, rode tcpdump para observar o tráfego GPON simulado.
sudo tcpdump -i eth0O que você deve ver: Pacotes entre ONU e servidor visíveis.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| ONU recebe IP via DHCP | ip addr show eth0 | ONU com IP 192.168.100.x atribuído. |
| Registro da ONU na OLT | verificar logs do OpenOLT | Mensagem de ONU registrada. |
| Conectividade ONU-servidor | ping 192.168.100.10 | Pacotes recebidos sem perda. |
| Tráfego monitorado na OLT | sudo tcpdump -i eth0 | Pacotes ICMP entre ONU e servidor visíveis. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| ONU não recebe IP | DHCP Server não está ativo ou mal configurado | Verifique /etc/dhcp/dhcpd.conf e status do serviço. |
| ONU não registra na OLT | OpenOLT ou OpenONU não estão na mesma rede ou interface errada | Confirme interfaces e conectividade entre VMs. |
| Sem tráfego entre ONU e servidor | Firewall bloqueando portas | Desative temporariamente o ufw/iptables para teste. |
| OpenOLT ou OpenONU não iniciam | Dependências ausentes ou erro de compilação | Reinstale dependências e refaça o build. |
Segurança e hardening
- Isole as VMs em rede virtual dedicada.
- Não exponha as portas dos serviços para redes externas.
- Desative o DHCP Server após o laboratório.
- Use contas sem privilégios para execução dos binários sempre que possível.
