My Test Environment Setup (Part 2)

Virtual Network

My networking setup is quite similar to the one Wictor Wilen blogged about some time ago. Each virtual machine has 3 network connections:

Type Connect at Power On DHCP Subnet
LAN Segment Yes No
Host-Only Yes No

The Host-Only network is used to connect to the machines with RDP, the NAT network is used to access the internet from my machines. I only connect the NAT network when needed, e.g. to activate a machine via the internet. On my host machine, I modified my HOSTS file to include the Host-Only IP addresses.

Network Schema

One of the first things I do after I power on my virtual machines is renaming the network connections and changing the network bindings order to LAN, Host-Only and finally NAT. In Server Core you can do this via the registry.

I also change the network connections other than LAN to not register their IP address in DNS. In Server Core you can do this via netsh:

netsh interface ipv4 set dnsservers name="NAT" source=dhcp register=none

Basic machines overview

For a typical (SharePoint) setup I create the following topology:

  • DC – domain controller (Windows Server Core)
  • DB – SQL 2012 (Windows Server Core)
  • SP – SP2010

I’m running both my domain controller and SQL server machines on Windows Server Core. This allows me to keep a relative lightweight footprint all together. I typically configure my domain controller to use only 256 MB of RAM and my SQL server to use 1 GB. My SharePoint box will consume 4 GB.

The domain controller runs on the same disk (SSD) as the host operating system, the SQL and SP machines run on the second drive (HDD).

Domain Infrastructure

My domain controller is a Windows Server Core machine, which allows me to reuse it for different lab scenario’s.

After I renamed the machine & configured networking (see above), I proceed to create the domain. In Windows Server Core you need to do this with an unattend file.

[email protected]

I open notepad on the DC, copy the text above and save it as c:\unattend.txt

Then I create my domain by running:

dcpromo /unattend:c:unattend.txt

This will install and configure all necessary components, including the DNS server. On each server with a GUI I install the remote management tools in order to administer my AD & DNS configuration.