Now, we’ll need to install Proxmox on the server. I won’t cover the basic installation in this post, but I am using Proxmox VE 5, which is available as a template during installation with OVH’s wizard.

Securing Proxmox’s web interface

Once you have installed your hypervisor and logged in, I recommend taking a couple of extra steps to improve security, because the web interface is public facing:

  1. Set up your own administrative user and disable the default one.
  2. Set up two-factor authentication. I followed this guide.
  3. Get a valid SSL certificate. I followed this guide to get a certificate from Let’s Encrypt using (but the steps using certbot look good, too).
  4. Disable password authentication over SSH and use key authentication instead.

Disabling the enterprise apt repository

Unless you have a Proxmox subscription, apt will fail with an exit code of 100. This is because it is trying to read from the subscription-only enterprise apt repository.

Comment out the only line in /etc/apt/sources.list.d/pve-enterprise.list and run apt update.

Network bridges

For the most basic setup, three network bridges are required (which will become the WAN, LAN and OPT1 interfaces in our router). These are configured in the host node’s network settings.

NameTypePorts/SlavesIP addressSubnet maskGateway
vmbr0Linux bridgeeth0Primary IP address (ex. gateway address (ex.
vmbr1Linux bridgedummy0(none)(none)(none)
vmbr2Linux bridgedummy1(none)(none)(none)

Virtual hardware for pfSense

Below are the current specifications for my router’s virtual hardware. Your mileage may vary.

In the next part, we’ll install pfSense and configure the basic interfaces.

Read part 3