Configure VLAN no MikroTik RouterOS 7 com bridge VLAN filtering: portas trunk e access, VLAN de gerência, roteamento entre VLANs e uso no CHR.

Para que serve

Separar a rede em VLANs (administrativo, visitantes, câmeras, telefonia, servidores) limita o estrago de uma máquina infectada e permite aplicar regras diferentes para cada grupo. No RouterOS 7, a forma recomendada de configurar VLAN no MikroTik é o bridge VLAN filtering: uma única bridge com todas as portas, uma tabela dizendo qual VLAN passa em qual porta e interfaces VLAN para o roteador participar de cada rede. Este artigo monta um exemplo completo e mostra como aplicar o mesmo conceito a um CHR rodando no Proxmox.

Pré-requisitos

  • RouterOS 7 e acesso ao equipamento por uma porta que não será alterada, ou por MAC-Winbox/console.
  • Plano de VLANs. Exemplo deste artigo:
    VLANNomeRedePortas
    10Administrativo192.168.10.0/24ether2 (access)
    20Visitantes192.168.20.0/24ether3 (access)
    30Telefonia192.168.30.0/24ether4 (access)
    99Gerência192.168.99.0/24ether5 (trunk para switch/AP)
  • ether1 é a WAN e fica fora da bridge.
Ligar o vlan-filtering pode derrubar o seu acesso. No instante em que a filtragem é ativada, só o tráfego permitido pela tabela de VLANs passa, inclusive para o próprio roteador. Faça tudo com o Safe Mode ligado e deixe a ativação do filtering para o último passo. Rota de recuperação: MAC-Winbox numa porta fora da bridge, cabo serial/console, ou o console da VM no Proxmox (CHR). Para desfazer: /interface bridge set bridge vlan-filtering=no.

Passo 1: criar a bridge e adicionar as portas

/interface bridge add name=bridge vlan-filtering=no
/interface bridge port
add bridge=bridge interface=ether2 pvid=10 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge interface=ether3 pvid=20 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge interface=ether4 pvid=30 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge interface=ether5 frame-types=admit-only-vlan-tagged
  • pvid: a VLAN atribuída a quadros sem tag que entram numa porta access. Um PC em ether2 cai na VLAN 10 sem configurar nada.
  • frame-types: portas access só aceitam quadros sem tag; a porta trunk só aceita quadros com tag. Isso impede que alguém "pule" de VLAN mandando quadros marcados.

Passo 2: preencher a tabela de VLANs da bridge

Para cada VLAN, diga em quais portas ela passa com tag (trunk) e em quais sem tag (access). A própria bridge entra como tagged em todas as VLANs que o roteador precisa rotear:

/interface bridge vlan
add bridge=bridge vlan-ids=10 tagged=bridge,ether5 untagged=ether2
add bridge=bridge vlan-ids=20 tagged=bridge,ether5 untagged=ether3
add bridge=bridge vlan-ids=30 tagged=bridge,ether5 untagged=ether4
add bridge=bridge vlan-ids=99 tagged=bridge,ether5

Esquecer a bridge no tagged é o erro mais comum: os computadores se enxergam, mas não alcançam o gateway.

Passo 3: criar as interfaces VLAN e os endereços (roteamento entre VLANs)

/interface vlan
add name=vlan10-adm interface=bridge vlan-id=10
add name=vlan20-visit interface=bridge vlan-id=20
add name=vlan30-voz interface=bridge vlan-id=30
add name=vlan99-ger interface=bridge vlan-id=99
/ip address
add address=192.168.10.1/24 interface=vlan10-adm
add address=192.168.20.1/24 interface=vlan20-visit
add address=192.168.30.1/24 interface=vlan30-voz
add address=192.168.99.1/24 interface=vlan99-ger

Para cada rede de usuários, crie um servidor DHCP com o assistente (/ip dhcp-server setup, escolhendo a interface VLAN). Coloque as interfaces VLAN nas listas do firewall:

/interface list member
add list=LAN interface=vlan10-adm
add list=LAN interface=vlan30-voz
add list=LAN interface=vlan99-ger
/interface list add name=VISITANTES
/interface list member add list=VISITANTES interface=vlan20-visit

Passo 4: isolar as VLANs no firewall

Com o roteamento ativo, por padrão todas as VLANs se falam. Defina o que é permitido, antes do drop final do forward:

/ip firewall filter
add chain=forward action=accept in-interface-list=VISITANTES out-interface-list=WAN comment="visitantes so internet" \
    place-before=[find comment="FWD: descarta o resto"]
add chain=forward action=drop in-interface-list=VISITANTES comment="visitantes nao acessam redes internas" \
    place-before=[find comment="FWD: descarta o resto"]
add chain=input action=accept in-interface-list=VISITANTES protocol=udp dst-port=53,67 comment="DNS e DHCP para visitantes" \
    place-before=[find comment="IN: descarta o resto"]

Como VISITANTES não está na lista LAN, o firewall base já bloqueia o acesso deles ao Winbox e ao SSH. Restrinja também o gerenciamento à VLAN 99: /ip service set winbox address=192.168.99.0/24,10.8.0.0/24.

Passo 5: ativar o bridge VLAN filtering

Com o Safe Mode ligado, conecte-se por uma porta access de uma VLAN que já tem IP (por exemplo, ether2, VLAN 10) e ative:

/interface bridge set bridge vlan-filtering=yes

Se a sessão continuar ativa, desligue o Safe Mode para gravar. Se cair, o roteador volta ao estado anterior sozinho em alguns segundos.

VLANs em um CHR no Proxmox

Num CHR, a lógica é mais simples, porque não há portas físicas para fazer papel de switch. Duas opções:

  • Uma placa por rede: crie bridges separadas no Proxmox (ou use a tag de VLAN na placa da VM) e adicione uma placa virtio por rede no CHR. Cada placa aparece como etherN e recebe o IP diretamente.
  • Trunk numa placa só: deixe a bridge do Proxmox como VLAN aware (opção na edição da vmbr1), conecte a placa do CHR sem tag e crie no CHR as interfaces VLAN diretamente sobre ela: /interface vlan add name=vlan10 interface=ether2 vlan-id=10. As VMs recebem a tag desejada no campo VLAN Tag da placa de rede. Aqui não é preciso bridge nem vlan-filtering no CHR.

Como saber se funcionou

  1. /interface bridge vlan print mostra, em current-tagged e current-untagged, as portas efetivamente aplicadas.
  2. Um PC na ether3 recebe IP 192.168.20.x e navega, mas ping 192.168.10.1 e o acesso às máquinas do administrativo falham.
  3. No switch ou AP ligado à ether5, a gerência responde em 192.168.99.x.
  4. /interface bridge host print mostra os MACs aprendidos com a VLAN correta.

Problemas comuns

  • Perdi o acesso ao ativar o filtering: você estava numa porta cuja VLAN não tinha a bridge como tagged ou não tinha IP. Aguarde o Safe Mode reverter ou desative pelo MAC-Winbox/console.
  • Cliente não pega DHCP: o servidor DHCP está na bridge em vez da interface VLAN, ou o pvid da porta está errado.
  • Desempenho caiu: em alguns modelos com switch chip, o offload de hardware com VLAN filtering depende do chip. Verifique a coluna H (hardware offload) em /interface bridge port print e a documentação do seu modelo.
  • Telefones IP não sobem: se o telefone recebe a VLAN por LLDP ou DHCP com tag, a porta precisa ser híbrida: VLAN de dados sem tag (pvid) e VLAN de voz com tag na mesma porta.

Perguntas frequentes

Ainda posso criar VLAN direto na interface ether, como no RouterOS 6?

Pode, para casos simples (por exemplo, a VLAN da operadora na WAN). Para um equipamento fazendo papel de switch, o bridge VLAN filtering é o método recomendado.

O que é pvid no MikroTik?

É a VLAN aplicada aos quadros que entram sem tag em uma porta. Em porta access, é a VLAN daquela porta.

A VLAN 1 precisa ser configurada?

Por padrão, as portas têm pvid=1. Evite usar a VLAN 1 para dados ou gerência e defina explicitamente o pvid de cada porta.

Leitura complementar

Precisa de ajuda?

Se precisar de VLANs entre VMs no Proxmox do seu servidor e tiver dúvida sobre a bridge do host, abra um ticket na Área do Cliente descrevendo o desenho de rede desejado.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também