Here is the training that we like our fledgling baby Crafty Penguins go through. This gives solid exposure to Linux, Networking, and Development concepts required to fill a DevOps or SRE (Site Reliability Engineering) role.
Run through http://www.linuxfromscratch.org/lfs/ book to build a Linux system from scratch.
Setup GNS3 simulator with:
Cisco IOS switch
VLANs. One VLAN for WAN upstream internet access (assume DHCP client), one for internal server LAN (192.168.71.0/24), and one for VoIP devices (192.168.72.0/24)
Debian 9 bare-bones server to host DHCP server and DNS resolver
Web server with WordPress
Sophos XG Firewall (Home edition is free)
OSPF to advertise unique /32 loopback IPs of all hosts and firewalls to each other. Use Quagga on the LFS server and Bird on the WordPress server.
Setup a Proxmox VE hypervisor with software RAID1 configuration. This could be in a virtual machine.
On the LFS server, setup Postfix that actually works using real domain. Setup summer vacation autoreply on santa@ mailbox.
Create a simple Django web app that handles hardware inventory for any physical or virtual device such as servers, workstations, firewalls, access points, virtual machines, etc. In the model, also handle properties of each device such as memory, cpu, disk space, network interface, OS name, OS version. Expose an API so that other applications can create/update entries in the database.
SaltStack recipe that manages the /etc/resolv.conf file on each Linux system, and registers the data of each system in the Django app using it’s API.
Selenium test suite for the Django app to test that login and device search works.
Make sure the above all starts automatically after a reboot.
Documentation for the above. The focus of documentation is to help a colleague support what you setup, as well as your “future you” who has forgotten who it’s been setup.
Network diagram for the above.
Photo by Ian Parker on Unsplash