Estou tentando configurar um host de máquina virtual (atualmente executando o Ubuntu + KVM), que hospedará um número de VMs para diferentes aplicativos. Por exemplo, temos um wiki em execução em uma VM e um aplicativo da Web em execução em outra.
Host
/ \
VM1 VM2
Internamente, as VMs vivem em sua própria rede virtual com seus próprios IPs, no entanto, externamente, há apenas um endereço IP, que é o endereço IP do host.
Existe um domínio configurado em nossa rede que aponta para o IP do host e eu posso configurar um iprule para encaminhar o tráfego destinado ao host diretamente para uma das VMs. No entanto, para tornar as duas VMs acessíveis ao mundo externo, de alguma forma, preciso encaminhar solicitações com base na URL.
Idealmente, gostaria de encaminhar solicitações por subdomínio, por exemplo,
http://vm1.host/ -> host -> VM1
http://vm2.host/ -> host -> VM2
mas, alternativamente, pelo caminho da URL:
http://host/vm1 -> host -> VM1
http://host/vm2 -> host -> VM2
Eu já instalei o Apache na máquina host. Que tipo de regras de encaminhamento / redirecionamento / aliasing / proxy reverso eu precisaria fazer esse tipo de configuração de rede funcionar? Existe algo extra necessário para lidar com subdomínios?