How do I host multiple servers on Hyper-V with only a few public IP addresses?

I have a dedicated server, which is currently running Windows 2008 R2 Web edition and VMWare Server. I am upgrading to Windows Server 2008 R2 Standard with Hyper-V. Once upgraded, it will have 24GB of RAM and a four core Core i7 processor. At the moment, it runs IIS on the main system instance, and has a Linux VM. The Linux VM has a dedicated IP given to it, and the host has 2 IPs.

Once the upgrade is complete, I would like to move the Web hosting to a VM on the machine under Hyper-V, and also move the Linux box to Hyper-V. This will mean that both VMs have a public facing IP as does the box itself. I am currently limited to 3 public facing IPv4 addresses, but have a /64 IPV6 block.

If I want multiple VMs, some public (web sites, etc) others not (development boxes) how do I do it? I know that I can just set up a reverse proxy and give that a public IP and give the resources behind it private IPs. Is that the best solution?


Solution 1:

I have exactly the same issue - my answer was to run ISA Server as a VM too (I know this is normally frowned upon) to handle the inbound requests and route to the correct server (all using internal IP addresses).