Skip to main content

Automatic IPs with DHCP

By default you assign a static IP inside each VM. If you prefer VMs to receive an address automatically, you can use the Proxmox SDN (Software Defined Networking) feature. It's configured entirely in the web GUI and handles NAT for you.

This creates a second private network (10.20.20.0/24 in this example) alongside vmbr1. You can use either, or both.

One-time preparation​

SDN uses dnsmasq to hand out addresses. Install it once on the host (Node → Shell):

cd /root
apt update
apt install -y dnsmasq
systemctl disable --now dnsmasq

The last command disables the global dnsmasq service. Proxmox starts its own instance per network.

Create the network in the GUI​

1. Zone​

Datacenter → SDN → Zones → Add → Simple

FieldValue
IDnatzone
Automatic DHCP✅

2. VNet​

Datacenter → SDN → VNets → Create

FieldValue
Namevmnet
Zonenatzone

3. Subnet​

Select vmnet, then Subnets → Create:

FieldValue
Subnet10.20.20.0/24
Gateway10.20.20.1
SNAT✅ (this provides internet access)
DHCP Ranges tabStart 10.20.20.100, End 10.20.20.200
DHCP DNS Server1.1.1.1

4. Apply​

Go to Datacenter → SDN and click Apply. A new network vmnet appears under your node.

Use it​

When creating a VM, select vmnet as the Bridge on the Network tab. Configure the VM's OS to use DHCP (the default for most installers), and it receives an address automatically.

You can see which VM got which address under Datacenter → SDN → IPAM.

:::tip Fixed addresses for servers For VMs that receive port forwards, the address must not change. In IPAM you can assign a fixed IP to a VM's MAC address, or simply configure a static IP inside the VM from outside the DHCP range (e.g. 10.20.20.10). :::

:::note Port forwards on vmnet Port forwards work the same way as on vmbr1. Just use the 10.20.20.x address as the target. See Port Forwarding. :::

Was this page helpful?