Backgroound Image

ThousandEyes Walkthrough Part 2 – Lab build

This post will go over getting a ThousandEyes lab built out. To see all the posts in this series expand the box below.

ThousandEyes Walkthrough Table of Contents

There are some behind-the-scenes posts that go into more detail on how and why I took the approach that I did. Those can be found here:

Lab Build

Topology

I’ve built out this lab using VMware Workstation and Cisco Modeling Labs to simulate a network for ThousandEyes to monitor.

The lab is broken down into four types of sites, Client, ISP, Public, and External.  There are two Client sites, each consisting of two routers and two Ubuntu instances.  The routers are running BGP, and have SNMP enabled.  The first Ubuntu instance is only running a ThousandEyes agent, and the other instance is running a ThousandEyes agent and an Apache webserver.

The ISP networks are routers running BGP interconnecting all the other sites.  I have SNMP enabled on them just to show what ThousandEyes can do with SNMP monitoring.  Normally isn’t going to be accessible on ISP devices.

The Public zone is also running BGP and has an Ubuntu instance that is running DNS for the entire CML.LAB network.

The External site is used to bridge the lab environment to the network outside CML.  It has a static route out to the LAN gateway that is redistributed into BGP, and a static IP assigned on the LAN.  For traffic leaving the LAN, it has NAT configured.  This should reduce the configuration needs on the LAN side.  A static route can be added to the LAN gateway to send traffic to the External router, or static routes can be added to the individual devices that will connect to the lab network.

In addition to the CML lab, three additional devices will be deployed, an Ubuntu Server running Docker for ThousandEyes Enterprise Agents, a Windows 10 VM running the ThousandEyes Endpoint Agent, and a Raspberry Pi running the ThousandEyes Enterprise Agent.

This table breaks down the resources assigned to each node and the total amount of resources.  The CML VM will need to have enough assigned to it to allow the nodes inside it to run.


The Windows and Ubuntu Docker nodes will sit outside CML, as VMs in VMware Workstation.  There will also be a Raspberry Pi added to the environment.

Installation Prerequisites

Installation Process

The easiest way to get the lab up and running is to import a YAML file.  This file contains everything you need to get started, but some updates may be required.  The lab is configured for internet access, and there is a static IP and gateway assigned.  The LAN addressing might need to be updated to match your environment.

If you choose not to use the YAML import you can find the relevant node configurations in the YAML and then create and configure the nodes accordingly.
Expand each of the following sections for steps on how to build out the lab.

The YAML file can be downloaded from GitHub here: https://github.com/mytechgnome/CML-TE-Lab/blob/main/TE.yaml

Create a YAML file with this – Click to expand



Import YAML into CML – Click to expand

To import this into CML follow these steps:

  1. Copy the above YAML data into a new file
  2. Save the file as TE-Lab.yaml
  3. Log in to CML
  4. From the Dashboard Click Import
  5. Click in the File(s) to import area
  6. Browse to the location the YAML file was saved and select it
  7. Click Import
  8. It should import the lab successfully. Click the Go To Lab button

The entire simulation can be started at once, or the individual nodes can be started.  If they are being started manually start with the external connection, and work through all the routers first.  Then move on to PS3-1.  This node will take a few minutes to complete.  The remaining CS nodes can be started after PS3-1 completes its startup.

Credentials

Routers do not have a username or password to log in.  There is no enable password.
Ubuntu nodes: cisco/cisco

Verification tasks


Routers

  • show ip route
    • The route table should be populated, including a default route
  • ping 8.8.8.8
    • Should receive replies
    • If this fails verify the configuration of Gi0/0 matches the LAN requirements, and the CML VM NIC is configured for bridged access

PS3-1

  • systemctl status bind9
    • Should display active.  If this fails verify internet connectivity and then run these commands:
    • sudo apt-get update
    • sudo apt install install -o Dpkg::Options::=”–force-confold” bind9 -y
  • ping cisco.com
    • Should receive replies

CS1-2 and CS2-2

  • systemctl status apache2
    • Should display active.  If this fails verify internet connectivity and then run these commands:
    • sudo apt-get update
    • sudo apt install apache2
  • ping cisco.com
    • Should receive replies


Ubuntu Docker Host Deployment – Click to expand

  1. Open VMware Workstation and create a new VM by pressing Ctrl + N
  2. When the New Virtual Machine Wizard opens click Next
  3. Select the option for Installer disk image file (iso)
    1. Browse to the location of the Ubuntu Server ISO and click Next
  4. Enter a username and password, then click Next
  5. Enter a name for the VM, and verify the path, then click Next
  6. Set the virtual hard drive to 30GB, then click Next
  7. Click Customize Hardware
  8. Select the Network Adapter, change the Network Connection to Bridged, then click Close
  9. Click Finish
  10. Wait for the OS installation process to start
  11. Select your language and press Enter twice to select and confirm
  12. Use the arrow keys to select the NIC and press Enter
  13. Highlight Edit IPv4 and press Enter
  14. Press Enter to change the address assignment method and select Manual
  15. Use the arrow keys to move between fields filling out the IP address info, and then go to Save and press Enter when complete
    1. The default DNS server for the lab is 10.133.100.10, and the search domain is cml.lab
  16. Highlight Done, and press Enter
  17. Press Enter again to skip the Proxy config
  18. Press Enter again to use the default mirror location
  19. Use the arrow keys to highlight Done and press Enter to accept the default storage config
  20. Press Enter again to accept the file system config
  21. Highlight Continue and press Enter to confirm the storage settings
  22. Use the arrow keys to move between fields, fill out the Profile info, and then go to Done and press Enter when complete
  23. Press Enter again to skip Ubuntu Advantage
  24. Press Enter to enable SSH access, then highlight Done and press Enter
  25. Use the arrow keys to go down to highlight Done, and press Enter
  26. Wait for the installation to complete
  27. When the installation finishes highlight Reboot Now and press Enter
  28. When the server is back up log in
  29. Run the following commands to install Docker

sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y


Windows 10 Endpoint Deployment – Click to expand

Create the Windows VM

  1. In VMware Workstation press CTRL+N to open the New Virtual Machine Wizard, and make sure Typical is selected, then click Next
  2. Select the option for Installer Disc Image File, and browse to the location you downloaded the Windows 10 ISO to then click Next
  3. Enter the name for the client and select the location
  4. Use the default hard drive size of 60GB (another drive will be added later for the iSCSI target storage), and click Next
  5. Click Customize Hardware
  6. Adjust the CPU and RAM as needed for your environment (2 vCPUs 4-8GB RAM would be recommended), and change the Network Adapter from NAT to Bridged
  7. Click close, verify the box is checked for “Power on this virtual machine after creation” and click finish.

Deploy the Windows OS


NOTE: While in the VM you will need to press Ctrl+Alt to release the cursor to get to your desktop

  1. >While the VM is booting you might see a prompt to press a key to boot from CD.  If that happens click into the window and press a key.
  2. Select the language, and keyboard settings
  3. Click Install Now
  4. On the Activate Windows screen click “I don’t have a product key”
  5. Select Windows 10 Pro and click Next
  6. Read through all of the licenses terms, and if you accept the terms check the box to accept them and click Next
  7. Select the Custom install option
  8. By default, it should already select Drive 0, which is the 60GB drive initially created.  Click next.  The OS install will start, so just let that process run.

OS Initial Config


Windows 10 has several steps to go through to get the OS configured before actually loading to a desktop.

  1. Select your regions and Click Yes
  2. Select your keyboard layout
  3. Skip adding the additional keyboard
  4. Wait a moment for it to progress to the account creation screen, then select “Set up for personal use” and click Next
  5. Microsoft is going to try to link to an online account, but since this is for a temporary lab PC click on “Offline account” in the bottom left.
  6. Microsoft really tries to push the online account, so again look in the bottom left corner and select “Limited experience”
  7. Enter a username and click Next
  8. Create a password and click Next
    1. The next screen will ask to confirm the password.  Reenter the password and click Next
  9. When prompted for the three security questions I just select the first three options and enter random characters.  This is a lab, and if I happen to forget the password I can easily recreate the VM.  Click Next
    1. Repeat the process for the other two questions.
  10. For the privacy settings, this really doesn’t matter, as it’s a lab machine that won’t exist for long.  Everything can be left enabled by default, or it can be disabled.  After applying the settings click Accept.
  11. On the Customize Experience page just click Skip
  12. Cortana… Microsoft really wants people to enable all their stuff.  Click “Not now” to move on.
  13. Success! The post-install prompts are done.  Now, wait for the configuration to complete.

Client OS config


To configure the OS there are only two tasks that are going to be performed.

  • Install VMware Tools
  • Configure DNS

Install VMware Tools

  1. Log into the VM using the password set previously
  2. Right-click on the VM in the Library and select Install VMware Tools
  3. Autorun should prompt to run, but if not then navigate to the D: drive and double click it.  That should kick off the Autorun for the installer.
  4. Follow the defaults for the installation.  Next > Next > Install > Finish and then click Yes when prompted for a reboot.

Configure DNS

  1. Open Powershell as admin
    1. Press the Windows key and type powershell
    2. Press Crtl+Shift+Enter to run as admin
  2. Run these commands:

Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -ServerAddresses 10.133.100.10

Set-DnsClientGlobalSetting -SuffixSearchList cml.lab

There’s a lot to the lab build, but hopefully, it went smoothly.  If there were any issues you can add a comment to this post, or reach me on Twitter @Ipswitch.
As the lab build-out continues I may need to come back and edit the configuration here.  

CHANGELOG

v1.1
  • CML Lab YAML data
    • Corrected IR2-2 Gi0/0 IP configuration and BGP peering
    • Corrected IP assignment on PR3-2 – config was moved from Gi0/3 to Gi0/4
    • Added loopback interfaces to all routers (will be used for SNMP connections)
    • Updated DNS records to use loopback addresses
  • Lab config

What’s Next?

The next entry in this series will cover getting the ThousandEyes agent deployed into the lab, and getting things ready to start building tests and collecting data.

vSphere Lab Build Out – The Domain Controller Configuration

For the Domain Controller build the entire process is much easier and quicker when working from PowerShell instead of the GUI.  It also makes it more repeatable, which is awesome for labs.

The first steps are the basic config of the server.  Below is each command needed, with the variables in red.  Change what you need, then paste the commands into PowerShell.

Set the computer name: 

Rename-Computer LabDC

Enable Remote Desktop access (optional)

Enable-NetFirewallRule -DisplayGroup “Remote Desktop”

Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’ -name “fDenyTSConnections” -value 0 

Disable DHCP, set the IP address, DNS, and default route:

Set-NetIPInterface -InterfaceAlias Ethernet0 -AddressFamily IPv4 -Dhcp Disabled 

New-NetIPAddress -InterfaceAlias Ethernet0 -AddressFamily IPv4 -IPAddress 192.168.1.210 -PrefixLength 24 

Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -AddressFamily IPv4 -ServerAddresses 8.8.8.8 

New-NetRoute -AddressFamily IPv4 -InterfaceAlias Ethernet0 -DestinationPrefix 0.0.0.0/0 -NextHop 192.168.1.1

Install the AD, DNS, iSCSI, and Remote Server Admin Tools.
Install-WindowsFeature -name AD-Domain-Services,DNS,FS-iSCSITarget-Server,RSAT-ADDS

Reboot to apply the name change:

shutdown -r -t 0

Log into the server again, and create the domain:

Install-ADDSForest -DomainName Lab.local -InstallDNS

When prompted for the AD Restore Mode password enter the password, and then confirm it.  After that, accept the prompt by pressing the “A” key and hitting Enter.  Wait, while the new domain is configured.  When the process completes the server will automatically reboot.

The final task will be getting DNS configured with a reverse DNS zone, and records created for the various devices that will be deployed.

Add-DnsServerPrimaryZone -NetworkID “192.168.1.0/24” -ReplicationScope “Forest” 

Add-DnsServerResourceRecordA -Name “ESX1” -ZoneName “Lab.local” -IPv4Address “192.168.1.211” -CreatePtr 

Add-DnsServerResourceRecordA -Name “ESX2” -ZoneName “Lab.local” -IPv4Address “192.168.1.212” -CreatePtr 

Add-DnsServerResourceRecordA -Name “vCenter” -ZoneName “Lab.local” -IPv4Address “192.168.1.213” -CreatePtr 

Add-DnsServerResourceRecordA -Name “vRO” -ZoneName “Lab.local” -IPv4Address “192.168.1.214” -CreatePtr 

Add-DnsServerResourceRecordA -Name “vLCM” -ZoneName “Lab.local” -IPv4Address “192.168.1.215” -CreatePtr

That concludes the initial DC config for the environment.

vSphere Lab Build Out – The Client PC Peployment and Config

In the VMware lab it’s nice to have a client OS to work from.  This client can be joined to the domain, and pointed to the lab DNS, which streamlines some of the config tasks. 

Get the Win10 ISO

This process is a little more involved, and it requires the use of the Media Creation Tool.  You can get that here: https://www.microsoft.com/en-us/software-download/windows10

  1. After the download completes run the tool
  2. Click Accept (after you read the full terms and conditions of course)
  3. Select “Create installation media…” and click Next
  4. Verify the options say English, Windows 10, and 64-bit
    1. If not, uncheck the box and select those options and click Next
    2. If so, click Next
  5. Select ISO file and click Next
  6. Select your download location and click Save.
The downloads might take some time to complete.

Create the Client VM

  1. In VMware Workstation press CTRL+N to open the New Virtual Machine Wizard, and make sure Typical is selected, then click Next
  2. Select the option for Installer Disc Image File, and browse to the location you downloaded the Windows 10 ISO to then click Next
  3. Enter the name for the client and select the location
  4. Use the default hard drive size of 60GB (another drive will be added later for the iSCSI target storage), and click Next
  5. Click Customize Hardware
  6. Adjust the CPU and RAM as needed for your environment (2 vCPUs 4-8GB RAM would be recommended), and change the Network Adapter from NAT to Bridged
  7. Click close, verify the box is checked for “Power on this virtual machine after creation” and click finish.

Deploy the Client OS

NOTE: While in the VM you will need to press Ctrl+Alt to release the cursor to get to your desktop
  1. While the VM is booting you might see a prompt to press a key to boot from CD.  If that happens click into the window and press a key.
  2. Select the language, and keyboard settings
  3. Click Install Now
  4. At the Activate Windows screen click “I don’t have a product key”
  5. Select Windows 10 Pro and click Next
  6. Read through all of the licenses terms, and if you accept the terms check the box to accept them and click Next
  7. Select the Custom install option
  8. By default it should already select Drive 0, which is the 60GB drive initially created.  Click next.  The OS install will start, so just let that process run.

OS Initial Config

Windows 10 has a number of steps to go through to get the OS configured before actually loading to a desktop.
  1. Select your regions and Click Yes
  2. Select your keyboard layout
  3. Skip adding the additional keyboard
  4. Wait a moment for it to progress to the account creation screen, then select “Set up for personal use” and click Next
  5. Microsoft is going to try to link to an online account, but since this is for a temporary lab PC click on “Offline account” in the bottom left.
  6. Microsoft really tries to push the online account, so again look in the bottom left corner and select “Limited experience”
  7. Enter a username and click Next
  8. Create a password and click Next
    1. The next screen will ask to confirm the password.  Reenter the password and click Next
  9. When prompted for the three security questions I just select the first three options and enter random characters.  This is lab, and if I happen to forget the password I can easily recreate the VM.  Click Next
    1. Repeat the process for the other two questions.
  10. For the privacy settings this really doesn’t matter, as it’s a lab machine that won’t exist for long.  Everything can be left enabled by default, or it can be disabled.  After applying the settings click Accept.
  11. The install will prompt to enable activity history.  Again, as a lab machine this isn’t needed, so select No.
  12. Cortana… Microsoft really wants people to enable all their stuff.  Click “Not now” to move on.
  13. Success! The post-install prompts are done.  Now wait for the configuration to complete.

Client OS config

To configure the OS there’s only three tasks that are going to be performed.  
  • Install VMware Tools
  • Configure DNS
  • Join the domain

Install VMware Tools

    1. Log into the VM using the password set previously
    2. Right click on the VM in the Library an select Install VMware Tools
    3. Navigate to the D: drive and double click it.  That should kick off the Autorun for the installer.
    4. Follow the defaults for the install.  Next > Next > Install > Finish and then click Yes when prompted for a reboot.
Configure DNS
  1. Open Powershell as admin
    1. Press the Windows key and type powershell
    2. Press Crtl+Shift+Enter to run as admin
  2. Run this command (replace the IP in red if needed):
Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -ServerAddresses 192.168.1.210

Join the domain
  1. Open Powershell as admin
    1. Press the Windows key and type powershell
    2. Press Crtl+Shift+Enter to run as admin
  2. Run this command (replace the IP in red if needed), and enter the password when prompted
Add-Computer -Credential labadministrator -DomainName lab.local -Force -Restart

This completed the Client PC configuration for the lab.

vSphere Lab Build Out – The Domain Controller Deployment

When building out a lab the first thing I do is build out a Domain Controller and DNS server. I can then use AD for credential management, and the DNS functionality is helpful as well.  I also use that server to create an iSCSI target for my hosts.

1. Virtual Environment

The first step is to have your virtualization environment ready to go.  It’s easy enough to next-next-finish your way through the VMware Workstation install, so I won’t detail out those steps.

2. Download Windows ISOs

You can download the Server 2019 ISO here: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019

Select ISO, fill out the info required, and then hit continue.  Select your language, and then start the download.

3. Create the Lab Domain Controller VM

  1. In VMware Workstation press CTRL+N to open the New Virtual Machine Wizard, and make sure Typical is selected, then click Next
  2. Select the option for Installer Disc Image File, and browse to the location you downloaded the Server 2019 ISO to then click Next
  3. Since this will be using the evaluation license leave the product key blank, enter a name and password, and then click Next.
  4. Accept the prompt about not having a product key
  5. Enter the name and location for the VM, and click Next again
  6. Use the default hard drive size of 60GB (another drive will be added later for the iSCSI target storage), and click Next
  7. Click Customize Hardware…
  8. Set the VM hardware
    1. Set the CPU and RAM to what you’d like.  I used 2 vCPUs and 8GB RAM on my VM.
    2. Change the Network Adapter to Bridged
    3. Click Close
  9. Uncheck the box for Power on this virtual machine after creation and click finish.
  10. Now to add a the hard drive for the iSCSI target and remove the floppy drive.  In the library view right-click on the VM and click Settings
    1. Find the Floppy drive and click Remove (NOTE: If you don’t remove the floppy drive the OS install will encounter an error and fail), then click Add
      1. Select Hard Drive and click Next
      2. Leave the default drive (mine happens to be NVMe) and click Next
      3. Leave the default option to create a new drive and click Next
      4. Enter the size for the drive (I used 750GB) and click Next
      5. Leave the default file name and click Finish
    2. Click OK to finish the hardware changes
  11. Power on the VM

4. Install the OS to the Lab DC

NOTE: While in the VM you will need to press Ctrl+Alt to release the cursor to get to your desktop
  1. While the VM is booting you might see a prompt to press a key to boot from CD.  If that happens click into the window and press a key.
  2. Select the language, and keyboard settings
  3. Click Install Now
  4. When prompted to select the OS choose Windows Server 2019 Datacenter Evaluation (Desktop Experience) because we like graphical interfaces, and click Next
  5. Read through all of the licenses terms, and if you accept the terms check the box to accept them and click Next
  6. Select the Custom install option
  7. Select Drive 0, this should be the 60GB drive, and click Next
  8. Wait for the install to complete.  This might take some time.
  9. When the install is complete it will prompt for a password.  Set that and click Finish.
  10. The last thing to do for the VM deployment is to install VMware Tools.
    1. Log into the VM using the password set previously
    2. Right click on the VM in the Library an select Install VMware Tools
    3. Navigate to the D: drive and double click it.  That should kick off the Autorun for the installer.
    4. Follow the defaults for the install.  Next > Next > Install > Finish and then click Yes when prompted for a reboot.
The DC configuration will be detailed out in another posting in this series.