Embora eu não ache que o iptables possa filtrar solicitações por domínio, isso parece um trabalho perfeito para nginx
. Se você puder instalá-lo no pfSense, poderá configurá-lo como um proxy para outros servidores com base em várias configurações de domínio / IP. Ele pode atuar como um balanceador de carga, se necessário, e você não precisará configurar seu firewall.
Como alternativa, você pode configurar um servidor proxy nginx separado em uma das VMs. Você fará com que seu firewall redirecione todo o tráfego para as portas 80 e 443 para essa VM, que usará nginx para solicitações de proxy para VMs específicas. Também pode ser configurado em qualquer uma das VMs existentes.