Creating a VM
This guide walks you through creating a VM and connecting it to the internet.
1. Log in
Open https://YOUR-PUBLIC-IP:8006 in your browser and log in:
- User name:
root - Realm:
Linux PAM standard authentication - Password: from your welcome email
Your browser warns about the certificate on first visit. This is expected, because Proxmox uses a self-signed certificate.
2. Upload an installation ISO
- In the left tree, expand your node and click
local. - Select ISO Images.
- Click Upload and choose your ISO, or click Download from URL and paste a direct ISO link (faster, because the download goes straight to the server).
:::tip Download from URL Using Download from URL with an official mirror link (e.g. the Debian or Ubuntu download page) is much faster than uploading from your own computer. :::
3. Create the VM
Click Create VM (top right) and go through the wizard:
| Tab | Setting | Value |
|---|---|---|
| General | Name | Any name, e.g. web01 |
| OS | ISO image | Select the ISO you uploaded |
| System | Machine / BIOS | Defaults are fine. Use q35 + OVMF (UEFI) for Windows 11 |
| Disks | Storage | local-lvm |
| Bus/Device | VirtIO Block or SCSI (with VirtIO SCSI single controller) | |
| Discard | ✅ Enable (frees unused space on the SSD) | |
| CPU | Type | host for best performance |
| Memory | Memory | As needed, e.g. 4096 MB |
| Network | Bridge | vmbr1 ⚠️ never vmbr0 |
| Model | VirtIO (paravirtualized) |
Click Finish, select the VM, open Console and click Start.
:::info Windows VMs
Windows has no built-in VirtIO drivers. Download the VirtIO drivers ISO, upload it to local, and attach it as a second CD drive (VM → Hardware → Add → CD/DVD Drive). Load the drivers from it during Windows setup.
:::
4. Configure the VM's network
During or after the OS installation, give the VM a static IP address:
| Setting | Value |
|---|---|
| IP address | 10.10.10.X with X between 2 and 254, unique per VM |
| Netmask | 255.255.255.0 (/24) |
| Gateway | 10.10.10.1 |
| DNS | 1.1.1.1, 8.8.8.8 |
:::tip Keep a list Note which VM uses which IP, e.g. in the VM's Notes field under Summary. Two VMs with the same IP will both lose connectivity. :::
Prefer automatic addresses? See Automatic IPs with DHCP.
Debian (ifupdown)
cd /etc/network
nano interfaces
auto ens18
iface ens18 inet static
address 10.10.10.10/24
gateway 10.10.10.1
dns-nameservers 1.1.1.1 8.8.8.8
cd /etc/network
systemctl restart networking
Ubuntu (Netplan)
cd /etc/netplan
nano 01-static.yaml
network:
version: 2
ethernets:
ens18:
addresses: [10.10.10.10/24]
routes:
- to: default
via: 10.10.10.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
cd /etc/netplan
chmod 600 01-static.yaml
netplan apply
Rocky / AlmaLinux / RHEL (NetworkManager)
cd /root
nmcli con mod "System eth0" ipv4.method manual \
ipv4.addresses 10.10.10.10/24 ipv4.gateway 10.10.10.1 \
ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up "System eth0"
Use nmcli con show to find your connection name.
Windows
Settings → Network & Internet → Ethernet → IP assignment → Edit → Manual → IPv4, then enter the values from the table above.
:::note Interface name
ens18 is the usual name for the first VirtIO network card in Linux. Check yours with ip a.
:::
5. Test
Inside the VM:
cd ~
ping -c 3 10.10.10.1
ping -c 3 1.1.1.1
ping -c 3 debian.org
If all three work, your VM is online. To make a service reachable from the internet, continue with Port Forwarding.
Faster deployments with templates (optional)
Once a VM is set up the way you like (OS installed, updates applied, qemu-guest-agent installed), right-click it and select Convert to template. New VMs can then be created in seconds with Clone. Remember to give each clone its own IP address.