Como instalar o OPNsense no Proxmox como VM de firewall: bridge interna vmbr1, NAT de saída, 1:1 NAT com IPs do bloco /28 e port forward para as VMs.
Para que serve
Em vez de expor cada VM diretamente na internet, você pode instalar um firewall virtual, como o OPNsense no Proxmox (ou o pfSense), entre a internet e as VMs. As VMs ficam numa rede interna privada, sem IP público, e só o que você liberar no firewall chega até elas. É um modelo parecido com o de um escritório: um único ponto de entrada, com regras, NAT, logs e, se quiser, VPN.
Este artigo usa o OPNsense nos exemplos. No pfSense os conceitos e menus são quase os mesmos (as diferenças estão indicadas).
Como fica a rede
- vmbr0 (já existe): bridge ligada à placa física, com o IP público do Proxmox. É o lado WAN.
- vmbr1 (nova): bridge sem placa física, só interna, com uma rede privada como
10.10.10.0/24. É o lado LAN. - VM OPNsense: uma placa em vmbr0 (com um ou mais IPs públicos do seu bloco /28) e outra em vmbr1 (
10.10.10.1, gateway das VMs). - Demais VMs: apenas em vmbr1, com IP privado e gateway
10.10.10.1.
Nos exemplos, o bloco público é 203.0.113.16/28, com gateway do datacenter 203.0.113.17, o Proxmox em 203.0.113.18 e o OPNsense usando 203.0.113.19 (WAN) e 203.0.113.20 (IP extra para uma VM). Use os dados que constam no e-mail de entrega do seu servidor.
cp /root/interfaces.bak /etc/network/interfaces) e rode ifreload -a. O Proxmox continua sendo administrado pelo IP público dele, fora do OPNsense: proteja-o com o firewall do Proxmox.Pré-requisitos
- Proxmox VE 8.x ou 9.x funcionando, com acesso ao IPMI/iLO testado.
- ISO atual do OPNsense (imagem dvd, amd64) enviada para o storage de ISOs do Proxmox.
- Dois IPs livres do seu bloco /28: um para o WAN do OPNsense e outro(s) para publicar serviços.
- Se tiver dúvida sobre o uso dos IPs do bloco em VMs, confirme com o suporte antes ou veja também o artigo «Como configurar a rede do Proxmox para as VMs: bridge, bloco /28 IPv4 e IPv6».
Como instalar o OPNsense no Proxmox passo a passo
1. Criar a bridge interna vmbr1
Antes, guarde uma cópia da configuração de rede atual pelo SSH do host:
cp /etc/network/interfaces /root/interfaces.bak
- Em Nó → System → Network, clique em Create → Linux Bridge.
- Nome:
vmbr1. Deixe Bridge ports vazio. Em IPv4/CIDR coloque10.10.10.2/24(o host precisa desse IP só para você acessar o OPNsense por túnel SSH; não preencha Gateway). - Clique em Apply Configuration.
O trecho gerado em /etc/network/interfaces fica assim:
auto vmbr1
iface vmbr1 inet static
address 10.10.10.2/24
bridge-ports none
bridge-stp off
bridge-fd 0
2. Criar a VM do OPNsense
- OS: a ISO do OPNsense, tipo Other.
- System: Machine
q35; BIOS padrão (SeaBIOS) é suficiente. - Disco: VirtIO Block ou SCSI, 20 GB ou mais.
- CPU: 2 núcleos, tipo
host. Memória: 4 GB (8 GB se for usar IDS/IPS). - Rede: primeira placa VirtIO em
vmbr0. Depois de criar, em Hardware → Add → Network Device, adicione a segunda placa VirtIO emvmbr1. - Nas duas placas, desmarque a opção Firewall do Proxmox: quem filtra aqui é o OPNsense.
- Em Options, marque Start at boot com Start/Shutdown order =
1, para o firewall subir antes das outras VMs.
3. Instalar e atribuir as interfaces
- Inicie a VM, abra o Console e entre com o usuário
installer(senhaopnsense). Instale em ZFS ou UFS e defina a senha de root. - Após o reboot, no menu do console use 1) Assign interfaces:
vtnet0= WAN,vtnet1= LAN. - Use 2) Set interface IP address:
- WAN: estático
203.0.113.19/28, gateway203.0.113.17. - LAN:
10.10.10.1/24. Pode ativar o DHCP na LAN se quiser.
- WAN: estático
4. Acessar a interface web com segurança
Não abra a interface do OPNsense para a internet. Acesse por um túnel SSH através do Proxmox, a partir do seu computador:
ssh -L 8443:10.10.10.1:443 root@203.0.113.18
Com o túnel aberto, acesse https://localhost:8443 no navegador e faça o assistente inicial. Confirme em Interfaces → Settings que Hardware CRC, Hardware TSO e Hardware LRO estão desativados (no pfSense: System → Advanced → Networking → Disable hardware checksum offload). Com eles ativos em placas VirtIO, o tráfego pode falhar de forma intermitente.
5. Conectar as VMs à rede interna
Em cada VM, mude a placa de rede para vmbr1 e configure: IP 10.10.10.x/24, gateway 10.10.10.1, DNS 10.10.10.1. A saída para a internet já funciona: o NAT de saída automático do OPNsense traduz a rede LAN para o IP do WAN.
6. Publicar uma VM com IP público próprio (1:1 NAT)
- Interfaces → Virtual IPs → Settings → Add: modo IP Alias, interface WAN, endereço
203.0.113.20/28. - Firewall → NAT → One-to-One → Add: interface WAN, tipo BINAT, IP externo
203.0.113.20, rede interna10.10.10.20/32(a VM). - Firewall → Rules → WAN → Add: libere só as portas necessárias, com destino o IP interno
10.10.10.20(as regras do WAN são avaliadas depois da tradução). Exemplo: TCP 443 de qualquer origem; TCP 3389 apenas de203.0.113.10.
Com o 1:1, o tráfego de saída da VM também sai pelo IP 203.0.113.20.
Se preferir um roteador MikroTik no lugar do OPNsense, veja também o artigo «Como instalar o MikroTik CHR no Proxmox VE (Cloud Hosted Router como roteador das VMs)». Para ligar o escritório a essa rede interna, veja o artigo «Como configurar VPN site-to-site entre o escritório e o servidor dedicado (WireGuard com MikroTik, pfSense e OPNsense)».
7. Publicar só algumas portas (Port Forward)
Se não precisa de um IP exclusivo, use Firewall → NAT → Destination NAT (Port Forward) (no pfSense: Firewall → NAT → Port Forward): interface WAN, destino "WAN address", porta 443, redirecionar para 10.10.10.30 porta 443. O OPNsense pode criar a regra de firewall associada automaticamente; restrinja a origem quando for um serviço administrativo.
Como saber se funcionou
- Numa VM da LAN:
ping 10.10.10.1ecurl -4 ifconfig.me(deve mostrar o IP do WAN ou o IP do 1:1). - De fora,
nc -vz 203.0.113.20 443conecta e uma porta não liberada dá timeout. - Em Firewall → Log Files → Live View você vê os pacotes permitidos e bloqueados em tempo real.
Problemas comuns
- VMs pingam mas páginas não carregam / downloads travam: offload de hardware ativo. Revise o passo 4 e reinicie o OPNsense.
- IP virtual não responde de fora: confira se o Virtual IP está no WAN, se existe regra no WAN para o IP interno e se o IP não está em uso em outra VM ou no host (conflito de ARP).
- OPNsense desligado = todas as VMs sem internet. Faça backup da configuração em System → Configuration → Backups e mantenha um snapshot da VM antes de atualizar.
- Perdi o acesso à interface web do OPNsense: use o console da VM no Proxmox. No menu, a opção 8) Shell permite
pfctl -dpara desativar o filtro temporariamente; a opção de reset de interfaces resolve erros de IP. Se o problema for no Proxmox, use o IPMI/iLO.
Perguntas frequentes
Vale a pena usar OPNsense no Proxmox?
Vale quando você quer um único ponto de entrada para várias VMs, com regras, NAT, logs e VPN centralizados, em vez de expor cada VM direto na internet.
OPNsense ou pfSense: qual escolher?
Os dois atendem bem e os conceitos são quase iguais. Este artigo usa o OPNsense nos exemplos e indica onde os menus do pfSense são diferentes.
Preciso de um IP público só para o OPNsense?
Sim. O WAN do OPNsense usa um IP livre do seu bloco /28, diferente do IP do Proxmox. Outros IPs livres do bloco podem ser publicados para VMs com 1:1 NAT.
Por que as páginas não carregam nas VMs atrás do OPNsense?
Normalmente é o offload de hardware (CRC, TSO e LRO) ativo nas placas VirtIO. Desative-o nas configurações de interface e reinicie o OPNsense.
O Proxmox também fica atrás do OPNsense?
Não neste modelo. O Proxmox continua com o IP público dele na vmbr0 e deve ser protegido com o firewall do próprio Proxmox.
Precisa de ajuda?
Se ficou alguma dúvida, abra um ticket ou fale com o suporte pelo WhatsApp.
