Como ativar o firewall do Proxmox VE sem perder o acesso: IPSet management, regras por VM, grupos de segurança e recuperação pelo console IPMI/iLO.

Para que serve

O Proxmox VE tem um firewall próprio, integrado à interface web, que protege o host e cada VM ou container individualmente. Ele vem desligado. Este artigo mostra como ativar o firewall do Proxmox na ordem certa, liberando antes o seu IP de administração, para que a interface web (porta 8006) e o SSH (porta 22) só respondam para quem deve.

O firewall funciona em três níveis:

NívelOnde fica na interfaceArquivoO que protege
DatacenterDatacenter → Firewall/etc/pve/firewall/cluster.fwLiga/desliga o firewall de todo o ambiente; guarda IPSets, aliases e grupos de segurança
Nó (host)Nome do nó → Firewall/etc/pve/nodes/NOME/host.fwO próprio servidor Proxmox (8006, 22, etc.)
VM/CTVM → Firewall/etc/pve/firewall/VMID.fwO tráfego que entra e sai de cada VM

Nada é filtrado enquanto o firewall do Datacenter estiver desligado, mesmo que existam regras nos outros níveis.

Atenção: risco de perder o acesso. Ao ligar o firewall no Datacenter, a política padrão de entrada passa a ser DROP. O Proxmox libera automaticamente 8006, 22 e console (VNC/SPICE) apenas para o IPSet management e para a rede local detectada. Em servidor dedicado, a "rede local" é a sua faixa de IPs públicos, não a rede da sua casa ou escritório. Se você ativar sem colocar o seu IP no IPSet management, a interface web e o SSH param de responder. A recuperação está no fim deste artigo (console IPMI/iLO).

Pré-requisitos

  • Proxmox VE 8.x ou 9.x com acesso root@pam à interface web.
  • O IP público fixo de onde você administra o servidor (descubra em um site como ifconfig.me ou com curl -4 ifconfig.me). Se o seu IP muda, use uma VPN com IP fixo ou libere a faixa do seu provedor de internet (veja também o artigo «Como liberar o acesso ao Proxmox (porta 8006), SSH e RDP só pela VPN»).
  • Acesso ao console IPMI/iLO do servidor testado antes de começar.
  • Uma sessão SSH aberta no host durante todo o procedimento (conexões já estabelecidas continuam funcionando).

Nos exemplos, 203.0.113.10 representa o seu IP de administração e 198.51.100.0/24 a rede do seu escritório. Troque pelos seus valores.

Como ativar o firewall do Proxmox passo a passo

1. Criar o IPSet management com os seus IPs

  1. Vá em Datacenter → Firewall → IPSet e clique em Create.
  2. Nome: management (exatamente assim, em minúsculas). Comentário: "IPs de administração".
  3. Selecione o IPSet criado e, no painel da direita, clique em Add para cada IP ou rede: 203.0.113.10, 198.51.100.0/24.

Os IPs desse conjunto ganham acesso automático à porta 8006, ao SSH e ao console das VMs no host, sem precisar criar regra manual.

2. Conferir as opções do nó

Em NOME-DO-NÓ → Firewall → Options, confirme que Firewall está como Yes (é o padrão). O firewall do nó só passa a valer quando o do Datacenter for ligado.

3. Ligar o firewall do Datacenter

  1. Em Datacenter → Firewall → Options, confirme Input Policy = DROP e Output Policy = ACCEPT.
  2. Edite Firewall e marque Yes.
  3. Sem fechar a sessão atual, abra uma nova aba anônima e acesse https://SEU-IP:8006. Abra também uma nova conexão SSH. Se as duas funcionarem, o acesso está garantido.

Se preferir pelo terminal, o arquivo /etc/pve/firewall/cluster.fw fica assim:

[OPTIONS]
enable: 1
policy_in: DROP
policy_out: ACCEPT

[IPSET management] # IPs de administração
203.0.113.10
198.51.100.0/24

4. Proteger as VMs

O firewall de cada VM é independente e vem desligado. Para ativá-lo:

  1. Em VM → Hardware, edite a placa de rede e confirme que a opção Firewall está marcada (sem ela, nenhuma regra é aplicada àquela interface).
  2. Em VM → Firewall → Rules, crie as regras de entrada antes de ligar. Use Add e escolha uma Macro (HTTP, HTTPS, RDP, SSH etc.) ou informe protocolo e porta.
  3. Em VM → Firewall → Options, defina Input Policy = DROP e Firewall = Yes.

Exemplo de /etc/pve/firewall/100.fw para uma VM web que também recebe RDP, mas só dos IPs de administração:

[OPTIONS]
enable: 1
policy_in: DROP
policy_out: ACCEPT

[RULES]
IN HTTPS(ACCEPT) -log nolog
IN HTTP(ACCEPT) -log nolog
IN RDP(ACCEPT) -source +management -log nolog

Pela interface, no campo Source basta escolher o IPSet na lista; dependendo da versão ele aparece como +management ou +dc/management.

O acesso ao console da VM pela interface do Proxmox (noVNC) não passa pelo firewall da VM. Se você bloquear a VM por engano, ainda consegue entrar pelo console dela.

5. Grupos de segurança (opcional)

Se várias VMs têm as mesmas regras (por exemplo, todos os servidores web), crie um grupo em Datacenter → Firewall → Security Group, adicione as regras nele e, em cada VM, use Insert: Security Group. Uma alteração no grupo vale para todas as VMs que o usam. Para separar as VMs em redes diferentes, veja também o artigo «VLAN no Proxmox: como segmentar a rede das VMs com bridges e firewall».

Como saber se funcionou

  • No host, rode pve-firewall status. A saída esperada é Status: enabled/running.
  • De um IP que não está no management (por exemplo, o 4G do celular), a porta 8006 não deve abrir.
  • Para uma VM, teste a porta liberada e uma porta fechada de fora: nc -vz IP-DA-VM 443 e nc -vz IP-DA-VM 3389.
  • Para ver as regras geradas: iptables-save | less (backend padrão).

Recuperação: perdi o acesso à 8006 e ao SSH

  1. Acesse o console IPMI/iLO pela Central do Cliente (Serviços → clique no servidor → Console) e abra o console remoto (KVM/HTML5).
  2. Faça login como root no terminal do Proxmox.
  3. Pare o firewall imediatamente: pve-firewall stop. O acesso volta na hora.
  4. Corrija o IPSet editando /etc/pve/firewall/cluster.fw (por exemplo, com nano), adicionando o seu IP na seção [IPSET management].
  5. Inicie de novo: pve-firewall start e teste o acesso por uma nova sessão.

Se quiser desligar de forma permanente até revisar, troque enable: 1 por enable: 0 em cluster.fw.

Problemas comuns

  • Regra da VM não tem efeito: faltou marcar Firewall na placa de rede, ou o firewall do Datacenter está desligado.
  • Liberei o IP, mas a 8006 continua bloqueada: seu IP de saída mudou ou você está atrás de IPv6. Confira com curl -4 ifconfig.me e curl -6 ifconfig.me e inclua os dois no IPSet.
  • Backend nftables: o Proxmox oferece o serviço proxmox-firewall (opção nftables: 1 nas opções do nó), ainda marcado como tech preview. Para produção, prefira o backend padrão, a não ser que você precise especificamente dele. Se ativar, reinicie as VMs.
  • Não use UFW ou um nftables.conf próprio no host Proxmox. Eles disputam as mesmas tabelas com o firewall do Proxmox e o resultado é imprevisível.
  • Cluster: em clusters, a política DROP também precisa liberar Corosync (UDP 5405–5412) entre os nós. Isso é automático para a rede do cluster, mas confira se ela foi detectada corretamente no alias local_network.

Perguntas frequentes

O firewall do Proxmox vem ativado?

Não. Ele vem desligado no nível Datacenter, e nada é filtrado até você ligá-lo ali, mesmo que existam regras no nó ou nas VMs.

O que é o IPSet management no Proxmox?

É o conjunto de IPs de administração. Os IPs dele ganham acesso automático à porta 8006, ao SSH e ao console das VMs quando o firewall é ligado.

Perdi o acesso à porta 8006 depois de ativar o firewall. E agora?

Entre pelo console IPMI/iLO, faça login como root e rode pve-firewall stop. Depois inclua o seu IP no IPSet management e ligue de novo.

Posso usar UFW no host Proxmox?

Não é recomendado. UFW ou um nftables.conf próprio disputam as mesmas tabelas com o firewall do Proxmox e o resultado é imprevisível. Use UFW dentro das VMs.

Por que a regra da VM não funciona?

Normalmente faltou marcar a opção Firewall na placa de rede da VM, ou o firewall do Datacenter está desligado.

Precisa de ajuda?

Se ficou alguma dúvida ou se você não consegue acessar o console IPMI/iLO, abra um ticket ou fale com o suporte pelo WhatsApp.

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

Leia também