Cisco/Juniper Lab Using VMware ESXi


The best way to learn something is always to actually do so that is why this tutorial is dedicated to getting yourself set up with a lab environment to start learning.  This has many benefits outside of just setting up a Cisco or Juniper lab in that you can learn other things such as systems administration (installing virtual machines such as Windows, Linux, etc.) and how to administer and setup VMware vSphere (optionally vCenter as well).

Before we move on I know others out there will argue against this and mention Cisco’s Virtual Internet Routing Lab (VIRL) or GNS3.  While those products are perfectly acceptable alternatives to my setup, I prefer this way since I like to have my hardware and be able to integrate nearly anything additional that may not be supported in the previously mentioned products (I am currently messing around with WAN optimization using Riverbed).  With that out of the way, let’s get into it!

Hardware and Software

If you are going to go the same route as I have, you are going to need a higher spec than normal system (or systems) do this.  The reason is that not only will you need a certain amount of resources for the overall system (and the host system being VMware vSphere), when you start building your lab with Cisco and Juniper virtual machines, they require a certain amount of CPU and RAM to operate each virtual machine.  For example, here are the basic requirements for the Cisco Cloud Services Router (CSR) 1000v and the Juniper vSRX (which I use in my lab):

  • Cisco CSR1000v (note these can change across releases):
    • 4 virtual CPUs
    • 4 GB RAM
    • 8 GB Hard Drive
  • Juniper vSRX (note these can change across releases):
    • 2 virtual CPUs
    • 4 GB RAM
    • 16 GB Hard Drive

In addition to these individual requirements, both platforms require a minimum of version 5.1 for VMware ESXi which leads me into my next point.  You will be using this lab a lot if you set it up right so you may benefit from purchasing a membership to the VMware User Group Advantage program.  This program is great in that you purchase a yearly membership of $200 and it gives you access to a years license for the two products I will be describing here (vSphere and vCenter) plus a few others that you may be able to utilize if you have the additional equipment and infrastructure.

Now, to support not only the host systems (VMware ESXi) and the guest systems (CSR1000v/vSRX), I needed to have hardware that could easily support the size of lab I want (more on this later), the host system plus a bit extra.  So I built two individual systems that each serve a different purpose.  The first system’s, which is the system that will host all my CSR1000v’s and vSRX’s in addition to a few network services virtual machines:

  • ASUS Sabertooth 990FX R2.0 AM3+ AMD 990FX + SB950 8 x SATA 6Gb/s USB 3.0 ATX AMD Motherboard with UEFI BIOS
  • 2x G.SKILL Ripjaws X Series 16GB (2 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory Model F3-1600C9D-16GXM
  • 2x WD Blue 1TB Desktop Hard Disk Drive – 7200 RPM SATA 6 Gb/s 64MB Cache 3.5 Inch – WD10EZEX – OEM

As you can see, to support all the virtual machines that I need for each lab, I have placed 32 GB RAM along with a 1 TB RAID1 disk array.  This gives me more than enough to run my lab although not all at the same time.  If you want to create a large scale lab, you may want to look into getting multiple systems like this built and set up your VMware network in such a way that allows the VMs to talk to each other or spend the money to invest in a very high-end server system (although price, power usage and noise may rule this possibility out).  Next, I have my network services system which runs various network services (more on this later) which includes my vCenter virtual appliance:

  • ASUS M5A97 LE R2.0 AM3+ AMD 970 + SB950 6 x SATA 6Gb/s port(s), gray USB 3.0 ATX AMD Motherboard with UEFI BIOS
  • 2x G.SKILL Ripjaws Series 8GB (2 x 4GB) 240-Pin DDR3 SDRAM DDR3 1333 (PC3 10666) Desktop Memory Model F3-10666CL7D-
  • 2x WD Blue 1TB Desktop Hard Disk Drive – 7200 RPM SATA 6 Gb/s 64MB Cache 3.5 Inch – WD10EZEX – OEM

Although only have of the previous system with regards to the amount of RAM, it still clocks in at 16 GB RAM.  This is because vCenter alone requires 8 GB RAM to run so to run the other network services, I don’t need much more but I still need some.  The reason I don’t need a lot is that I run Linux virtual machines to provide the network services and they aren’t heavily utilized so I can keep the CPU and RAM per virtual machine very low.

The other thing with the VMware ESXi systems is that they require Intel NICs (unless you want to hack the ISO installation to support non-Intel NICs).  I just have a simple two-port, 1 Gbps Intel NIC that I use for both systems which are more than good enough for my lab.

Initial Setup and Configuration

This section will be quick since I am going to assume you have experience building systems from scratch and installing various operating systems.  So, once you have your system built and ready to go, you can install the host system (for my current lab setup, I am using VMware vSphere 6.0 on both systems).  Once you install vSphere 6.0 and it boots up, you will be presented with a page to configure the systems basic settings which looks like this:

The initial setup screen for ESXi
The initial setup screen for ESXi

What you want to do from here is determine which port on your NIC is going to be used as management and which port will be used for the virtual machines.  I highly suggest that you do it this way so you don’t accidentally knock yourself out of your ESXi host if you change something you shouldn’t.  For example, I use vmnic0 as my virtual machine NIC and vmnic1 as my management NIC.

Once you know which one will be your management NIC, simple go into the configure management network and set the various options such as IPv4/IPv6 addressing, subnet mask, gateway, and DNS options.  If you have done all this correct and are able to ping your management interface, you will be able to download the vSphere Windows Client (unfortunately there is no Linux/MAC equivalent download yet):

vSphere Client Download Page
vSphere Client Download Page


Now that you are able to get to your vSphere server and download the client, the next tutorial will focus on configuring your lab network.  Although you can configure your lab in any way you wish, I am going to show you how mine is setup so that you can quickly get into setting your Cisco/Juniper lab to access later.

Leave a Reply

Your email address will not be published.