Existem várias maneiras de resolver esse problema. Eu gosto dessa configuração:
+-------------+
| Gateway |
| NAT/Router |
| 216... |
+--+---+------+
| |
+-- FTP ports --+ |
| |
| Web ports
| |
+----+--------+ +----+---------+
| VM2 - FTP | | VM1 - web |
| 192...2 | | 192...1 |
| mounts | | mounts |
| /www | | /www |
+-------------+ +--+--------+--+
| |
dom1 app proxy |
| |
| dom2 app proxy
| |
| |
+---------+---+ +--+----------+
| VM3 - dom1 | | VM4 - dom2 |
| 192...3 | | 192...4 |
| mounts | | mounts |
| /www/dom1 | | /www/dom2 |
+-------------+ +-------------+
A idéia é que o gateway use NAT e transmita a web e solicitações de ftp para suas respectivas VMs. As VMs da Web e FTP usam virtualhosts para gerenciar subpastas específicas de / www com base no domínio solicitado. Então o servidor web faz proxy das solicitações de conteúdo dinâmico de volta ao aplicativo por domínio VMs que só têm acesso ao seu próprio subdiretório. Também não há razão você também não pode ter o servidor da Web que atende o WebDAV.