HomeVirtualizationVDIVDI-LAB-2018 - Part 1 - Network design and configuration

VDI-LAB-2018 - Part 1 - Network design and configuration


In this part, we are going to overview the ESXi installation and, draft and design the ESXi network for a VDI deployment. We will add and configure vSwitches, VMkernel adapters, and port groups, for the VM network and Storage network.

This is part 1 out of 12 of the VDI LAB series. Check out the introduction first.

The ultimate VDI deployment guide (from scratch) with VMware vSphere 6.5 and Horizon View 7.3 - 2018. 😉

1. ESXi installation

First things first, Installing ESXi is the essential thing to do but is really easy and there is a lot of good of information on the web. Anyone looking at this guide probably has done this already.

- Advertisement -

For downloading and booting ESXi installer from USB, you can visit this post.

For the installation and initial configuration, follow this great reference here (from CBT Nuggets). This is for a home-lab, but for any physicals server, will also do.

2. Network Design

Before starting any IT solution, even for home-lab, draft your network design first! Knowing the elements to be used is the best start. Elements such as physical and virtual; storage, server, and VM network. Also, visualize the desktop density and configure an IP range capable to cover them all, and leave for extra growth.

As an example, I separate:

  1. Storage Network
    • Management and vMotion
  2. Server and VM network
    • WAN and LAN.
    • Management and VM network (with vMotion)

For this lab, I am using vMotion Network over the same VM network, keep in mind that for a production site this should be separated, otherwise will impact VM performance.

- Advertisement -

I am sizing a DHCP network for over 1,000 hosts, and I exclude the first 100 IP address and reserve them for ESXi servers, Infrastructure, Login VSI launchers and another network elements. The rest of the IP address range will be used for the virtual desktops.

For the lab:

  • IP range: -
  • Mask:
  • Gateway:

The desktops IP range will start at

Also, I’ll be using a virtual router (Pfsense) to provide IP addresses and VPN for remote access to the environments, but the domain controller will be the one providing DHCP and DNS services for all the other network elements and for the provisioning of desktops pools. The router, of course, could be physical, but the idea is to take advantage of virtualization.

For the storage network, use any IP with direct access to the storage to be used. Use two different ranges for each physical adapter.

So, this is MY network design, use it as an example but you should create yours based on your needs and resources. Several things will change for any other solution and not everything here is a must.

Basic network diagram:

Image 01

Full network diagram. If you ever get confused with the VMware network terminology such as physical adapters, VMkernel adapters, and virtual switch… here you have, (you are welcome ), just follow the paths.

Image 02

3. ESXi network configuration

From the Network diagram above, I will be using ESXi-A to start my initial configuration of the whole virtual environment, after a vanilla installation. This is the most important server of my whole environment, this is the one hosting the infrastructures for the LAB, vSphere, Horizon View and Login VSI.

First, access to your ESXi server via the IP address you have previously configure during the installation. By default, ESXi has configured a vSwitch after the installation, with two port groups, Management Network and VM Network. Let’s configure two vSwitch more, one for Internet Network and another for the Storage Network, with two port groups each.

- Advertisement -

3.1 Add a new vSwitch:

  1. Go to Networking / Virtual switches / Add standard virtual switch
Image 03
  1. Name the new vSwitch, select an available Uplink and click add.
Image 04
  1. The new vSwitch will be added.
Image 05

3.2 Add a Port Group to the vSwitch1

  1. Go to Port Groups / Add port group
Image 06
  1. Name the new port group and associated with the vSwitch1. This will the WAN providing internet to all VMs
Image 07

3.3 Add a VMkernel NIC and a new Port Group for Internet access.

  1. Go to VMkernel NICs / Add VMkernel NICs
Image 08
  1. Name a new port group and associated with a vSwitch. Also, configure the IP address that will offer internet to vSwitch1, click Create.
Image 09

3.4 Add vSwitch, VMkernel NICs and Port Groups for Storage

  1. Following previous steps, create a new vSwitch, vSwitch2. Link it with a free physical adapter and select Add uplink for one more.
Image 10
  1. Add a second physical adapter (vmnic) to the vSwitch2, and click save.
Image 11
  1. Add a VMkernel NIC and new port group to the vSwitch2. Configure the desired IP address.
Image 12
  1. Add a second VMkernel NIC and a new port group to the vSwitch2. Configure the desired IP address.
Image 13
  1. Finally, from the virtual switches tab, we’ll have our 3 vSwitches created, and for our configuration, if you click on each of them, we should see:
  • vSwitch0:
Image 14
  • vSwtich1:
Image 15
  • vSwitch2:
Image 16

3.5 Storage NIC teaming

In order to add the storage to iSCSI software adapter (next section), first we need to team storage ports/vmnic.

NOTE: If this step is not properly done, port bindings from iSCSI software adapter will fail to be configured.

NOTE: This section has been updated for ESXi 6.7

  1. From Networking go to Port groups / Edit setting / "Storage1"
Image 17 2
  1. Select NIC teaming. from Override failover order, click Yes.  Select vmnic3 (the port group which is not being edited), click Mark unused and click Save.
Image 18 2
  1. Do the same for the second storage port group. Mark as unused  vmnic2 (for my case).
Image 19 2

3.6 iSCSI Software Adapter configuration

  1. From Storage, go to Adapters / Configure iSCSI
Image 20 2
  1. Enable iSCSI, from Advance settings and click Add port binding.
Image 21 2
  1. Select vmk2/Storage1 and click Select.
Image 22 2
  1. Select and add vmk3 (Storage2)
  2. The two storage groups will be added. Now, Go to Dynamics target and click Add dynamic target, then add IP target from storage.
Image 23 2
  1. Add a second target (if you have it) and click Save configuration.
Image 24 2
  1. The new iSCSI storage adapter is shown now from Adapters, which has been already configured with iSCSI targets.
Image 25 2
Juan Mulford
Juan Mulford
I have been active in IT for over fourteen years now. I am a solutions architect, working with storage, virtualization, and VDI solutions. For the past ten years, I have been living and working in Taiwan.


  1. Hi Juan Mulford

    Nice series what i've looking for building my homelabs.

    Could you please let me know what is your hardware specs using in this lab ? And do you have any advice about the hardware specs need for VDI (small) and for NSX ? For examle: Number of hosts;RAM, NIC per host.

    Thank you in advance.

    • Hi Joe, glad you liked this blog post series.

      I wrote this guide out of a pre-test lab environment for a real project. But for sure, you can use it as a reference for a home lab. Most of the hardware used here was part of a reference architecture (wrote by me) of a small-medium VDI environment, and you can find all the components on it.


      I haven't work with NSX.

      Btw, I am planning a new blog post series about a home lab, but a real and basic home lab, not those mini datacenters found on Reddit. Stay tuned. 😉


  2. Hi Juan Mulford

    Plz check file "https://www.accelstor.com/wp-content/uploads/2018/08/AccelStor_WP18001_P710_VDI-horizon-500_v2.pdf"

    I click your link, but File not found.


Leave a Reply

- Advertisement -

Popular Articles


Raspberry Pi OS in a Virtual Machine with VMware

Although the Raspberry Pi OS is designed and optimized for the Raspberry Pi module, it is possible to test and use it without its hardware, with VMware. This solution can be useful if you are a developer (or just a curious guy) and don't have a Raspberry Pi module with you
Unable to delete inaccessible datastore

Unable to delete an "inaccessible" datastore

I was switching my storage array, so I migrated the VMs from that old datastore/storage to a new datastore/storage. The old datastore was shared by 3 ESXi hosts, no cluster. After migrating the VMs and unmount/delete the datastore, it was still presented in two of the ESXi hosts and was marked as inaccessible.
This is not a valid source path / URL

This is not a valid source path / URL - SourceTree and Gitlab

I have been working on a project with a friend who set up a repository in Gitlab but even though I was able to view all projects on it, I couldn’t really join the repository. I was using SourceTree and Gitlab.

How to export a Virtual Machine using the VMware OVF Tool

The VMware OVF Tool is implemented by VMware for easily importing and exporting virtual machines in Open Virtualization Format (OVF) standard format. Here, I want to show you how to download and install it, and then how to use it from a Windows machine.
Couldn't load private key - Putty key format too new

Couldn't load private key - Putty key format too new

couldn't load private key - Putty key format too new.” This issue happens when you use PuTTygen to generate or convert to a ppk key. Here is how to fix it. 
- Advertisement -

Recent Comments