VLAN — Virtual LAN (IEEE 802.1Q)
O fundamento sobre o qual todo o resto se apoia — do conceito básico de domínio de broadcast ao detalhe de segurança que a maioria dos projetos de rede ignora até ser tarde demais.
Nesta página
1. Nível Básico — Fundamentos Básico
Sem pré-requisito — é o ponto de partida de toda a trilha de Redes & Protocolos.
1.1 Domínio de broadcast e o problema que a VLAN resolve
Todo dispositivo conectado ao mesmo switch, sem nenhuma segmentação, compartilha o mesmo domínio de broadcast — um pacote broadcast enviado por qualquer estação é recebido por todas as outras. Isso não escala: mais dispositivos significam mais tráfego de broadcast desnecessário chegando a estações que não têm nada a ver com ele, além do problema óbvio de segurança (qualquer estação, tecnicamente, consegue "escutar" o mesmo segmento de rede que as demais). A VLAN (Virtual LAN) resolve isso dividindo logicamente um switch físico (ou vários) em múltiplos domínios de broadcast independentes — sem precisar de switches físicos separados pra cada segmento.
1.2 Domínio de colisão vs. domínio de broadcast
Distinção fundamental, historicamente relevante desde a era do hub:
- Domínio de colisão — conjunto de dispositivos que podem gerar colisão entre si (relevante em hub/half-duplex; cada porta de switch moderno em full-duplex é seu próprio domínio de colisão, tornando esse conceito hoje quase só histórico)
- Domínio de broadcast — conjunto de dispositivos que recebem o mesmo tráfego de broadcast. Um switch sem VLAN é um único domínio de broadcast, não importa quantas portas tenha. VLAN divide isso.
1.3 Access port vs. Trunk port
| Tipo de porta | Quantas VLANs | Uso típico |
|---|---|---|
| Access | 1 (sem tag — untagged) | Conectar dispositivo final (PC, impressora, AP) que não entende tag VLAN |
| Trunk | Múltiplas (com tag — tagged) | Conectar switch a switch, switch a roteador, ou switch a servidor com placa que entende VLAN |
1.4 VLAN ID e o limite de 4094
O campo VLAN ID do 802.1Q tem 12 bits, o que permite valores de 0 a 4095 — mas 0x000 (0) e 0xFFF (4095) são reservados pelo padrão, deixando 4094 VLANs utilizáveis (1 a 4094). Esse limite é justamente o problema que a página de QinQ resolve pra provedores que precisam de escala maior que isso.
2. Nível Intermediário — Anatomia do frame Intermediário
2.1 A tag 802.1Q — 4 bytes que mudam tudo
A tag inserida pelo 802.1Q entre o campo de endereço MAC de origem e o Ethertype/comprimento tem exatamente 4 bytes, divididos em dois campos de 2 bytes cada:
| Campo | Tamanho | Função |
|---|---|---|
| TPID | 16 bits | Tag Protocol Identifier — valor fixo 0x8100, identifica que o que vem a seguir é uma tag 802.1Q |
| PCP | 3 bits | Priority Code Point (802.1p) — prioridade de 0 (menor) a 7 (maior), usada em QoS de camada 2 |
| DEI (antigo CFI) | 1 bit | Drop Eligible Indicator — sinaliza elegibilidade de descarte em congestionamento; historicamente indicava formato canônico/não-canônico (compatibilidade com Token Ring) |
| VID | 12 bits | VLAN ID — o identificador da VLAN em si, de 1 a 4094 utilizáveis |
Um frame Ethernet ganha 4 bytes ao receber a tag — de 1518 (padrão) para 1522 bytes. Essa é a mesma matemática que, empilhada duas vezes, gera o problema de MTU discutido na página de QinQ.
2.2 VLAN Nativa (Native VLAN)
Numa porta trunk, a VLAN nativa é a única que trafega sem tag — todo o resto do tráfego naquela trunk carrega tag normalmente. Historicamente usada por compatibilidade com equipamento que não suporta 802.1Q. Em muitos switches, o valor padrão de fábrica pra VLAN nativa é a VLAN 1 — que também costuma ser a VLAN de gerência padrão. Essa coincidência (VLAN 1 = nativa = gerência, tudo por padrão de fábrica, sem ninguém ter escolhido deliberadamente) é a raiz de boa parte dos problemas de segurança da seção 4.
2.3 GVRP/MVRP — registro dinâmico de VLAN
Em vez de configurar manualmente quais VLANs passam em cada trunk de uma topologia grande, o GVRP (GARP VLAN Registration Protocol, mais antigo) e seu sucessor MVRP (Multiple VLAN Registration Protocol, parte do 802.1ak) permitem que switches anunciem dinamicamente entre si quais VLANs existem e propaguem essa informação automaticamente pela topologia — reduz erro de configuração manual, mas também introduz superfície de ataque adicional se não for controlado (um switch não autorizado poderia, em teoria, anunciar VLANs indevidas).
3. Nível Avançado — VLANs especiais Avançado
3.1 Private VLAN (PVLAN)
Permite subdividir ainda mais uma VLAN já existente, sem gastar um VLAN ID novo pra cada subdivisão — útil em cenários como hospedagem compartilhada ou hotel/condomínio, onde cada porta de cliente precisa ficar isolada das demais, mas todas compartilham o mesmo gateway:
| Tipo de porta PVLAN | Pode falar com |
|---|---|
| Promiscuous | Todas as demais portas da PVLAN — tipicamente onde fica o gateway/roteador |
| Isolated | Só a porta promiscuous — nem sequer outras portas isolated se enxergam |
| Community | Porta promiscuous + outras portas do mesmo grupo community — mas não outras communities |
3.2 Voice VLAN
Recurso específico pra cenário onde um telefone IP e um PC compartilham a mesma porta física de switch (o PC conecta no telefone, que tem uma porta pass-through pro switch). A Voice VLAN permite que o switch trate automaticamente o tráfego do telefone (identificado, por exemplo, via CDP/LLDP-MED) numa VLAN separada e com prioridade de QoS diferente do tráfego de dados do PC conectado atrás dele — na mesma porta física, sem precisar de duas portas separadas.
3.3 Spanning-Tree por VLAN — PVST+ e MST
Redes com VLAN e redundância física de link precisam de Spanning-Tree pra prevenir loop — mas rodar uma única instância de STP pra todas as VLANs ao mesmo tempo desperdiça a possibilidade de balancear carga (ex: VLAN A usando o link 1 como primário, VLAN B usando o link 2). PVST+ (Per-VLAN Spanning Tree, extensão proprietária amplamente adotada) roda uma instância de STP por VLAN, permitindo essa distribuição de carga entre links redundantes. MST (Multiple Spanning Tree, IEEE 802.1s, padrão aberto) generaliza a ideia mapeando grupos de VLANs pra instâncias STP compartilhadas, reduzindo a sobrecarga de processamento em redes com centenas de VLANs (onde uma instância por VLAN individual ficaria pesada demais).
4. Segurança — VLAN Hopping Avançado
VLAN é uma ferramenta de segmentação lógica, não uma barreira de segurança impenetrável — switches não foram originalmente desenhados pensando em segurança adversarial entre VLANs no mesmo equipamento físico. Existem duas técnicas amplamente documentadas de "pular" de uma VLAN pra outra sem autorização, coletivamente chamadas VLAN Hopping.
4.1 Switch Spoofing
Explora protocolos de negociação automática de trunk (como o DTP — Dynamic Trunking Protocol, específico de alguns fabricantes) quando uma porta está configurada em modo automático/dinâmico. O atacante conecta um dispositivo que se comporta como se fosse outro switch, negociando uma trunk com o switch legítimo — uma vez estabelecida a trunk, o atacante ganha acesso ao tráfego de todas as VLANs que passam por ali, não só uma. Só funciona se a porta estiver num modo que permita negociação automática de trunk.
4.2 Double Tagging
Mais sutil e mais difícil de mitigar completamente. O atacante, conectado numa porta que pertence à mesma VLAN que a VLAN nativa de um trunk próximo, cria um frame com duas tags empilhadas: a externa igual à VLAN nativa do trunk, a interna igual à VLAN-alvo que ele quer alcançar.
Por que funciona: o primeiro switch recebe o frame, vê que ele "pertence" à VLAN nativa (porque é isso que a tag externa diz), e — por convenção de como VLAN nativa funciona — remove essa tag externa sem reinspecionar o que sobrou, encaminhando o frame adiante pra trunk. O frame chega ao próximo switch já com a tag interna (a VLAN-alvo) exposta como se fosse a única — e esse segundo switch a trata normalmente, entregando o tráfego na VLAN que deveria estar isolada.
Limitação importante do ataque: é unidirecional — o atacante consegue enviar tráfego pra dentro da VLAN-alvo, mas não recebe resposta pelo mesmo caminho (o retorno seguiria o caminho normal, sem chance de reencapsular a dupla tag no sentido contrário). Isso limita o ataque a cenários como injeção de tráfego ou negação de serviço, não interceptação bidirecional completa por esse método isolado.
4.3 Mitigações — consenso amplo entre fontes de segurança
- Nunca deixar a VLAN nativa igual a uma VLAN de dados de usuário — dedique um VLAN ID específico e não utilizado só pra isso
- Desabilitar negociação automática de trunk em toda porta que não deveria virar trunk — modo access explícito, sem negociação dinâmica
- Nunca usar a VLAN 1 (ou qualquer VLAN default de fábrica) pra tráfego real de usuário
- Desligar (shutdown) toda porta física que não está em uso ativo
- Em equipamentos que suportam, habilitar tagueamento explícito da própria VLAN nativa na trunk — elimina a ambiguidade que o double tagging explora
5. Boas práticas de projeto Intermediário
Ex: faixa 100-199 pra gerência, 200-299 pra dados corporativos, 300-399 pra voz — sem convenção, VLAN ID vira número aleatório difícil de auditar depois de centenas delas em produção.
"VLAN 200" sozinho não diz nada pro próximo engenheiro — nome/descrição configurada na própria VLAN economiza tempo de troubleshooting.
Trunk "permite tudo" por padrão de fábrica em muitos switches — restringir manualmente à lista real de VLANs que devem passar ali reduz superfície de propagação de broadcast desnecessário e limita impacto de erro de configuração futuro.
Registro dinâmico de VLAN é conveniente, mas numa rede onde nem todos os switches são administrados pela mesma equipe (ex: cliente com switch próprio conectado via trunk), desabilitar e usar VLAN estática evita propagação indevida.
6. Configuração de referência — multi-fabricante Básico
Cenário: VLAN 200 (dados), porta de acesso pro usuário final, porta trunk entre switches restrita a VLANs 100/200/300, VLAN nativa movida pra uma VLAN não utilizada (999) por segurança.
Cisco IOS-XE
vlan 200
name Dados-Corporativo
!
interface GigabitEthernet0/1
switchport mode access
switchport access vlan 200
switchport nonegotiate
!
interface GigabitEthernet0/24
switchport mode trunk
switchport trunk allowed vlan 100,200,300
switchport trunk native vlan 999
switchport nonegotiate
Juniper JunOS
set vlans DADOS vlan-id 200
set interfaces ge-0/0/1 unit 0 family ethernet-switching interface-mode access
set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members DADOS
set interfaces ge-0/0/24 unit 0 family ethernet-switching interface-mode trunk
set interfaces ge-0/0/24 unit 0 family ethernet-switching vlan members [100 200 300]
set interfaces ge-0/0/24 native-vlan-id 999
Mikrotik RouterOS
/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether1 pvid=200
add bridge=bridge1 interface=ether24 frame-types=admit-only-vlan-tagged
/interface bridge vlan
add bridge=bridge1 tagged=ether24 untagged=ether1 vlan-ids=200
add bridge=bridge1 tagged=ether24 vlan-ids=100,300
FRRouting / Linux (kernel bridging)
ip link add name eth1.200 link eth1 type vlan id 200
ip link set eth1.200 up
# Porta trunk equivalente: bridge com VLAN filtering (bridge-utils/iproute2 moderno)
ip link add name br0 type bridge vlan_filtering 1
bridge vlan add dev eth24 vid 100,200,300 self
7. Comandos de verificação e teste Básico
| O que checar | Cisco | JunOS | RouterOS |
|---|---|---|---|
| Lista de VLANs | show vlan brief | show vlans | /interface bridge vlan print |
| Modo e VLAN de uma porta | show interface switchport | show interfaces ge-0/0/1 extensive | /interface bridge port print |
| VLAN nativa de uma trunk | show interface trunk | show interfaces ge-0/0/24 | match native | /interface bridge port print (campo pvid) |
| Estado do negociação de trunk (DTP) | show interface switchport | include Negotiation | N/A — JunOS não usa DTP | N/A — RouterOS não usa DTP |
Checklist mínimo de "VLAN pronta pra produção":
- VLAN nativa das trunks não é a mesma de nenhuma VLAN de dados de usuário
- Negociação automática de trunk desabilitada em portas de acesso (evita switch spoofing)
- Trunk restrita à lista real de VLANs necessárias, não "todas por padrão"
- Nenhum tráfego de usuário real na VLAN 1 (ou equivalente default de fábrica)
- Portas não utilizadas desligadas (shutdown)
8. Indicadores de operação Intermediário
| Indicador | O que revela | Sinal de alerta |
|---|---|---|
| Tráfego de broadcast/multicast por VLAN | Saúde da segmentação (domínio bem dimensionado) | Volume crescendo desproporcional ao nº de estações — VLAN "gorda" demais |
| Nº de VLANs ativas vs. limite de 4094 | Proximidade do teto de escala | Aproximando do limite — avaliar QinQ ou VXLAN |
| Frames descartados por VLAN não permitida na trunk | Configuração de trunk desalinhada entre as pontas | Contagem crescente — checar lista de VLANs permitidas nos dois lados |
9. Exercícios práticos Intermediário
Exercício 1. Um estagiário conecta seu notebook numa porta de switch deixada em modo "dynamic desirable" (negociação automática de trunk). Que tipo de ataque isso deixa a rede exposta, e qual configuração simples evita?
Ver gabarito
Switch Spoofing. Um dispositivo malicioso conectado ali poderia negociar uma trunk com o switch legítimo, ganhando acesso ao tráfego de todas as VLANs que passam por aquele switch. Correção: configurar a porta explicitamente como access, com negociação desabilitada (switchport nonegotiate ou equivalente) — nunca deixar porta de usuário final em modo dinâmico/automático.
Exercício 2. Sua rede tem VLAN nativa configurada como VLAN 1, e a VLAN 1 também é usada por algumas estações de usuário. Que vulnerabilidade específica isso cria, e como corrigir sem trocar cabeamento?
Ver gabarito
Expõe a rede a Double Tagging — um atacante numa porta da VLAN 1 pode enviar um frame com tag externa VLAN 1 (nativa) + tag interna da VLAN-alvo, e o primeiro switch remove a tag externa sem reinspecionar, deixando passar a tag interna pra dentro do trunk. Correção: mudar a VLAN nativa das trunks pra um VLAN ID dedicado e não utilizado por nenhuma estação real (ex: 999), e parar de colocar tráfego de usuário na VLAN 1.
Exercício 3. Você precisa que 20 clientes de um mesmo prédio compartilhem o mesmo gateway (mesma VLAN/sub-rede), mas nenhum deles deve conseguir se comunicar diretamente com outro — só com o gateway. Isso exige 20 VLANs separadas?
Ver gabarito
Não. É exatamente o cenário de Private VLAN com portas Isolated (seção 3.1): todas as 20 portas de cliente configuradas como isolated dentro da mesma PVLAN, e a porta do gateway como promiscuous. Cada cliente enxerga só o gateway, nunca os demais — sem precisar de 20 VLAN IDs distintos.
10. Troubleshooting comum Básico
Confirme que a porta é access com o VLAN ID correto — engano comum é editar a VLAN certa mas na porta errada, ou deixar a porta em modo trunk por engano quando deveria ser access.
Checar lista de VLANs permitidas na trunk dos dois lados — se um lado restringiu a lista e esqueceu de incluir a VLAN nova, ela simplesmente não passa, mesmo a trunk estando "up".
Investigar se a causa é configuração de VLAN nativa incompatível entre os dois lados da trunk, ou — em cenário mais sério — sinal de exploração de Double Tagging (ver seção 4.2).
VLAN com domínio de broadcast grande demais — considere subdividir em VLANs menores, especialmente se há muitos dispositivos com tráfego de descoberta (ex: IoT, DHCP em volume).
11. Glossário
Ferramentas relacionadas
Perguntas da Comunidade sobre VLAN
Trunk não passa tráfego, dúvida sobre Private VLAN, suspeita de VLAN Hopping? Pergunte pra quem já passou por isso.
Fazer pergunta sobre VLAN12. Referências
Padrões internacionais
- IEEE 802.1Q — Virtual Bridged Local Area Networks
- IEEE 802.1p — Priorização de tráfego (incorporada ao 802.1Q)
- IEEE 802.1s — Multiple Spanning Tree (MST)
- IEEE 802.1ak — Multiple VLAN Registration Protocol (MVRP)
Segurança — VLAN Hopping
- Tema documentado de forma consistente por múltiplas fontes de segurança de rede (double tagging e switch spoofing/DTP) — não atribuído a fonte única, técnica amplamente conhecida na indústria
Contexto nacional (Brasil)
- Formato do frame 802.1Q e padrão IEEE
Conteúdo técnico independente.