Virtualization
Difficulty: Intermediate
4 min read

Proxmox VE: Virtualization and Containers

Complete guide to installing and configuring Proxmox VE, an open-source virtualization solution for managing virtual machines (KVM) and containers (LXC).

Back to tutorials
What is Proxmox VE?
Proxmox Virtual Environment (VE) is an open-source server virtualization management platform based on Debian. It integrates two virtualization technologies: KVM (Kernel-based Virtual Machine) for full virtual machines and LXC (Linux Containers) for lightweight containers. Everything is manageable through a simple and powerful web interface.

Why use Proxmox?

  • All-in-one solution: Manages VMs, containers, storage and networking from a single interface.
  • Open-Source: No license cost, great flexibility and a strong community.
  • High Availability: Supports building clusters of multiple Proxmox servers for live VM migration and high availability.
  • Flexible storage: Supports local storage (LVM, ZFS) and network storage (NFS, iSCSI, Ceph).
  • Built-in backups: Simple and effective backup and restore tool for VMs and containers.

Prerequisites

  • A dedicated server: Proxmox installs directly on the hardware (type 1 hypervisor). Make sure your CPU supports virtualization (Intel VT-x or AMD-V).
  • At least 2 GB of RAM (8 GB+ recommended for comfortable use).
  • A USB stick for the installation.
  • Proxmox VE ISO image: Downloadable from the official site.

Installation

Proxmox is installed via an ISO image that contains a complete Debian-based installer.

  1. Create a bootable USB stick with the Proxmox ISO using a tool like Rufus or balenaEtcher.
  2. Boot your server from the USB stick.
  3. Follow the installer's instructions. The important steps are:
    • Partitioning: You can choose the target disk. Proxmox offers advanced options such as ZFS.
    • Network configuration: Set a static IP address, a netmask, a gateway and a DNS server. This IP will be the one for the management interface.
    • The root password: Choose a strong password.
  4. Once the installation is complete, remove the USB stick and reboot.

Your Proxmox server is now installed. You can access it through its web interface.

First access and configuration

Open a browser and go to the address: https://YOUR_IP:8006.

  • User: `root`
  • Password: The one you set during installation.
  • Realm: "Linux PAM standard authentication"

You will probably see a subscription warning. Proxmox is fully functional without a subscription. A subscription provides access to professional support and more stable package repositories.

Step 1: Update the repositories

To be able to update the system without a subscription, you need to enable the "no-subscription" repositories.

# Comment out the enterprise repository
sudo sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/pve-enterprise.list

# Add the no-subscription repository
echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve-no-subscription.list

# Update
sudo apt update && sudo apt full-upgrade -y

Step 2: Download ISO images

To create VMs, you need installation ISO images (Debian, Ubuntu, Windows...).

  1. In the web interface, select your Proxmox node, then the storage (by default "local").
  2. Go to the "ISO Images" tab.
  3. You can either upload an ISO from your computer or download one directly from a URL.

Create a Virtual Machine (KVM)

  1. Click the blue "Create VM" button in the top right.
  2. General: Give your VM a name.
  3. OS: Select the ISO image you downloaded.
  4. System: Leave the default values to start with.
  5. Disks: Set the size of the virtual hard disk.
  6. CPU: Choose the number of cores.
  7. Memory: Allocate the amount of RAM.
  8. Network: The "VirtIO (paravirtualized)" model offers the best performance.
  9. Confirm: Confirm.

Your VM appears in the list on the left. Select it, then click "Start" and open the "Console" to install the OS just like on a physical machine.

Create a Container (LXC)

Containers are lighter than VMs. They share the kernel of the Proxmox host.

  1. First, download a container "template". In the web interface, go to your "local" storage -> "CT Templates" -> "Templates". Download a template (e.g. `debian-11-standard`).
  2. Click "Create CT".
  3. Follow the wizard, which is similar to the one for VMs, but you will choose the downloaded template instead of an ISO. Creation is almost instantaneous.
Networking and the "Bridge"
By default, Proxmox creates a "Linux Bridge" named `vmbr0` that is bridged onto your main physical network interface. This means your VMs and containers can get an IP address on your local network, like any other physical machine. This is the simplest and most common configuration.

Conclusion

Proxmox VE is an extraordinarily complete and robust virtualization solution. Its clear web interface and its built-in features (clustering, backups, firewall) make it an ideal choice for home labs ("homelabs") as well as for enterprise infrastructures. By mastering the creation of VMs and containers, you have the keys to optimize your hardware resources and deploy services in a flexible and isolated way.

Written by

Morgann Riu

Cybersecurity and Linux administration expert. I share my knowledge through free tutorials and training to help system administrators and developers secure their infrastructures.

Frequently asked questions

Why does apt refuse to update a freshly installed Proxmox?
The installer enables the enterprise repository declared in /etc/apt/sources.list.d/pve-enterprise.list by default, and that repository requires a paid subscription so it rejects machines without one. Comment out its lines, then create /etc/apt/sources.list.d/pve-no-subscription.list pointing at the pve-no-subscription repository matching your Debian release. An apt update && apt full-upgrade then completes cleanly.
KVM virtual machine or LXC container: which one for a given service?
An LXC container shares the Proxmox host kernel: it uses far fewer resources, is created in seconds from a template, and is a perfect fit for ordinary Linux services. A KVM virtual machine ships its own kernel and a full operating system installed from an ISO: it is the only option for Windows, for a kernel different from the host's, or when you want stricter isolation. The practical rule is to run Linux services in LXC and keep KVM for everything else.
Does the subscription warning at login disable any features?
No. Proxmox VE is fully functional without a subscription: VM and container creation, clustering, live migration, built-in backups and the firewall are all available. A subscription grants access to professional support and to more stable, more heavily tested package repositories. The message shown at login is purely informational.
My VMs cannot reach the local network, where does vmbr0 come from?
vmbr0 is the network bridge created automatically at install time and attached to the server's main physical interface. Any VM or container whose virtual NIC is plugged into vmbr0 sits directly on your LAN and can get an address there like any physical machine. If connectivity fails, check that the guest's virtual NIC really is attached to vmbr0 and that the bridge itself is bound to the right physical interface.
I cannot log into the web interface, what should I check?
The interface listens over HTTPS on port 8006, so the correct URL is https://YOUR_IP:8006 — not HTTP, and not port 443. Because the certificate is self-signed at install time, the browser shows a warning you have to accept. On the login form the user is root, the password is the one you set during installation, and the Realm field must stay on Linux PAM standard authentication, which is the most common oversight.

Share this tutorial

Did you enjoy this article?

Comments

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.