I seriously don’t understand what Proxmox is doing here, and I could use a reality check.
Here’s my exact setup:
1. Datacenter Firewall ON
Policies: IN = ACCEPT, OUT = ACCEPT, FORWARD = ACCEPT
One rule:
There are no Default Policy Options i can set.
One rule:
Policies: IN = ACCEPT, OUT = ACCEPT
No rules at all
Result:
If I disable Datacenter FW + Node FW (leaving only the VM FW enabled with both policies set to ACCEPT and no rules)…
→ Ping works instantly.
WTF? Am i totally dumb or is Proxmox FW just trash?
What ChatGPT told me:
Even if the VM firewall is set to ACCEPT, once Datacenter-FW is enabled, it loads global chains that still affect every NIC path:
VM → VM-FW → Bridge → Node-FW → Datacenter-Forward → NIC → pfSense
If ANY chain decides to drop something, the packet dies — even with ACCEPT everywhere.
Is that really the intended behavior?
What’s the real best-practice here?
If I want some VMs/LXCs to have full network access and others to be blocked/restricted:
Here’s my exact setup:
1. Datacenter Firewall ON
Policies: IN = ACCEPT, OUT = ACCEPT, FORWARD = ACCEPT
One rule:
- IN / ACCEPT / vmbr0.70 / tcp / myPC → 8006 (WebGUI Leftover as i had IN = REJECT before)
There are no Default Policy Options i can set.
One rule:
- IN / ACCEPT / vmbr0.70 / tcp / myPC → 8006 (WebGUI Leftover as i had IN = REJECT before on Datacenter FW)
Policies: IN = ACCEPT, OUT = ACCEPT
No rules at all
Result:
- pfSense can ping the VM
- The VM cannot ping pfSense
- Outbound ICMP from VM gets silently dropped somewhere inside Proxmox
If I disable Datacenter FW + Node FW (leaving only the VM FW enabled with both policies set to ACCEPT and no rules)…
→ Ping works instantly.
WTF? Am i totally dumb or is Proxmox FW just trash?
What ChatGPT told me:
Even if the VM firewall is set to ACCEPT, once Datacenter-FW is enabled, it loads global chains that still affect every NIC path:
VM → VM-FW → Bridge → Node-FW → Datacenter-Forward → NIC → pfSense
If ANY chain decides to drop something, the packet dies — even with ACCEPT everywhere.
Is that really the intended behavior?
What’s the real best-practice here?
If I want some VMs/LXCs to have full network access and others to be blocked/restricted:
- Should all of this be handled entirely on pfSense (VLANs, rules, isolation)?
- Or should the Proxmox VM firewall be used for per-VM allow/deny rules?
- Or both?