Isso não é apenas possível, mas também comum. Meu método preferido é empregar algum tipo de hipervisor para hospedar unidades de função distintas dentro de sua própria máquina virtual. O uso desse tipo de tecnologia permitirá que você provisione as configurações ideais em recursos virtualizados, além de mantê-las um pouco isoladas umas das outras. Por exemplo, você pode facilmente ter uma máquina com uma única placa de rede física que hospede um dispositivo de gateway que tenha tantos nics virtuais quanto for conveniente para seu aplicativo.
Como prova de como isso é fácil, por acaso uso o Xen em um computador do tipo "netbook" Intel Atom para hospedar meia dúzia de VMs individuais que fornecem serviços de rede em casa. Eu sei que SF não gosta de ouvir sobre soluções domésticas - eu só ofereço isso como uma anedota, o Xen é um hipervisor maduro pronto para produção e eu prometo a você que está à altura dessa tarefa. Esse NIC físico mascara vários dispositivos diferentes e também faz a marcação de VLAN quando necessário.
Se você quer algo um pouco mais leve, você também pode configurar interfaces "macvlan" no Linux, mas eu achei a documentação difícil de ser obtida. Eu fiz isso funcionar, mas foi muito mais confuso do que ir com o Xen e provisionar VMs que se comportam como se tivessem muitas interfaces (ou qualquer hipervisor que você possa preferir porque o vmware é tão capaz quanto o hardware certo. Eu usei o Xen com o CPU Atom, mas eu fiz o mesmo com o VMware com hardware que foi mais construído para virtualização).