Segmente a rede das VMs no Proxmox VE com VLANs em bridge interna vlan-aware e um firewall virtual (OPNsense/pfSense) para isolar web, banco e gestão.
Para que serve
Quando todas as VMs ficam na mesma rede, a invasão de um site dá ao atacante acesso direto ao banco de dados, ao servidor de arquivos e ao RDP das outras máquinas. Segmentar com VLAN no Proxmox separa as VMs em redes diferentes (por exemplo: web exposta, bancos de dados, servidores Windows/RDP e gestão), e um firewall decide o que pode passar entre elas. É a mesma lógica de uma DMZ, montada inteiramente dentro do seu servidor dedicado.
Pré-requisitos
- Proxmox VE 8.x ou 9.x com a bridge pública (
vmbr0) já funcionando. Veja o artigo sobre a rede do Proxmox com bridge, bloco /28 e IPv6. - Acesso ao console IPMI/iLO testado: mudanças de rede podem derrubar o acesso.
- Uma VM de firewall (OPNsense ou pfSense) ou disposição para criar uma.
- Um plano de endereçamento, por exemplo:
VLAN Uso Rede 10 DMZ: sites e APIs publicados 10.0.10.0/24 20 Bancos de dados 10.0.20.0/24 30 Windows / RDP / ERP 10.0.30.0/24 99 Gestão (backup, monitoramento, VPN) 10.0.99.0/24
Como funciona a VLAN no Proxmox de um servidor dedicado
As VLANs ficam dentro do servidor. Para isso, use uma bridge interna, sem placa física (vmbr1), com suporte a VLAN. A VM de firewall tem uma placa na vmbr0 (internet) e outra na vmbr1 recebendo todas as VLANs; ela roteia entre os segmentos e aplica as regras. As demais VMs recebem uma placa na vmbr1 com a tag da VLAN delas.
Não coloque tags de VLAN na vmbr0: ela está ligada à porta física do datacenter, e quadros com tag não serão roteados pela rede do provedor.
Passo 1: criar a bridge interna vlan-aware
- Na interface web: Node → System → Network → Create → Linux Bridge. Nome
vmbr1, campo Bridge ports vazio, marque VLAN aware e não informe IP. - Ou edite
/etc/network/interfacese acrescente:auto vmbr1 iface vmbr1 inet manual bridge-ports none bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094 - Aplique: botão Apply Configuration na interface web ou
ifreload -ano shell.
vmbr0 derruba o acesso ao host. Antes de aplicar, faça cópia com cp /etc/network/interfaces /root/interfaces.bak. Se perder o acesso, entre pelo console IPMI/iLO, restaure com cp /root/interfaces.bak /etc/network/interfaces e rode ifreload -a.Passo 2: VM de firewall ligada às VLANs
- Crie a VM do OPNsense ou pfSense com duas placas VirtIO:
Aqm set 100 --net0 virtio,bridge=vmbr0 qm set 100 --net1 virtio,bridge=vmbr1net1fica sem tag, para receber todas as VLANs (trunk). - No firewall, configure a WAN na primeira placa com um IP público do seu bloco (ex.:
203.0.113.2/28). - Na segunda placa (
vtnet1), crie as interfaces VLAN 10, 20, 30 e 99 (no OPNsense: Interfaces → Other Types → VLAN), atribua cada uma e dê o IP de gateway da rede (ex.:10.0.10.1/24). - Desative os offloads de hardware (checksum, TSO e LRO) nas placas VirtIO do firewall, conforme a recomendação do próprio OPNsense/pfSense para ambientes virtualizados.
Passo 3: colocar cada VM na sua VLAN
qm set 101 --net0 virtio,bridge=vmbr1,tag=10 # web
qm set 102 --net0 virtio,bridge=vmbr1,tag=20 # banco
qm set 103 --net0 virtio,bridge=vmbr1,tag=30 # Windows/RDP
Dentro de cada VM, configure o IP da rede dela com o gateway no firewall (ex.: VM web com 10.0.10.11/24 e gateway 10.0.10.1). Para publicar um site, use NAT de porta no firewall ou dê à VM web um IP público do bloco atrás do firewall, conforme o seu desenho.
Passo 4: regras entre segmentos
Comece negando tudo entre VLANs e libere só o necessário:
| Origem | Destino | Permitir |
|---|---|---|
| Internet | DMZ (10) | TCP 80/443 |
| DMZ (10) | Bancos (20) | Só a porta do banco (3306/5432) a partir das VMs web |
| Windows (30) | Bancos (20) | Porta do banco usado pelo ERP |
| Gestão (99) | Todas | SSH, RDP, monitoramento, backup |
| Bancos (20) | Internet | Só atualizações (HTTP/HTTPS) ou nada |
Coloque a VM de VPN na VLAN de gestão, de modo que o acesso administrativo entre pela VPN e passe pelo firewall.
Passo 5: o host Proxmox na rede de gestão (opcional)
Para que o host fale com o backup e o monitoramento sem passar pela internet, dê a ele um IP na VLAN 99:
auto vmbr1.99
iface vmbr1.99 inet static
address 10.0.99.2/24
Aplique com ifreload -a. Depois disso, é possível restringir a porta 8006 e o SSH do host apenas a essa rede (veja o artigo sobre fechar o Proxmox, SSH e RDP pela VPN).
Alternativa sem firewall virtual
Em ambientes pequenos, use o firewall do Proxmox nas placas das VMs: ative o firewall na VM e na placa de rede e crie regras por Security Groups (por exemplo, o grupo "banco" aceita 3306 apenas do IPSet "web"). Ative também IP filter e MAC filter nas opções do firewall da VM, para impedir que uma VM invadida assuma o IP de outra. Proxmox VE 8.1 ou superior também traz o SDN instalado, com zonas do tipo VLAN e Simple que facilitam criar redes isoladas pela interface.
Como saber se funcionou
- Da VM web:
nc -vz 10.0.20.12 3306conecta (liberado), masnc -vz 10.0.30.13 3389falha (bloqueado). - Da VM de banco:
ping 10.0.10.11não responde se você não liberou ICMP. - No host:
bridge vlan showlista as tags 10, 20, 30 e 99 nas portastapdas VMs. - Os logs do firewall mostram bloqueios entre segmentos.
Problemas comuns
- VM sem rede após receber tag: a
vmbr1não está marcada como VLAN aware, ou a interface VLAN correspondente não foi criada no firewall. - Firewall virtual não enxerga as VLANs: a placa do firewall na
vmbr1foi criada com tag. Ela deve ficar sem tag. - Desempenho baixo no firewall virtual: desative os offloads de checksum e TSO dentro do OPNsense/pfSense e use VirtIO com várias filas.
- Perdi o acesso ao host: restaure o
/etc/network/interfacespelo console IPMI/iLO, como no aviso acima.
Perguntas frequentes
Preciso de VLAN ou basta criar várias bridges?
Várias bridges internas (vmbr1, vmbr2...) também separam redes. VLANs em uma bridge só são mais práticas quando há muitos segmentos.
A segmentação deixa o servidor mais lento?
O tráfego entre segmentos passa pelo firewall virtual, que consome CPU. Para a maioria dos cenários de ERP, sites e RDP, 2 a 4 vCPUs no firewall são suficientes.
Segmentação protege contra ransomware?
Reduz muito o alcance: o ransomware que entra por um RDP não alcança diretamente bancos e backups em outros segmentos. Ela não substitui backup fora do servidor.
Leitura complementar
Precisa de ajuda?
Se perdeu o acesso ao host depois de mexer na rede e o console IPMI/iLO não resolve, abra um ticket ou chame o suporte 24/7.
