ULC Lab · implementação reproduzível
Laboratório: Rede Virtual L2 com Open vSwitch e VLANs em VMs Linux
Você criará uma rede virtual L2 usando Open vSwitch, conectando duas máquinas virtuais Linux via bridge, com isolamento por VLAN. Em cerca de 2 horas, terá comunicação entre VMs e isolamento garantido.

- Duração estimada
- 120 min
- Passos
- 12
- Validações
- 4
- Versões da documentação consultada
- Open vSwitch a versão estável atual · Linux (Debian/Ubuntu) a versão estável atual · QEMU/KVM ou VirtualBox a versão estável atual
Demonstrar, na prática, como criar uma rede virtual Layer 2 segmentada por VLAN usando Open vSwitch em um ambiente de laboratório. O objetivo é que duas VMs Linux se comuniquem apenas se estiverem na mesma VLAN, simulando um cenário de data center moderno, como em uma rede de fibra dedicada como a da Upnetix.
Topologia
Duas VMs Linux (VM1 e VM2), cada uma com uma interface de rede conectada a um switch virtual Open vSwitch (ovs-br0) em um host físico ou VM host. O Open vSwitch aplica VLAN 10 à VM1 e VLAN 20 à VM2. Ambas as VMs estão na mesma bridge, mas só se comunicam se estiverem na mesma VLAN.
+-------------------+
| Host Físico |
| |
| +---------+ |
| | ovs-br0 | |
| +----+----+ |
| | |
VLAN10 | +----+----+ | VLAN20
+-+---+ +---+-+
| VM1 | | VM2 |
+-----+ +-----+
10.0.10.2 10.0.20.2Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| Host físico ou VM host | x86_64, 2 vCPU, 2GB RAM, 1 porta Ethernet |
| VM1 | 1 vCPU, 512MB RAM, interface virtual |
| VM2 | 1 vCPU, 512MB RAM, interface virtual |
| Open vSwitch | Apache 2.0 · a versão estável atual |
| Linux (Debian/Ubuntu) | GPLv2 · a versão estável atual |
| QEMU/KVM ou VirtualBox | GPLv2 · a versão estável atual |
Roteiro
- Preparar o host físico ou VM host
Instale um sistema operacional Linux suportado. Atualize o sistema para garantir compatibilidade.
sudo apt update && sudo apt upgrade -yO que você deve ver: Sistema atualizado sem erros.
- Instalar o Open vSwitch
Instale o Open vSwitch para criar bridges virtuais.
sudo apt install openvswitch-switch -yO que você deve ver: Pacote openvswitch-switch instalado.
- Criar a bridge ovs-br0
A bridge será o switch virtual que conecta as VMs.
sudo ovs-vsctl add-br ovs-br0O que você deve ver: Bridge ovs-br0 criada. Verifique com sudo ovs-vsctl show.
- Criar as VMs e adicionar interfaces virtuais
Crie duas VMs (VM1 e VM2) com uma interface de rede cada, conectada à ovs-br0. Use QEMU/KVM, VirtualBox ou similar.
Consulte a documentação da sua solução de virtualização para adicionar interfaces virtuais ligadas à ovs-br0.O que você deve ver: VMs criadas e interfaces conectadas à bridge.
- Adicionar portas das VMs à bridge
Identifique as interfaces virtuais das VMs (ex: vnet0, vnet1) e adicione à bridge.
sudo ovs-vsctl add-port ovs-br0 vnet0 sudo ovs-vsctl add-port ovs-br0 vnet1O que você deve ver: Portas vnet0 e vnet1 listadas em sudo ovs-vsctl show.
- Configurar VLAN nas portas
Atribua VLAN 10 à porta da VM1 e VLAN 20 à porta da VM2 para isolar o tráfego.
sudo ovs-vsctl set port vnet0 tag=10 sudo ovs-vsctl set port vnet1 tag=20O que você deve ver: Cada porta aparece com tag VLAN correspondente em sudo ovs-vsctl show.
- Configurar IP nas VMs
Acesse cada VM e configure IPs em sub-redes distintas.
sudo ip addr add 10.0.10.2/24 dev eth0 # VM1 sudo ip addr add 10.0.20.2/24 dev eth0 # VM2O que você deve ver: Interfaces configuradas com IPs corretos.
- Testar comunicação entre VMs (VLANs diferentes)
Tente pingar de VM1 para VM2. Não deve haver resposta, pois estão em VLANs diferentes.
ping 10.0.20.2 # Executar na VM1O que você deve ver: Sem resposta de ping, indicando isolamento.
- Alterar VLAN da VM2 para 10
Coloque as duas VMs na mesma VLAN para permitir comunicação.
sudo ovs-vsctl set port vnet1 tag=10O que você deve ver: Ambas as portas agora estão na VLAN 10.
- Testar comunicação entre VMs (mesma VLAN)
Ping de VM1 para VM2 agora deve funcionar.
ping 10.0.20.2 # Executar na VM1O que você deve ver: Respostas de ping recebidas.
- Verificar status da bridge e VLANs
Confirme a configuração da bridge e das tags VLAN.
sudo ovs-vsctl showO que você deve ver: Bridge ovs-br0 com portas vnet0 e vnet1, ambas com tag=10.
- Remover configuração e limpar ambiente
Remova as portas e a bridge para encerrar o laboratório.
sudo ovs-vsctl del-port ovs-br0 vnet0 sudo ovs-vsctl del-port ovs-br0 vnet1 sudo ovs-vsctl del-br ovs-br0O que você deve ver: Bridge e portas removidas. sudo ovs-vsctl show não exibe mais ovs-br0.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Verificar isolamento de VLAN | ping 10.0.20.2 # Da VM1 para VM2, em VLANs diferentes | Sem resposta de ping. |
| Verificar comunicação na mesma VLAN | ping 10.0.20.2 # Da VM1 para VM2, ambas na VLAN 10 | Respostas de ping recebidas. |
| Listar portas e VLANs na bridge | sudo ovs-vsctl show | Portas vnet0 e vnet1 com tag=10. |
| Verificar interfaces nas VMs | ip addr # Em cada VM | IPs atribuídos corretamente. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Ping não funciona mesmo na mesma VLAN | Firewall ativo nas VMs | Desative o firewall com sudo ufw disable ou ajuste regras. |
| Bridge ovs-br0 não aparece | Bridge não criada ou removida acidentalmente | Recrie a bridge com sudo ovs-vsctl add-br ovs-br0. |
| Porta da VM não aparece na bridge | Interface virtual não conectada corretamente | Verifique o nome da interface e reconecte à bridge. |
| Erro ao adicionar porta: already exists | Porta já adicionada à bridge | Remova a porta antes de adicionar novamente. |
Segurança e hardening
- Use senhas fortes nas VMs e no host.
- Desative serviços desnecessários nas VMs.
- Restrinja acesso SSH apenas ao host.
- Limite privilégios de sudo durante o laboratório.
- Remova bridges e portas após o uso para evitar exposição.
Checklist final
Referências
- Open vSwitch Documentation · Open vSwitch (Linux Foundation) (docs.openvswitch.org)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 1 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
