Taipan TransitArticles

How to add public IPv4 addresses to Proxmox VMs

A Proxmox host can run several VPS instances while each one keeps a distinct public IPv4 address. The clean route is a tunnel that carries the public addresses to the host, an internal Linux bridge, and one route per VM. Customers receive ordinary reachability on SSH, HTTPS, game ports, VPN ports and any service they install.

This guide uses a routed design. It avoids NAT, port allocations and dependence on guest MAC addresses being accepted by the datacenter network. The commands illustrate one Debian-based Proxmox host and one guest. Addresses from RFC 5737 are used throughout, so none of them exist on the public Internet.

Three documentation IPv4 addresses routed from Taipan Transit through one tunnel to separate Proxmox virtual machines.
One tunnel can deliver several routed addresses. The Proxmox host forwards each public /32 to the VM assigned to it.

Choose the routed model before editing Proxmox

There are two common ways to put public addresses on Proxmox guests. A bridged arrangement puts the guest directly on an upstream Ethernet segment. The provider sees each guest MAC address. It is simple when the provider explicitly permits it.

A routed arrangement gives the Proxmox host a route for every guest address. Guests attach to a private bridge, and the host forwards their traffic. This is the suitable model for individually routed IPv4 addresses delivered through a GRE, IPsec or WireGuard tunnel. It also works when a dedicated-server provider allows only one MAC address on the physical port.

Scope

This article covers routed IPv4 addresses. Do not combine these commands with an existing public bridge until the provider's network model is understood. A conflicting gateway or route can disconnect the Proxmox management interface.

Proxmox logoVirtualization Taipan Transit logoRouted IPv4

Write down the address map

Keep the tunnel address, public address, private bridge address and VM identifier in one place. The public IPv4 is a host route, written as /32. The private addresses exist only between the Proxmox host and its guests.

ItemExamplePurpose
Tunnelwg0Delivers addresses to the Proxmox host.
Private bridgevmbr1Connects the host and routed guests. It has no physical port.
Host bridge IP10.42.0.1/24Default gateway inside the private guest network.
VM 10110.42.0.10/24Private next hop for the guest.
VM 101 public IP203.0.113.42/32Public address routed through the tunnel.