Eu fiz isso com pfSense, Xenserver e algumas procurves.
Eu adicionei uma tag vlan à interface lan da minha caixa pfSense.
Em seguida, adicionei a tag ao meu switch para as portas que vão do meu roteador / FW para o meu pool Xenserver ... o que, por ter vários hosts no pool, significava que as tags estavam em todas as portas que o pool tinha acesso para.
Em seguida, no Xenserver, criei uma nova rede com a tag. Então eu fiz VM's que só tinham acesso ao DMZ vlan.
No PFsense, eu permiti a DMZ vlan (que é uma interface completa, como qualquer outra) para o mundo externo, e bloqueei tudo para a LAN.