This example is based on a Hetzner machine with a single public facing IP, but should apply to any such scenario.
The public IP should be shared with the Hypervisor that is installed on a Bare Metal host, that has only one Ethernet IF. In the case of Proxmox, firewall rules need to be configured, to only allow certain incoming ports.
We also need NAT and Masquerading, to forward ports to a virtualized firewall running on the Proxmox server.
This concerns Proxmox 9.x+ since nftables support is still in Beta and was only added recently. The same concepts should be applicable to iptables, but the commands and files referenced will be different.