I have a virtual HyperV network used by a number of virtual development and testing servers and an all-in-one Domain, DNS, DHCP server; I want to keep the many virtual servers separated from our main physical network (broadcast storms, good practise etc..), but still give them access to the internet that is available via the gateway on the physical network.
The physical network uses the subnet 192.168.7.1/24 and this virtual network is using 10.10.7.1/24.
I was hoping I could give just my virtual domain controller a second, "External" hyper-v network adapter and somehow share the internet connection with the rest of the network (pretending it is the gateway) - which I assume would NAT the other server's requests just like a router would.
I have no idea how to do this. I have tried ICS but had no luck. Could anyone suggest how I can accomplish this please?
Bonus points for being able to access servers and file shares on the physical network from the virtual machines :)
You should install a virtual machine that will act as a gateway with two interfaces: one on the internal VM network, one on the external network. This can be a virtual appliance that's preconfigured to act as a firewall/NAT boundary, it can be a Windows server running RRAS or TMG, or it can be a dedicated Linux box doing something like iprouting + iptables NAT rules.
You shouldn't run anything like this on a DC, it's bad practice. Instead, use one of the applications listed above on a separate guest in the virtual environment and set it as the gateway for all of the other guests.