Workshop Objectives: Train the Trainers II

Proposed Topics

From prior workshop attendees with themes grouped:

  • Making VM gold master and cloning
  • How Ansible works internally
  • Ansible
  • Creating VMs using Ansible
  • Using Ansible commands to create workshop environment
  • Access to NSRC materials
  • Campus network security and NAT
  • Campus Design training
  • Presentations on Cisco network devices, IP addressing, routing, VPN, Campus network design.
  • A lot of exercises for getting experience on setting up labs with dynamips
  • Dynamips; NREN members being able to set up their own Dynamips
  • Learning styles: visual, auditory, kinesthetic
  • Trac

Objectives by Topics

Days 1-2

  1. Write and use a lesson plan
    • write specific objectives
    • design a variety of classroom activities
    • use a variety of methods to evaluate student progress
    • deliver a lesson in accordance with the plan
  1. Plan a course of instruction or complete a pre-planned course following the points in 1.

Day 3

  1. Build a workshop virtualization host using ansible
    • install and partition server
    • describe the relationship between physical volumes, volume groups and logical volumes
    • extend a VG by adding a second PV
    • install ansible
    • locate and unpack the ansible configs
    • configure ansible hosts file and run ansible
  1. Have an understanding of the components of a virtualized training platform, including:
    • list the layers of the solution (OS, libvirt, LXC, bridging utilities, network emulation)
    • explain the purpose of libvirt
    • compare the operation of physical machine emulation and containers (e.g. KVM vs LXC) and list some advantages of each
    • explain why software bridges are required
    • say which commands are used to list libvirt instances (virsh list, virsh list --all)
    • say which command is used to show bridge port membership (brctl show)
    • say which commands are used to start and manage the dynamips emulator (dynamips, dynagen)
    • bring up and test the eth1 / br-wan interface
    • connect to the server using ssh from their laptop
    • connect the access point and network switch
    • associate clients and have them reach the Internet via the host
    • use tcpdump to show client traffic
    • read the DHCP log files
    • locate and edit the configuration files for network interfaces, iptables, DNS, dhcp - for example, be able to configure a static forwarder for the DNS server

4a. In addition students will be able to:

  • list the requirements of local network infrastructure (gateway/NAT, local DNS, local DHCP, wireless access, local webserver for teaching materials)
  • list the requirements of workshop teaching platform (running Linux instances for students, running router/switch instances for students, interconnections, providing student access to those instances)

Day 4

  1. Create an initial virtual machine using KVM
    • Create an initial virtual machine image using python-vmbuilder
    • Create an instance in libvirt from an XML template
    • Start and Stop an initial virtual machine using virsh (libvirt)
  1. Manage a virtual machine
    • rebuild the VM image (optional)
    • Start and stop a VM
    • login to a VM using serial console
    • login to a VM using ssh
    • login to a VM using public / private keys
  1. Clone the initial virtual machine using provided scripts
    • Clone the initial virtual machine using cp/rsync and same XML template
    • Add the virtual machine to libvirt
    • Clone the initial virtual machine using a script which sets the MAC address and adds it to libvirt
  1. Manage virtual machines
    • Start and stop multiple VMs using command line looping
    • make bulk changes to a VM using ssh and command line loops

Day 5

  1. Understand and configure linux network interfaces to prepare for both the CND topology and NMM topology
    • label (or draw from scratch) the new CND topology and/or the current NMM topology
    • describe the lines in /etc/network/interfaces used to create bridge interfaces, create tap interfaces, assign IP addresses, and bring them up automatically on start
    • use brctl and ifconfig to show the status of interfaces
    • use ifup and ifdown to up/down a specific interface
    • edit /etc/network/interfaces to add a new bridge interface
    • edit the ansible configuration and use it to write a new /etc/network/interfaces (possible)
    • explain why a full reboot may be required after changing /etc/network/interfaces
  1. Understand and use the initial NMM and CND topologies, including running through an initial exercise in both environments.
  • Start a screen session, detach from the session and reconnect
  • start dynamips and bind it to a TCP port
  • use dynagen to start a file (implies they have a ready-to-run
  • explain what happens when dynagen is killed
  • leave dynagen running somewhere where it can be reconnected (*)
  • start, stop and reload individual routers
  • import configurations for individual routers and all routers (implies we have ready-to-load configs in a directory or zip bundle)


  1. Obtain materials from the NSRC Git repository:
    • Via the web interface and download a zip bundle of repositories
    • paste their ssh public key in to their profile
    • use git clients (we may be out of time for this) with ssh/http to pull repositories (r/o access)
  1. Learn about proper CND and planning for requested DEAs
    • Draw a diagram with proper network planning - routing at the core, switching at the edges
    • Describe the planning process before attempting DEA at an institution
Last modified 5 years ago Last modified on Nov 5, 2014, 10:12:23 PM