Prompted by a question I was asked regarding one of my earlier postings, I thought I'd provide some information about how I prefer to set up networking when using Microsoft Virtual PC. The problems I want to solve are to:
- Provide Internet connectivity for the Virtual PC image for access to Microsoft Update as well as external web services such as MapPoint.
- Have multiple developers using the same Virtual PC image without receiving with error message "Computer name already exists".
I have seen several configurations used by different people, but the one that works for me is configured as follows. Firstly, I configure my Virtual PC Image settings with two network adapters.
As you can see, I assigned the first virtual machine network card to Shared Networking (NAT). When this option is selected, the virtual machine is connected to a private network created by Virtual PC. The network includes a virtual DHCP server and a virtual Network Address Translation (NAT) router. The virtual machine is then able to access most TCP/IP-based resources that the host operating system can access.
This is why I assigned the second virtual machine network card to Local Only. This option provides networking support between virtual machines only. Once the virtual machine is running, I see two active Local Area Connections.
In order to prevent the "Computer name already exists" error message, I disable "Client for Microsoft Networks" and "File and Print Sharing for Microsoft Networks" on the Shared Networking (NAT) adapter. This prevents the computer name being broadcast onto the external network during the boot process, and allows for multiple copies of the same image to run on the same physical network without having to go through the pain of building separate images. Notice I didn't mention changing the computer name of each image. My virtual machine is running AD, SQL, CRM, Exchange and BizTalk, all of which would be extremely difficult to fix if the computer name is changed.
In order to provide access to the external network, then I configure the TCP/IP properties to obtain an IP address automatically from the virtual DHCP Server.
In addition, I also disable NetBIOS over TCP/IP as we do not want to use WINS on the external network.
In order to ensure that the virtual machine will continue to work correctly, then I make sure that "Client for Microsoft Networks" and "File and Print Sharing for Microsoft Networks" on the Local Only adapter are enabled.
I then assign a static TCP/IP address, usually in the 10.0.0.0 reserved address range. In addition, because my virtual machine is an Active Directory domain controller, it also runs a DNS server so I need to point the DNS client settings to itself.
The final piece of configuration is to configure the DNS server to only respond to client requests on the Local Only network. Using the DNS Admin tool, right click on the server and configure the Server Properties. This enables all the Active Directory services to work correctly through the static IP address on the Local Only network adapter.
That's it. Whenever I get hold of an image, this is my second configuration task - the first being to change the US Keyboard configuration to a UK Keyboard, so that the @ and " keys are in the right place 🙂
This posting is provided "AS IS" with no warranties, and confers no rights.