Skip to main content

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​

  1. In the left tree, expand your node and click local.
  2. Select ISO Images.
  3. 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:

TabSettingValue
GeneralNameAny name, e.g. web01
OSISO imageSelect the ISO you uploaded
SystemMachine / BIOSDefaults are fine. Use q35 + OVMF (UEFI) for Windows 11
DisksStoragelocal-lvm
Bus/DeviceVirtIO Block or SCSI (with VirtIO SCSI single controller)
Discard✅ Enable (frees unused space on the SSD)
CPUTypehost for best performance
MemoryMemoryAs needed, e.g. 4096 MB
NetworkBridgevmbr1 ⚠️ never vmbr0
ModelVirtIO (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:

SettingValue
IP address10.10.10.X with X between 2 and 254, unique per VM
Netmask255.255.255.0 (/24)
Gateway10.10.10.1
DNS1.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.

Was this page helpful?