Building a vSphere Home or Learning Lab – Part 2

In Part two, we will install the VMware vSphere Client for Windows, create forward and reverse DNS (which is a prerequisite for installing vCenter in any form) and then we will install the VMware vCenter Server Appliance (VCSA) to manage our ESXi VMs

Download a nice, clean PDF of this procedure by clicking here!

Installing the vSphere Client for Windows

VMware would have you believe that the VMware vSphere® Client for Windows is best used only for managing standalone ESXi installations. Any administrator that has worked with the VMware vSphere® Web Client (even in vSphere 6.X) knows that the vSphere Web Client sucks ! Not only is the web-client not capable of managing standalone ESXi installations, it is basically unsuitable for use in any production environments, largely due to its heavy dependence on Flash.

We already acquired the binary for the vSphere client for Windows from VMware (if you did not, go get it now), so we are ready to begin installing the client.

Install the vSphere Client for windows on your local PC

Locate the binary you downloaded from VMware and right-click to: Run as administrator


Files extract

You may see this

Click: Next

Click: Next

Click: Install


Click: Finish

Open the vSphere client and connect to one of the ESXi VMs you installed in Part 1

  1. Use the IP address you assigned when you installed your ESXi VMs
  2. The username will be: root
  3. Use the password you assigned during ESXi installation

Install the certificate and then ignore the warning (we trust this host)

Creating DNS for vCenter

Forward and reverse DNS are a prerequisite for installing vCenter, no matter if you choose vCenter for Windows or the VCSA. There are many ways to create DNS in the home lab including building a Windows Server VM and adding the DNS Role . I wanted something simpler, free and lighter weight.

Regardless of your choice for DNS Server (Windows or Linux), you will need to create the A-records manually, as the VCSA will not create them on your behalf.

Linux DNS Server Appliance

Ubuntu server 14.04 LTS provides a convenient platform on which to install DNS. Ubuntu Server is thin and light, and will easily fit on the DAS of the ESXi VMs we have created, until such time as we have created SAN storage!

You can build your own VM, or download the actual VM that I built for this article, and then re-configure the IB, Bind daemon and Forward/Reverse zones to suit your needs. If you choose to use our OVA, then you are just a few easy steps from having a functional DNS Server in your home lab!

The goal of this lab is to re-configure a pre-built Linux DNS Server specific to your needs. I have done this in simplest way I could imagine, with the fewest possible number of steps! I will not be showing you how to build a Linux DNS Server from scratch, rather just re-configure the DNS Server I built for my lab. The net result should be a minimal DNS server suitable configured for your lab environment.

NOTE: My lab is on and configured to be: jb-lab.local.

In the example screenshots, I will be showing you how to re-configure my Ubuntu DNS Server for your lab using: your-lab.local as an example of your domain and as an example of your “subnet” (VMware misuses the term ‘Subnet” in the Workstation product, technically this is a Broadcast Domain).

Download the ubuntu-server VM as an OVA from here:

Import the OVA into one of your newly-created ESXi VMs.

Choose: Deploy OVF Template


Locate the downloaded file: ubuntu-server.ova Click: Next


Name your Ubuntu-server. Per Best Practices, the VM name and its hostname should be the same. You may name your DNS something different, but if you choose a name other than “Ubuntu-server,” you may be better off building DNS on a fresh build of Ubuntu, as opposed to re-configuring my Build. Click: Next

Choose: Thin Provision Click: Next

Choose: Power on after deployment, and then: Finish

Wait. This process should take 2-5 minutes on decent hardware.


Log on to the VM

Open the VMRC (be sure to right-click the VM, then go to: Open Console – NEVER use the Console tab, it’s so annoying!)


Log on to the VMRC with the username: administrator and the password: P@ssw0rd (That’s a zero in P@ssw0rd)

Set the IP address for your Network

Open the eth0 configuration by running: sudo vi /etc/network/interfaces

  1. You will be asked for your password, which is: P@ssw0rd
  2. There are many good VI cheat sheets like this one:
  3. The text editor Nano is also available, run: sudo nano /etc/network/interfaces

Customize the values in this file to suit your needs snd save (:wq). In this example, we have changed the address, network, broadcast, and gateway suitable for our example network.

  1. I replaced every occurrence of 153 in the third-octet of the IP address with 174

Define the forward and reverse zone files for Bind

Open the named.conf.local file to edit with vi: sudo vi /etc/bind/named.conf.local

  1. NOTE: sudo will not prompt for a password if used again within its default session timeout of 5 minutes.

Customize the values in this file to suit your needs

  1. In the example, we changed the text: “jb-lab.local” to “your-lab.local” in each occurrence.
  2. In the example we changed: “” to “” (NOTE: 174.168.192 represents the reverse of the Network portion of the IP. If this were a class B /16 network with a Subnet Mask of, then the zone would be “” and the file would be “/etc/bind/db.172”

Create your forward lookup zone by copying my forward lookup zone (/etc/bind/jb-lab.local) to and then editing it.

Run the command: sudo cp /etc/bind/db.jb-lab.local /etc/bind/db.your-lab.local

Edit the forward lookup zone for your-lab.local by running: sudo vi /etc/bind/db.your-lab.local

Customize the values in this file to suit your needs.

  1. I replaced every occurance of “jb-lab.local” with “your-lab.local”
  2. I replaced “john” with “your”
  3. I changed the 153 portion of every IP/A-record to 174

Create your reverse lookup zone by editing my reverse zone (/etc/bind/db.192)

Edit the reverse lookup zone for 192 by running: sudo vi /etc/bind/db.192

Customize the values in this file to suit your needs.

  1. I replaced every occurance of “jb-lab.local” with “your-lab.local”
  2. I replaced “john” with “your”
  3. NOTE: The numeric portion of pointer (PTR) record is the host portion of the IP address. In a Class C network with a subnet mask of (or /24), the host portion of the IP is the last octet of the IP. In this case, 101 represents

Reboot your server to apply all the changes at once.

Run the command: sudo reboot

Check your work

  1. Login with the username: administrator and password: P@ssw0rd
  2. Run the command: ifconfig
  3. Run the command: service bind9 status

You should be in business with DNS!

Installing VMware vCenter Server

Now we need to install vCenter in whatever form you choose. I choose the VMware VCSA! We will begin by creating the VCSA on the DAS of the first ESXi VM, which will be possible if we Thinly Provision the disks.

Locate the VCSA ISO you downloaded from VMware and extract it with a tool like 7-ZIP . If you are running Windows 8 and beyond, simply Mount the ISO on your desktop to browse the files.image059

Browse the ISO (or the Extracted files) to: \VMware-VCSA-all-6.0.0-3040890\vcsa and run the Client Integration Plugin as Administrator


You may need to close all your open browsers to continue.

If google Chrome refuses to close, you need to force-close it with the task manager or at the command-line

Now locate the vcsa-setup.html file and open it with Google Chrome


Click: Install

Specify the FQDN or IP of your ESXi VM where the VCSA will be installed

  1. I chose to enter the IP because the actual .HTML installer is on my PC, not inside the jb-lab.local network. For this reason, the DNS we configured will not work.
  2. The username is: root
  3. The password is what you set when you installed ESXi

Click: Yes

Name the VCSA and assign a password for the OS. This will be the VM name in inventory.

  1. The password you set there has nothing to do with vCenter Services, rather is just the OS password for updates, the shell, etc.

Choose: Embedded Platform Services Controller

Now set the SSO Domain and password.

  1. This is the password that makes you king of the world.
  2. Be sure to note your SSO Domain name. The SSO Domain name must be unique and not the same as other domains.

Set: Tiny

Choose the DAS on the ESXi VM we created earlier and Enable Thin Disk Mode

  1. We will move the VCSA to a SAN later.

Choose: Use an embedded database

Set network properties for your lab configuration, along with the FQDN of the VCSA. Enable SSH and Synchronize time with the ESXi Host

Enable SSH and Synchronize time with the ESXi Host

Review your settings and click: Finish

This can take a long time!



Troubleshooting VCSA installations

I have had tremendous success installing VCSA 6! In fact, my installations have only failed for one of two reasons:

The vSphere Client Integration Plugin became incompatible when Google Chrome is updated (most recently to Version 45). In this case, detecting the Sphere Web Client Integration Plugin 6.x simply times out and no amount of re-configuring the browser or re-loading the installer page will make it work.

The fix is fairly simple, just download the latest version of the Sphere Web Client Integration Plugin 6.x, or (at the time of this writing) download from this VMware KB:

Forward and Reverse DNS were not correctly configured for the Broadcast Domain (network) on which VCSA will be installed. If this is the case, you will see the installer fail with this message:

The fix is very simple: Configure DNS correctly with forward and reverse zones and A-records for the VCSA, and all ESXi Hosts/VMs

Connecting to your new vCenter and adding ESXi VMs

This is where VMware would really like you to start using the VMware vSphere Web Client. At this point, however, there is no need, as all of the operations we are going to perform are still fully supported by the VMware vSphere Client for Windows as well!

Open the vSphere Client for Windows and connect to your vCenter

  1. You should use the IP address of your vCenter, as the vSphere Client lives on your PC and the DNS Server you configured earlier will work only for the NAT network on Workstation (in my case, DNS is only for VMs on
  2. The username is on your SSO domain that you specified during the VCSA installation process
  3. The password is what you specified during the VCSA installation process

  1. Install this certificate….

Create a Datacenter object


Add your ESXi VMs. If DNS is working, they should add by hostname!

Choose: Add Host


Input your hostname or IP. I recommend using the hostname because it proves that DNS is working, whereas using the IP proves nothing. The username for this operation is always: root

The SHA1 Thumbprint is visible in the Troubleshooting Options screen of the DCUI. Choose Yes

Click: Next

Click: Next

Click: Next

Click: Next

Click: Finish

Now do the same for esxi2 and esxi3!

This is what your completed home vSphere lab on VMware Workstation Pro looks like!


John Borhek

John Borhek (VCP 3-6) is the IT Director and Lead Solutions Architect at VMsources Group Inc. and an active consultant specializing in VMware vSphere, Linux, Networking and Infrastructure Design.


  1. Hi John;

    from Dubai, this is really nice and to the point. The idea of linux as dns server is great.

    waiting to see your upcoming tutorial

  2. Hi John,

    Thanks a lot for Ubuntu Server as dns server.
    I was trying to figure out how to do this, went through loads of articles around this topic.
    Yours was the best and easiest to follow, thanks a lot 🙂

    All the best

Leave a Reply

Your email address will not be published. Required fields are marked *