How to setup Internet Connection Sharing and a VPN connection at the same time!

This all came about because I am a guinea pig for the new content and code development environment.
 
The good news is that I have a spiffy laptop with Dual Core, 4GB DDR2 and (this is the good bit) a 320GB 7200rpm hard drive (not bad for a laptop!).
 
This all allows me to kick it into gear with Server 2008 x64 and Hyper-V.
 
Now for the bad news … Hyper-V doesn’t support "Shared Networking (NAT)" even though the technically inferior Virtual PC 2007 DOES!
 
It’s not too much of a heartache though, you simply have to be creative and setup yourself Internet Connection Sharing. This effectively allows your virtual machine to stay completely hidden from the big wide world, safely behind your an internally facing virtual network and your laptop’s firewall.
 
This is great for development environments, as we can have stand-alone virtual machines which can be copied, rolled-back and swapped around in minutes without any of that messy sys-prep nonsense.
 
However .. things went awry when I switched on our VPN … I was at home and didn’t have the creature comforts of a dedicated piece of copper between myself and the server.
 
I turned on my VPN and it did exactly what it was supposed to .. it created a secure tunnel and promptly shut-down all my other network adapters … including my virtual network…
 
so … a few hours of troublshooting and chomping of the table edge and I nailed it.
 
You need to:
  1. Connect to the VPN
  2. Share the VPN connection

This effectively gives your virtual machine it’s own private access to the corporate network .. great for those TFS check-ins and server builds 🙂

*sigh* another one for midnight oil.