do this yesterday

A UNS200 personal (academic) project. A hands-on SysAdmin, Cisco, CompTIA & AWS learning tutorial to get you started.

📥 Download Lab Scripts

All scripts are included in the labs/ folder. Click to download:

Lab 1 Lab 2 Lab 3 Lab 4

✅ Works offline. Right-click → “Save link as” if auto-download fails.

🧱 Lab 1: Linux Foundations

🎯 Goal: “I can explain and use the top 10 sysadmin commands — blindfolded.”

Essential Commands Cheat Sheet

# System info $ uname -a $ lsb_release -d # Disk & memory $ df -h $ free -h # Processes $ ps aux | grep nginx $ top # File ops $ chmod 644 config.conf $ chown user:group file.txt # Networking $ ip a $ ss -tulpn $ ping -c 4 8.8.8.8 # Logs & troubleshooting $ journalctl -u nginx --since "1 hour ago" $ tail -f /var/log/syslog

🔐 Lab 2: SSH Hardening

🎯 Goal: Secure a server so bots give up in <60 seconds.

/etc/ssh/sshd_config (Key Settings)

# Disable root login PermitRootLogin no # Enforce key-based auth PasswordAuthentication no # Change default port Port 2222 # Limit users AllowUsers alice bob # Intrusion prevention MaxAuthTries 3 LoginGraceTime 30

🤖 Lab 3: Automation Starter

Script: backup-www.sh — backs up web root, rotates, alerts.

#!/bin/bash BACKUP_DIR="/backups" WWW_DIR="/var/www/html" DATE=$(date +%Y%m%d) tar -czf "$BACKUP_DIR/www-$DATE.tar.gz" "$WWW_DIR" find "$BACKUP_DIR" -name "www-*.tar.gz" -mtime +7 -delete if [ $? -ne 0 ]; then echo "Backup failed!" | mail -s "ALERT" admin@example.com fi

📊 Lab 4: System Monitor

Lightweight health snapshot — outputs structured status.

{ "timestamp": "2025-04-05T14:30:00Z", "cpu_load_1m": 0.75, "memory_percent": 68, "disk_root_percent": 42, "services": { "sshd": true, "nginx": true, "cron": true } }

📡 Cisco CCNA & CCNP Labs

Learn routing, switching, and automation — no physical gear required.

Lab A: Basic Router Config (CCNA)

R1> enable R1# configure terminal R1(config)# hostname CORE-R1 CORE-R1(config)# interface Gig0/0 CORE-R1(config-if)# ip address 192.168.1.1 255.255.255.0 CORE-R1(config-if)# no shutdown CORE-R1(config-if)# exit CORE-R1(config)# ip route 10.0.0.0 255.0.0.0 192.168.1.2 CORE-R1(config)# line vty 0 4 CORE-R1(config-line)# transport input ssh CORE-R1(config-line)# login local CORE-R1(config-line)# exit CORE-R1(config)# username admin secret P@ssw0rd CORE-R1(config)# crypto key generate rsa modulus 2048

Lab B: VLAN & Trunking (CCNA)

SW1(config)# vlan 10 SW1(config-vlan)# name SALES SW1(config-vlan)# exit SW1(config)# interface range fa0/1 - 10 SW1(config-if-range)# switchport mode access SW1(config-if-range)# switchport access vlan 10 SW1(config-if-range)# exit SW1(config)# interface Gig0/1 SW1(config-if)# switchport mode trunk SW1(config-if)# switchport trunk allowed vlan 10,20,99

Lab C: OSPF Multi-Area (CCNP)

R1(config)# router ospf 1 R1(config-router)# router-id 1.1.1.1 R1(config-router)# network 10.0.0.0 0.0.0.255 area 0 R1(config-router)# network 192.168.1.0 0.0.0.3 area 0 R2(config)# router ospf 1 R2(config-router)# network 192.168.1.0 0.0.0.3 area 0 R2(config-router)# network 172.16.1.0 0.0.0.255 area 1 R2(config-router)# area 1 range 172.16.0.0 255.255.0.0

💻 CompTIA A+ & Network+

Foundations for all IT roles — hardware, OS, networking, security.

A+ Domain 3.0: Hardware Troubleshooting

No Display? Checklist:

  • ✅ Power cable & outlet
  • ✅ Monitor input source (HDMI/DP)
  • ✅ Reseat RAM & GPU
  • ✅ Listen for beep codes
  • ✅ Test with known-good PSU/motherboard

Network+ Domain 2.0: Subnetting Drill

192.168.50.65/27 →

Network: 192.168.50.64 First Host: 192.168.50.65 Last Host: 192.168.50.94 Broadcast: 192.168.50.95

☁️ AWS Core Services

Cloud architecture & CLI — no account needed.

3-Tier Web App (Text Diagram)

User → [CloudFront] 
       → [ALB] 
         → [EC2 Auto Scaling Group] 
           → [RDS MySQL] 
             → [S3 Backups]
        

AWS CLI Cheat Sheet

# Launch EC2 $ aws ec2 run-instances --image-id ami-... --instance-type t3.micro # List S3 buckets $ aws s3 ls # Tail logs $ aws logs tail "/var/log/syslog" --since 1h

📚 Verified Free Resources

Note: Katacoda.com is closed — use the above instead.

🚀 Your Next Move

This website is is still under construction.
You can copy all this. Extend it. Host it. Share it.