The great thing about building labs today is that it is pretty easy to virtualise most components.
Therefore I have set out to build this lab entirely in a VMWare ESXi host.
At first I started out building things in Virtual Box on my laptop, but a Cisco CSR1000v requires 4Gb RAM, so this soon outgrew my laptops resources.
Luckily I have a pretty good VMWare host so it makes so much more sense to use it as I decided that this was going to be a much longer term project than I had first envisaged.
The lab will be built from the ground up during the course of the various labs, this is the link to the final lab topology drawing
My VMWare hosts is spec’d as follows:
Dell Precision T3600
CPU: Intel Xeon E5-1620 @ 3.6GHz (On HCL)
RAM: 32Gb
Storage: 450GB Sata
VMWare: ESXi 6.5.0
This easily allows me to spin up the required VM’s I need for this series of labs (so far 7 CSR1000v routers and at least 5 linux endpoints).
The Cisco routers specify 4Gb RAM, so that is what I have provisioned. When I was running this in Virtual Box I did try to provision less RAM per router, but I suffered significant stability issues.
The VMWare CSR1000v virtual machines run at between 2.4 and 3.4 Gb RAM on average, but then I am not really taxing them in performance terms in this lab.
One of the biggest disappointments I came across during early lab trials, was the stability of ubuntu. Now don’t get me wrong I like ubuntu and have used it as my linux distro of choice for many years. However for some reason it just kept freezing when I used it as my ansible host…However it is fine for the normal lab endpoint machines. Therefore I opted to use Red Hat Enterprise 7 as Red Hat is the custodian for Ansible and also it is possible to use RHEL under a develpoer licensing model
I will create all the VM’s up front, but will introduce them into the lab when required. The VM’s will be created as follows:
(Based upon this topology)
Virtual Machines
ansible host
RedHat1 (RHEL7)
VLAN 10
IP Address - 172.16.10.10/24
Gateway - 172.16.10.254
Site1 - (VLAN 10)
test1@test1 (Ubuntu 17.10)
IP Address - 172.16.10.4/24
Gateway - 172.16.10.254
test10@test10 (Ubuntu 16.04 LTS)
IP Address- 172.16.10.5/24
Gateway - 172.16.10.254
CSR10 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 172.16.10.252/24
HSRP IP Address - 172.16.10.254
GE2 IP Address - 10.10.10.10/24
Lo1 - 1.0.10.1/32
Lo10 - 1.0.10.10/32
Lo100 - 1.0.10.100/32
CSR11 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 172.16.10.253/24
HSRP IP Address - 172.16.10.254
GE2 IP Address - 10.10.10.11/24
Lo1 - 1.0.11.1/32
Lo10 - 1.0.11.10/32
Lo100 - 1.0.11.100/32
Site2 - (VLAN 20)
test2@test2 (Ubuntu 16.04 LTS)
IP Address- 172.16.20.2/24
Gateway - 172.16.20.254
CSR20 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 172.16.20.254/24
GE2 IP Address - 20.20.20.20/24
Lo1 - 1.0.20.1/32
Lo10 - 1.0.20.10/32
Lo100 - 1.0.20.100/32
Site3 - (VLAN 30)
test3@test3 (Ubuntu 16.04 LTS)
IP Address- 172.16.30.3/24
Gateway - 172.16.30.254
CSR30 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 172.16.30.254/24
GE2 IP Address - 30.30.30.30/24
Lo1 - 1.0.30.1/32
Lo10 - 1.0.30.10/32
Lo100 - 1.0.30.100/32
WAN Routers
WAN100 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 10.10.10.254/24
GE2 IP Address - 100.20.0.10/24
GE3 IP Address - 100.30.0.10/24
GE4 IP Address - ###External connection 192.168.150.6/24###
Lo1 - 1.10.0.1/32
Lo10 - 1.10.0.10/32
Lo100 - 1.10.0.100/32
WAN200 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 20.20.20.254/24
GE2 IP Address - 100.20.0.20/24
GE3 IP Address - 200.30.0.20/24
Lo1 - 1.20.0.1/32
Lo10 - 1.20.0.10/32
Lo100 - 1.20.0.100/32
WAN300 (Cisco CSR1000v - IoS 16.03.06)
GE1 IP Address - 30.30.30.254/24
GE2 IP Address - 100.30.0.30/24
GE3 IP Address - 200.30.0.30/24
Lo1 - 1.30.0.1/32
Lo10 - 1.30.0.10/32
Lo100 - 1.30.0.100/32