fbpx Skip to content

How To Build an IT Lab for Free

Design is a funny word Tutorial Overview This tutorial is going to teach you how you can build a free IT lab from scratch on your home computer using open-source software. If you’re currently enrolled in our IT training membership then you will be provided with IT labs that you can run from your web browser….

Tutorial Overview

This tutorial is going to teach you how you can build a free IT lab from scratch on your home computer using open-source software.

 

If you're currently enrolled in our IT training membership then you will be provided with IT labs that you can run from your web browser. This is great because you can run more powerful and complex labs than you could if you were using your home laptop or gaming computer.

 

In the early 2000s the only way you could build an IT lab was to purchase physical servers or re-purpose old computers. While the can be very beneficial as far as IT experience and skills you will learn (I recommend you try if you can afford to do so), it can be much faster simply to build a free virtualized IT lab.

 

Ready to get started? Let's dive in!

Virtualization Overview

So what is virtualization anyway? Basically, the IT term virtualization refers to the practice of emulating (or simulating) a computer. You can use a Virtual Machine to run a computer as an application on your host computer.

 

On the image to the right of this text - the top computer would be the host computer. The host computer is the computer you are using to read this tutorial right now. The three computers below the host are referred to as guest virtual machines.

VMs

Virtual machines act like real computers, but run as a software program. So you can start, restart, shut down, install software and operating systems just like you would on a normal computer.

This makes virtual machines perfect for IT labs and this is why we are going to use them for our virtual IT lab!

Free Virtualization Software

With so many different virtualization software options available, it can be pretty confusing to know which one is the "best" and which one you should use. Let's address this now.

 

There is no "best" virtualization software. There are simply different options - and the ones you should consider will depend on your host operating system.

 

In this tutorial I will be using Oracle VM VirtualBox because it is compatible with both Windows and Linux, but you can use any you want. The steps will nearly be identical so feel free to choose another option if you'd like. Also keep in mind that I am only going to list virtualization software that install like an application and not like an operating system (like ESXI).

 

Windows

Linux

Downloading and Installing VirtualBox

Download Oracle VM VirtualBox by clicking here. Once the download completes, launch the installation.

VirtualBox Install

Proceed through the installation using all of the default options. Any prompts that are a yes/no you need to select "yes'.

VirtualBox Complete

Click Finish and launch VirtualBox.

VirtualBox Dashboard

Creating a Virtual Machine

Now that we know what type of virtual network we want to use it's time to create a VM (Virtual Machine). We can do this by clicking the New button within the VirtualBox Manager.

New

This will launch the new VM window. Go ahead and click the Expert Mode button. Don't worry - it doesn't make the process more difficult it only allows you to create a VM while navigating through less pages.

New-VM

I am going to specify a name of "MyVM" and 2048 MB (2gb) of RAM then I will click Create.

New-Vm2

This will open another window for creating the Virtual Hard Disk. The default options here are all fine except for the File Size. I am going to set my new HDD to 60GB and then choose Create.

New-VM-HDD

Since this HDD is going to be dynamically allocated (option on the middle-right of the screenshot below), the HDD file will only be as large as the amount of data stored on it - and a maximum of 60GB

Now you will see MyVM listed on the VirtualBox dashboard. Before we start the VM we can modify the settings of the VM if we want. Generally you might want to assign more processors, change the networking adapters and mount an ISO.

VM Settings

Increasing the processor CPUs can greatly improve the performance of your VM, so if at all possible increase the number of CPUs to 2.

Pro tip: Storing the VM's hard disk file on an SSD will also significantly increase the VMs performance.

CPUs

And that is all we need to do to create the VM. Of course we can't start the VM yet because we haven't downloaded or attached an operating system ISO... But we will cover that in the next section.

Creating a Virtual Network with VirtualBox

Virtual Networks allow you to connect your VMs to whatever you want. There are several different types of networks you can create with VirtualBox and the one you chose will depend on your requirements.

 

Keep in mind that you won't be able to access all of these network types if you haven't created a VM because some of them are configured from within the VM settings.

 

Here is an overview of the different network types you could create:

VirtualBox VM Adapter Types

NAT

This network type allows your VMs to use the internet connectivity of the host computer. You will have no connectivity to other VMs or the host computer. Use this type if your lab will only have one VM.

 

Using NAT is as simple as right-clicking your VM and selecting Settings then navigating to the Network tab (image above)

NAT Network

This network is the same as NAT, but it allows your VMs to communicate to other VMs that are attached to the same NAT network. Use this when your labs use multiple VMs and need internet connectivity.

 

You can create a NAT Network by clicking on File > Preferences. Select the Network tab and then click the plus button to create a new NAT Network.

NAT Network

Bridged Adapter

Using this network type will cause your router to treat your VM as a physical computer. This means your VM will be connected to the same network as your host computer. Use this lab when you need to access your VMs from your host network.

Using a bridged adapter is as simple as right-clicking your VM and selecting Settings then navigating to the Network tab (image above)

Internal Network

This network provides your VMs with connectivity but no external access. Use this when you want to create an isolated IT lab.

Using an Internal Network is as simple as right-clicking your VM and selecting Settings then navigating to the Network tab (image above)

Host-only Adapter

This is essentially the same as an internal network, except that your host computer will have a direct IP connection to the VM. Meaning you can RDP, SSH or ping the VMs from the host computer. Use this network type when you will need direct access to the VMs from your host computer. It is commonly used for test web servers (think copying files from the host computer to the VM web server, or directly editing the code on the web server VM from your host computer.

 

You can create a host-only network by select File > Host Network Manager

Host Only Network Adapters

Generic Driver

Oracles documentation for the generic driver states:

The generic driver attachment is special and cannot be considered as an alternative to other attachment types.

Not too helpful... but if you want to try it out you can select the generic driver from the network tab of the VM Settings.

I am going to use a NAT Network since this will allow me to connect my VMs to each other and the internet. First I will select File > Preferences, then navigate to the Network tab. Next I will click the plus button (circled in the image above).

This will create a new NAT Network. If I want to modify the subnet, disable DHCP or support IPv6 I can do this by double-clicking the NAT Network.

NAT Network 2

I am going to leave all of these options at default... so I am done creating the Virtual Network!

Configure the Networking tab for your chosen network type. Again, the easiest solution is to create and use a NAT Network (detailed in the network section)

VM-Network

Downloading Your operating systems ISO(s)

Next we need an operating system (OS) to install on our Virtual Machines. You could do this with a physical disc if you wanted, but most of the time you will want to download an ISO for OS installations.

 

The easiest way to find what you're looking for is to simply google the name of your operating system with "ISO download" in the search.  For example if you want Windows Server 2016, just search "Windows Server 2016 ISO Download".

You should ONLY download ISOs from official websites. This means you shouldn't download Windows Server from a website like "sneakyfreecdkeys.com"...

I will still provide links to the most common operating systems that people want to install below. Keep in mind if the link is dead you can just run a quick google search and easily find the download.

Installing an OS on Your Lab VMs

Once you have downloaded your ISO file, it's time to mount it to your VM in VirtualBox. Mounting a VM is essentially like virtually inserting a disc into a DVD drive of a computer.

 

Right click on your VM and select settings then open the Storage tab. From there click the Empty disc icon, then again the disc icon under Attributes on the right hand side of the window. Click the Choose Virtual Optical Disk File... and browse to and open your desired ISO.

Attach an ISO

Click OK and now when we launch the VM you will be able to begin your OS installation.

I mounted a Windows Server 2016 ISO so when I launch the VM I will see the installation screen for this OS.

Windows Server 2016 Install 2

Now you can run through your OS installation and complete your lab setup.

Wrapping it Up...

That's it! Now you can  create some awesome IT labs and get more IT experience!

 

If you want to sharpen your IT skills to start or advance yoru IT career then you should definitely consider enrolling in our training membership program.

 

We offer training on all of the following:

  • Windows Server (2012 - 2019)
  • Active Directory
  • Group Policy
  • DNS
  • DHCP
  • Windows Server Update Services
  • PowerShell Scripting and Automation
  • SCCM
  • ...and MORE!

 

You can find more information by clicking here.