Infraestrutura Corporativa Miniaturizada em Ambiente QEMU

1. Resumo

Este laboratório foi desenvolvido com a proposta de planejar e implementar uma infraestrutura corporativa em escala reduzida, reproduzindo de forma funcional elementos presentes em ambientes reais. O projeto busca aplicar conceitos de redes e segurança além do nível teórico, utilizando configurações operacionais em dispositivos e serviços para construir um ambiente segmentado, auditável e integrado.

A infraestrutura contempla recursos como segmentação de rede, roteamento, compartilhamento de arquivos, controle de acesso e registro de eventos, em um ecossistema completamente virtualizado e baseado majoritariamente em Linux.

A filosofia adotada durante o desenvolvimento prioriza minimalismo e controle direto sobre as configurações da infraestrutura, reduzindo camadas excessivas de abstração e favorecendo maior previsibilidade, transparência operacional e entendimento do comportamento dos serviços.

2. Escolhas das tecnologias

2.1. QEMU/KVM

A escolha do QEMU/KVM foi motivada pela necessidade de construir uma infraestrutura completamente virtualizada com alta compatibilidade com sistemas Linux e controle granular sobre a arquitetura do ambiente. Como grande parte dos serviços e dispositivos simulados utilizam Linux, a integração nativa do KVM ao ecossistema proporciona melhor desempenho e menor complexidade operacional.

Outro fator relevante foi a possibilidade de controlar diretamente aspectos do hipervisor e da rede virtual, permitindo reproduzir cenários próximos de uma infraestrutura física real. A familiaridade prévia com a ferramenta também contribuiu para reduzir a curva de implementação e acelerar o desenvolvimento do laboratório. Além disso, a adoção de soluções baseadas em software livre acompanha a proposta geral do projeto.

2.2. Alpine

A escolha do Alpine Linux como elemento central da infraestrutura foi baseada em sua proposta minimalista e no alto nível de controle oferecido sobre o sistema. Como a filosofia do projeto prioriza reduzir abstrações e configurar os serviços diretamente, Alpine se mostrou adequado para a implementação de componentes de rede e infraestrutura.

Outro fator determinante foi o baixo consumo de recursos. Como o ambiente prevê aproximadamente 30 dispositivos independentes executando simultaneamente, eficiência tornou-se um requisito importante. Durante os testes realizados, cada VM Alpine apresentou consumo inferior a 256 MB de memória RAM, permitindo maior densidade de máquinas sem impacto significativo no ambiente.

2.3. Componentes de Rede
TecnologiaCategoriaFunção
OVSSwitch virtualComutação e VLAN
FRRRoteamentoControle de rotas
nftablesFirewallFiltragem e segurança
2.3.1. Open vSwitch (OVS)

O Open vSwitch foi escolhido para implementar a camada de comutação virtual da infraestrutura. Sua utilização permite reproduzir recursos encontrados em switches corporativos, como segmentação por VLAN e gerenciamento avançado de interfaces, possibilitando construir topologias mais próximas de ambientes reais.

2.3.2. FRRouting (FRR)

O FRR foi incorporado para fornecer recursos de roteamento e permitir futura expansão do ambiente. Sua adoção possibilita implementar funcionalidades presentes em infraestruturas corporativas e aproxima o laboratório de cenários reais de redes.

2.3.3. nftables

O nftables foi adotado como mecanismo central de firewall e controle de tráfego. A escolha está alinhada à filosofia do projeto de priorizar controle direto sobre as configurações e reduzir abstrações, permitindo gerenciamento detalhado das regras de segurança e segmentação entre serviços.

2.3.4. Critérios de escolha

Um fator central que influenciou a escolha do Alpine Linux e desses componentes foi a necessidade de maior previsibilidade operacional e controle sobre a infraestrutura. Durante os testes iniciais foram avaliadas soluções mais integradas, como OpenWRT, porém foram observados comportamentos inconsistentes no ambiente virtualizado utilizado pelo projeto.

Em cenários específicos, alterações envolvendo interfaces e parâmetros de rede apresentaram resultados não esperados, dificultando identificar a origem dos problemas e aumentando a complexidade de depuração. Embora soluções integradas sejam eficientes em dispositivos dedicados e ambientes mais padronizados, a proposta deste laboratório exigia maior transparência operacional.

A abordagem adotada utilizando Alpine Linux, OVS, FRR e nftables permite implementar cada componente de forma independente e explícita. As configurações são aplicadas manualmente e automatizadas posteriormente através de scripts de inicialização, tornando o comportamento da infraestrutura mais previsível e facilitando a identificação de pontos de falha.

3. Overview infraestrutura de rede

Após pesquisas sobre infraestrutura de TI corporativa, decidi estabelecer uma rede central e ir expandindo os recursos gradativamente. O intuito é começar com algo mais simples e ir adicionando recursos mais avançados ao longo do tempo. Acredito que essa abordagem seja a melhor para o meu entendimento profundo em infraestrutura de TI.

3.1 Layout
  • 4 VLANs cada uma com 5 workstations.
  • 1 switch e 1 router.
  • 2 servidores redundantes em failover.

4. Camada de virtualização e conectividade

O hipervisor é responsável pela virtualização completa do hardware, porém o principal ponto para entendimento da infraestrutura está na conectividade entre as vNICs. Existem diversas formas de virtualizar uma rede de maneira automatizada utilizando bridges e switches virtuais, porém a proposta deste laboratório foi reproduzir uma abordagem próxima de um ambiente físico, onde cada interface de rede é conectada individualmente ao seu respectivo dispositivo.

Seguindo essa lógica, cada VM foi configurada com interfaces virtuais (vNICs) associadas a sockets QEMU. Uma interface permanece em escuta em uma porta específica enquanto outra VM estabelece a conexão. Após essa associação, as interfaces iniciam a comunicação Ethernet, simulando o comportamento de um enlace físico ponto a ponto, equivalente à conexão de dispositivos através de um cabo de rede.

Vídeo curto de um teste realizado com o conceito do protocolo ethernet sobre sockets QEMU.

Mais detalhes na documentação oficial QEMU

https://wiki.qemu.org/Documentation/Networking

5. Próximo passo

Configurar uma imagem QEMU para ser usada em todas as VMs como base para toda a infraestrutura e definir as configurações de cada uma VMs com o devido shell script. 

6. Considerações

Todo o processo de planejamento e definição das tecnologias adotadas até o momento foi construído a partir de testes e avaliações entre diferentes abordagens. Algumas soluções foram mantidas, enquanto outras precisaram ser substituídas após limitações identificadas durante a implementação.

Ao longo da evolução do laboratório, novos desafios técnicos e limitações podem surgir, exigindo adaptações na arquitetura inicialmente planejada. O principal objetivo deste projeto é aplicar, na prática, os conhecimentos adquiridos ao longo dos últimos anos de estudo, consolidando conceitos de infraestrutura, redes e Linux através de uma implementação progressiva e experimental.