Exploring Virtualization with Proxmox
- Matthew Polzin
- Proxmox , Virtualization , Server technology
- April 22, 2025
Table of Contents
I was introduced to Proxmox by my friend Joshua, who generously gifted me a Dell R320 server preloaded with Proxmox. This incredible gift couldn’t have come at a better time, as I had just started my journey into networking and cybersecurity studies. Joshua’s thoughtful gesture ignited my passion for virtualization, opening up a whole new world of possibilities. With Proxmox at my fingertips, I eagerly embarked on an exciting adventure to explore and harness the power of virtual machines. My goals were ambitious: I wanted to use Proxmox to host web services and applications, serve as a learning tool for my networking and cybersecurity education, and even host game servers for my friends. This journey promised to be both educational and fun, perfectly complementing my academic pursuits.
The Gift
Joshua, my friend and mentor, gifted me a decommissioned Dell R320 server that he had acquired from work. I had known about this generous gift for months, eagerly anticipating the day I could bring it home. During a visit to Tennessee, Joshua handed over the server, which he had thoughtfully preloaded with Proxmox to help me get started. The Dell R320 came equipped with four SAS drives, although one of them needed to be replaced. The remaining three drives were configured in a RAID setup, ensuring data redundancy and improved performance.
When I brought the server back home, I faced a minor challenge: I didn’t have a server rack to house it. As a result, the Dell R320 found its temporary home on a table in my basement. Despite the unconventional setup, I was eager to dive into the world of virtualization and make the most of this powerful gift. This server marked the beginning of my hands-on experience with Proxmox, setting the stage for countless learning opportunities and exciting projects.
Initial Setup of Proxmox and the Server
When I got the Dell R320 server home, I was eager to get started with Proxmox. However, the initial setup presented a few challenges, particularly with network connectivity. The first task was to configure a static IP address. Using the server’s small three-button display, I navigated through the settings to assign a static IP, ensuring that the server would have a consistent network address.
As I began testing the network connection, I quickly discovered an issue: one of the network ports was damaged and couldn’t provide full gigabit connectivity. This unexpected hurdle required some troubleshooting. After confirming the port’s limitations, I decided to reconfigure the Proxmox bridge to use the other, fully functional network port. This involved updating the network settings within Proxmox to ensure that all virtual machines and services would communicate through the reliable port.
Despite these initial setbacks, the process was a valuable learning experience. It taught me the importance of thorough hardware checks and provided hands-on practice with network configuration and troubleshooting. Once the network was stable, I was ready to dive deeper into the capabilities of Proxmox and start exploring its potential.
My First Containers and Virtual Machines
Diving into the world of Proxmox, I was excited to set up my first containers and virtual machines. My journey began with creating a container for the UniFi Network Application. This container allowed me to manage my network devices efficiently and provided a great introduction to the capabilities of Proxmox containers.
Next, I ventured into virtual machines, starting with Home Assistant. To streamline the setup process, I used a helper script from GitHub, which automated much of the configuration. This made it easier to get Home Assistant up and running, allowing me to focus on customizing and integrating various smart home devices.
Building on this success, I created a console-only virtual machine running Ubuntu. This VM served as the perfect environment to host my Discord bot, which I had developed using Python. I transferred my Python scripts to the Ubuntu VM and configured it to run the bot, providing a reliable and dedicated platform for my project.
These initial setups were both educational and rewarding, giving me hands-on experience with Proxmox’s powerful virtualization features. Each step brought new insights and skills, fueling my enthusiasm for further exploration and experimentation.
Other Uses for Proxmox
Beyond my initial setups, I’ve leveraged Proxmox for a variety of other projects and applications:
-
School Projects: I’ve used Proxmox to create virtual environments for my coursework, including Windows Server and Red Hat Enterprise Linux. These setups allowed me to connect workstations and domain controllers, providing a practical learning experience for my networking and cybersecurity studies.
-
Game Servers: Proxmox has been instrumental in hosting game servers, particularly for ARMA. This has enabled me to create a dedicated and stable environment for gaming with friends.
-
Cybersecurity Tools: I’ve experimented with cybersecurity tools such as Kali Linux and its associated utilities. Proxmox provided a safe environment where I could target another VM, allowing me to practice penetration testing and other security techniques.
-
Docker Containers: I set up a Docker container to update my DNS record for my house on my Cloudflare domain. This automation ensured that my home network remained accessible remotely.
-
TacticalRMM: I hosted my TacticalRMM (Remote Monitoring and Management) tool on Proxmox, which I use for work. This setup has been crucial for managing and monitoring various systems efficiently. This has also been a valuable tool for providing remote support to family members. By hosting remote access tools, I’ve been able to troubleshoot and fix their computer issues from afar.
These diverse applications have showcased the versatility and power of Proxmox, making it an indispensable part of my tech toolkit.