Breaking things on purpose—01
Welcome to the series of breaking things on purpose, where you will learn some real-world scenario troubleshooting with Capstone. This…
Breaking things on purpose—01

Welcome to the series of breaking things on purpose, where you will learn some real-world scenario troubleshooting with Capstone. This series will be based on Ubuntu OS (terminal only), with no GUI. You will run 3 VMs simultaneously and understand the process of each. You will create, then modify, then break intentionally. On top of that, you will troubleshoot, fix it, and then do the migration. Sounds good? You are free to troubleshoot and modify on your own if you want to build up real skills, which is actually a good process. There is no limitation here. And guess what? Everything you will be doing is in your own machine. There will be no cloud or any other platform where you will need a silly registration and joining fee. It is like bring your own hardware, as simple as that.
What i will need to bring it?
You need to have at least a 4C processor, 500GB of storage, 12GB of RAM, and a good internet connection.
On the software part: VMware, Ubuntu Live server OS version 22 OR 24. If you have Proxmox, you can set it up in Proxmox. Windows machine or Linux machine, whatever is convenient for you doesn’t matter; every step you will be more likely to perform on SSH through your machine terminal.
Why Ubuntu and not Kali or any other? Some of you might have a question. Ubuntu is being used in a wide range of markets. Wide documentation and apt package manager, identical to most cloud VMs. Kali is for offensive security; Ubuntu Server mirrors real sysadmin/SRE targets. Ubuntu has better driver support for lab hardware
What ‘Terminal Only’ means in practice
You install Ubuntu Server—the installer has no desktop, no browser, and no file manager. After install: a black screen with a login prompt. That is the entire interface. All administration is done by typing commands. This is how production Linux servers work. You SSH into each VM from your local machine (or from the Proxmox console). If you want to see a file, use listcat, less, and vim/nano, etc. If you want to monitor, use top, htop, or journalctl.
VM Architecture — Three VMs Total
Three Ubuntu Server 24.04 LTS VMs. No containers for this exercise — pure VMs so every concept is fully transferable.

Network Design
All VMs sit on the default Proxmox/VMware bridge, vmbr0. They will receive IPs from whatever DHCP server is on your network (your router). and set up a static IP during the setup of the Ubuntu installation.

I will show you the setup for both Proxmox and VMware Workstation running on Windows.
Proxmox Setup — Before Creating VMs
Step 1 — Download Ubuntu Server 24.04 LTS ISO
You need to upload the ISO to Proxmox before you can create any VM.
- Go to https://ubuntu.com/download/server — download ubuntu-24.04-live-server-amd64.iso
- In Proxmox web UI → Datacenter → your node → local storage → ISO Images → Upload
- Upload the ISO file—this takes 1–2 minutes depending on your connection
Step 2A—Create lab-primary VM
Repeat this process for all three VMs, adjusting name/RAM/disk per the table above.

- Proxmox UI → Create VM (top right button)
- General tab: Node = your node, VM ID = 201, Name = lab-primary
- OS tab: Select ISO = ubuntu-24.04-live-server-amd64.iso, Type = Linux, Version = 6.x
- System tab: leave all defaults (SeaBIOS, VirtIO SCSI, no EFI)
- Disks tab: Bus = VirtIO, Storage = local-lvm, Disk size = 40 GiB
- CPU tab: Cores = 2, Type = host ← important: ‘host’ passes real CPU features through
- Memory tab: 3072MB — UNCHECK ‘Ballooning Device’ for lab stability
- Network tab: Bridge = vmbr0, Model = VirtIO
- Confirm → Do Not Start Yet
Step 2B—Create lab-primary VM (VMware Workstation)
Launch VMware Workstation: Click File > New Virtual Machine.
Wizard Type: Select Typical (recommended) and click Next.
OS Installation: Select the installer disc image file (ISO) and browse to your ubuntu-24.04-live-server-amd64.iso Click Next.
Personalize: Enter your desired name, username, and password. Click Next.
Name & Location:
Virtual machine name: lab-primary Location: Choose your preferred directory. Click Next.
Disk Capacity:
Maximum disk size (GB): 40 Select "Store virtual disk as a single file" (often better for performance in home labs). Click Next.
Customize Hardware: Before clicking Finish, click the Customize Hardware… button.
Memory: Set to 2048 MB.
Processors: Set number of processor cores to 2. Ensure virtualization of Intel VT-x/EPT or AMD-V/RVI is checked.
Network Adapter: Ensure it is set to Bridged.
Display/USB/Sound: You can remove these for a headless “server-only” profile if desired, but defaults are fine.
Finalize: Click Close and then Finish. Do Not Start Yet: If the VM starts automatically, click the Power Off button in the top toolbar to prepare for any final configuration adjustments.
Step 3 — Ubuntu Server 24.04 Installation (for each VM) [Same for Proxmox and VMware users]
Start the VM → Console tab → follow the installer. Ubuntu 24.04 uses a simple text-based installer called Subiquity. No mouse required.
- Language: English
- Keyboard: your layout
- Network: static IP > Select Network interface > Manual > enter the IP details.
- Storage: Use entire disk — no LVM for lab-primary and lab-monitor. For lab targets: also use entire disk
- Profile setup — use these exact credentials for consistency:

- SSH Setup: CHECK ‘Install OpenSSH server—critical'; this is how you will access the VMs
- Featured snaps: skip all—press Done
- Installation runs 3–5 minutes → Reboot Now → remove the ISO when prompted
Step 4 — Post-Install Baseline (Run on ALL THREE VMs)
SSH into each VM from your local machine or use the Proxmox console. Run these commands on every VM before starting any module.
# First, find each VM’s IP ip addr show
# SSH from your local machine (or Proxmox console) ssh labuser@192.168.1.xxx
# Update and install essential tools
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git vim net-tools rsync openssh-server \ htop, tree, ncdu, ufw, fail2ban, auditd
# Confirm SSH is enabled and running sudo systemctl enable ssh && sudo systemctl status ssh
# Note the hostname to confirm you are on the right machine hostnamectl
Take a Snapshot NOW
Before starting any module: right-click each VM in → Snapshots →
Take Snapshot.
Name it: 'baseline-clean'
This is your restore point. If any module goes badly wrong, revert here
— no reinstall.
Take a new snapshot before EVERY module: 'before-M01', 'before-M02', etc.
Hell yeah, you have all 3 VMs running from a single machine. See, I told you it would be fun and satisfactory. This is the end of part 1. The next part is all about creation and building the environment from zero.
메타데이터
- post_id
- 97df2c1ec4ab
- slug
- breaking-things-on-purpose-01-97df2c1ec4ab
- url
- https://medium.com/@proxyminerin/breaking-things-on-purpose-01-97df2c1ec4ab
- canonical_url
- https://medium.com/@proxyminerin/breaking-things-on-purpose-01-97df2c1ec4ab
- author_url
- https://medium.com/@proxyminerin
- status
- ok
- fetched_at
- 2026-06-27 18:20:27