Background
HOME / IT / PROXMOX-LAB-SETUP

Installing Proxmox on a Laptop and Building a Cybersecurity Lab

Complete guide to setting up Proxmox VE on a laptop and building a comprehensive cybersecurity lab environment for learning and testing

rnrran's profile picture
rnrran
Jan 15, 202530 min read
rnrran's avatar

Written by

rnrran

Feature added soon

Installing Proxmox on a Laptop and Building a Cybersecurity Lab

Introduction

You do not have to use an old laptop. That was just the premise of this project. You can use any hardware at your disposal and follow this guide with success. It is a huge project that encompasses setting up a security lab in Proxmox and contains both attack and detection setups.

This comprehensive guide will walk you through installing Proxmox Virtual Environment (Proxmox VE) on a laptop and configuring it to host a complete cybersecurity lab environment. Whether you're learning penetration testing, defensive security, or network security, this lab will provide you with a safe, isolated environment to practice.

Prerequisites

Hardware Requirements

  • Laptop/Desktop: Any modern system with virtualization support (Intel VT-x or AMD-V)
  • RAM: Minimum 16GB (32GB+ recommended for multiple VMs)
  • Storage: At least 100GB free space (SSD recommended)
  • CPU: Multi-core processor (4+ cores ideal)
  • Network: Ethernet connection (WiFi can work but wired is preferred)

Software Requirements

  • Proxmox VE ISO image (latest version)
  • USB drive (8GB+)
  • Rufus or similar tool for creating bootable USB

Part 1: Installing Proxmox VE

Step 1: Download Proxmox VE

  1. Visit the Proxmox VE download page
  2. Download the latest ISO image (approximately 1GB)
  3. Verify the checksum to ensure file integrity

Step 2: Create Bootable USB

On Windows (using Rufus):

  1. Download and install Rufus
  2. Insert your USB drive
  3. Select the Proxmox ISO file
  4. Choose GPT partition scheme and UEFI target
  5. Click "Start" and wait for completion

On Linux/Mac (using dd):

# Identify your USB device
lsblk  # or diskutil list on Mac

# Write the ISO (replace /dev/sdX with your USB device)
sudo dd bs=4M if=/path/to/proxmox-ve_*.iso of=/dev/sdX status=progress && sync

Step 3: Install Proxmox VE

  1. Boot from USB: Restart your laptop and boot from the USB drive (usually F12 or F2 for boot menu)

  2. Select Installation: Choose "Install Proxmox VE" from the boot menu

  3. License Agreement: Accept the EULA

  4. Target Disk: Select the disk where you want to install Proxmox

    • Warning: This will erase all data on the selected disk
    • For a laptop, you may want to use an external drive or secondary internal drive
  5. Location and Timezone: Configure your location and timezone settings

  6. Administration Password: Set a strong root password (save this securely!)

  7. Network Configuration:

    • Hostname: Set a hostname (e.g., proxmox-lab.local)
    • IP Address: Configure a static IP (recommended) or use DHCP
    • Gateway: Your router's IP address
    • DNS: Use reliable DNS servers (8.8.8.8, 1.1.1.1)
  8. Complete Installation: Review settings and click "Install"

  9. Reboot: After installation completes, remove the USB and reboot

Step 4: Access Proxmox Web Interface

  1. After reboot, note the IP address displayed on the console
  2. Open a web browser and navigate to: https://your-ip-address:8006
  3. Accept the SSL certificate warning (self-signed certificate)
  4. Login with:
    • Username: root
    • Password: The password you set during installation

Part 2: Initial Proxmox Configuration

Update Proxmox

First, update your Proxmox installation to the latest packages:

# SSH into your Proxmox server or use the console
apt update && apt upgrade -y

Configure Storage

  1. Navigate to DatacenterStorage
  2. Review default storage (usually local and local-lvm)
  3. For additional storage, click Add and select storage type:
    • Directory: For simple file storage
    • ZFS: For advanced features (snapshots, compression)
    • NFS/CIFS: For network storage

Configure Network

  1. Go to DatacenterNetwork
  2. Review default bridge (vmbr0)
  3. For advanced networking (VLANs, multiple bridges), click CreateLinux Bridge

Part 3: Building Your Cybersecurity Lab

Lab Architecture Overview

A typical cybersecurity lab includes:

  • Attack Machines: Kali Linux, Parrot Security
  • Target Machines: Vulnerable VMs (Metasploitable, DVWA, WebGoat)
  • Defense Tools: Security Onion, ELK Stack, Splunk
  • Network Devices: pfSense, OPNsense (for network segmentation)
  • Monitoring: Wireshark, tcpdump, network monitoring tools

Creating Your First VM: Ubuntu Server

We'll start by creating an Ubuntu Server VM that can serve as a base for various security tools:

  1. Download Ubuntu ISO:

  2. Upload ISO to Proxmox:

    • Go to local storage → ContentISO Images
    • Click Upload and select your Ubuntu ISO
  3. Create New VM:

    • Click Create VM (top right)
    • General:
      • VM ID: 100 (or any available number)
      • Name: ubuntu-server-base
    • OS:
      • Use CD/DVD disc image file
      • Storage: local
      • ISO image: Select your uploaded Ubuntu ISO
    • System:
      • Graphics Card: Default (VGA)
      • Qemu Agent: Enable (useful for management)
    • Hard Disk:
      • Bus/Device: SCSI
      • Storage: local-lvm
      • Disk size: 40GB (adjust based on needs)
      • Cache: Write back (for better performance)
    • CPU:
      • Sockets: 1
      • Cores: 2 (adjust based on host resources)
      • Type: host (for best performance)
    • Memory:
      • Memory: 2048 MB (2GB minimum, 4GB+ recommended)
    • Network:
      • Bridge: vmbr0
      • Model: VirtIO (for best performance)
    • Confirm: Review and click Finish
  4. Install Ubuntu:

    • Start the VM
    • Open console (click on VM → Console)
    • Follow Ubuntu installation wizard
    • Install Qemu Guest Agent: sudo apt install qemu-guest-agent -y

Installing Security Tools

Once you have a base Ubuntu VM, you can install various security tools:

Installing Kali Linux Tools

# Add Kali repositories (use with caution)
sudo apt update
sudo apt install -y kali-linux-default

Installing Docker for Containerized Tools

# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Add user to docker group
sudo usermod -aG docker $USER

Installing Security Tools Manually

# Network analysis tools
sudo apt install -y wireshark tcpdump nmap netcat

# Web application testing
sudo apt install -y burpsuite sqlmap nikto

# Password tools
sudo apt install -y john hashcat hydra

Part 4: Network Configuration for Security Lab

Creating VLANs

For proper network isolation in your security lab:

  1. Configure VLANs on Proxmox:

    • Go to NetworkCreateLinux Bridge
    • Bridge: vmbr1
    • VLAN aware: Enable
    • VLAN tag: 10 (for management network)
  2. Assign VLANs to VMs:

    • Edit VM → HardwareNetwork Device
    • Bridge: vmbr1
    • VLAN Tag: 10 (or appropriate VLAN)

Setting Up pfSense for Network Segmentation

  1. Download pfSense ISO: Get from pfSense website

  2. Create pfSense VM:

    • VM ID: 200
    • Name: pfsense-router
    • Network: Create two network adapters:
      • vmbr0 (WAN - connects to your physical network)
      • vmbr1 (LAN - internal lab network)
    • Memory: 1GB minimum
    • CPU: 2 cores
  3. Configure pfSense:

    • Install pfSense following the wizard
    • Configure WAN and LAN interfaces
    • Set up firewall rules for lab isolation
    • Configure DHCP for lab network

Part 5: Attack and Detection Setup

Attack Machines

Kali Linux VM

  1. Download Kali ISO: From Kali Linux website

  2. Create VM:

    • VM ID: 300
    • Name: kali-attacker
    • Memory: 4GB
    • CPU: 2 cores
    • Storage: 50GB
  3. Install Kali: Follow standard installation process

  4. Update and Configure:

sudo apt update && sudo apt upgrade -y
sudo apt install -y kali-linux-default

Detection and Monitoring

Security Onion

Security Onion is a Linux distribution for intrusion detection, network security monitoring, and log management.

  1. Download Security Onion ISO

  2. Create VM:

    • VM ID: 400
    • Name: security-onion
    • Memory: 8GB+ (16GB recommended)
    • CPU: 4+ cores
    • Storage: 200GB+
  3. Install and Configure: Follow Security Onion installation wizard

ELK Stack (Elasticsearch, Logstash, Kibana)

For centralized logging and analysis:

# On Ubuntu VM
# Install Docker Compose
sudo apt install -y docker-compose

# Create ELK stack with Docker Compose
# (Use official ELK stack Docker images)

Part 6: Best Practices and Security

Proxmox Security

  1. Change Default Ports (optional but recommended):
# Edit web interface port
nano /etc/default/pveproxy
# Change port from 8006 to custom port
  1. Enable Firewall:

    • Go to FirewallOptions
    • Enable firewall
    • Configure rules for necessary ports
  2. Regular Updates:

apt update && apt upgrade -y
  1. Backup Strategy:
    • Configure regular VM backups
    • Store backups on separate storage
    • Test restore procedures

VM Management Tips

  1. Use Templates: Create VM templates for faster deployment
  2. Snapshots: Take snapshots before major changes
  3. Resource Limits: Set appropriate CPU and memory limits
  4. Network Isolation: Use VLANs to isolate lab networks

Part 7: Advanced Configurations

Setting Up a Cluster (Optional)

For multiple Proxmox nodes:

  1. Configure Hostnames: Ensure proper DNS resolution
  2. Add Nodes: Go to DatacenterAddProxmox Node
  3. Configure Shared Storage: Set up NFS or Ceph storage
  4. Enable HA: Configure High Availability for critical VMs

Storage Optimization

  1. Use ZFS: For snapshots and compression
  2. Thin Provisioning: Save disk space
  3. SSD Cache: Use SSD for frequently accessed data

Troubleshooting

Common Issues

VM Won't Start:

  • Check available resources (RAM, CPU, storage)
  • Verify ISO image integrity
  • Check VM configuration

Network Issues:

  • Verify bridge configuration
  • Check firewall rules
  • Ensure proper VLAN tagging

Performance Issues:

  • Allocate appropriate resources
  • Use VirtIO drivers
  • Enable CPU type "host"
  • Use SSD storage

Conclusion

You now have a fully functional Proxmox-based cybersecurity lab! This environment provides:

  • Isolated Testing: Safe environment for security testing
  • Realistic Scenarios: Multiple VMs for complex attack/defense scenarios
  • Learning Platform: Hands-on experience with security tools
  • Scalability: Easy to add new VMs and services

Remember to:

  • Keep your lab isolated from production networks
  • Regularly update all systems
  • Practice responsible disclosure
  • Use this lab for learning and authorized testing only

Additional Resources

Happy labbing! 🚀