Installing Proxmox Backup Server on Hyper-V with NAS-Based CIFS Storage

This guide was created using the following versions:

  • Proxmox Virtual Environment: 9.1.1
  • Proxmox Backup Server: 4.1.5

As a first step, you will need a Debian 13 ISO image, which can be downloaded here: Debian — Downloading Debian

On your Hyper-V host, create a new virtual machine with the following configuration:

  • Name: PBS
  • Generation: Generation 1
  • Memory: 2048 MB RAM (dynamic memory is optional, but not required)
  • Network: Your preferred network connection
  • Virtual hard disk: 32 GB
    • Installation options: Install an operating system from a bootable CD/DVD-ROM
  • Image file (.iso): Select the previously downloaded debian13.iso
  • Once the configuration is complete, click Finish — but do not start the VM yet.

Open the VM settings and adjust the following options:

  • Processors: 2 processors are sufficient
  • Network Adapter: If required, configure the appropriate VLAN ID
  • Integration Services: Enable Guest Services
  • Checkpoints: Disable checkpoints if they are not needed
  • Automatic Start Action: Set this to Automatically start if it was running when the service stopped
  • Automatic Stop Action: Set this to Shut down the guest operating system

Start the virtual machine and begin the installation using the non-graphical installer.

Select the desired language, country, and keyboard layout.

When prompted, set the hostname to match the VM name, for example: pbs.

If you do not have a domain name, leave the Domain name field blank.

Set a root password.

Enter a full name for the user account. You can use something like sysop or any other name you prefer.

Then define the username, for example sysop.

Set the password for the sysop user.

For disk partitioning, choose:

  • Guided – use entire disk
  • Select the target disk
  • Choose All files in one partition (recommended for new users)

Then:

  • Finish partitioning and confirm the changes
  • When asked whether the changes should be written to disk, select Yes
    • Since the VHDX was just created, it should not contain any data yet

The operating system installation will now begin.

During the remaining setup:

  • If prompted for an additional installation medium, select No
  • Choose your country for the package mirror and then select the mirror server
    • In most cases, the default option is fine
  • If your environment requires a proxy for internet access, enter it in the next step
    • Otherwise, leave the field blank
  • When asked about popularity-contest, choose Yes only if you want to participate

For software selection:

Only select SSH server and standard system utilities

A Debian desktop environment such as GNOME is not required

Since this system will only run a single operating system, you can safely install GRUB on the primary disk.

Select the corresponding disk for the GRUB boot loader installation.

Click Continue to complete the installation. The VM will then reboot automatically.

After the reboot, log in as sysop and run ip addr to display the IP address assigned by DHCP.

ip addr

You can now connect to the VM via SSH using the IP address displayed earlier.

As a next step, configure a static IP address for the Proxmox Backup Server.
Please note that DHCP will no longer be used after the Proxmox Backup Server installation, so the system should be configured with a static IP address beforehand.

Then switch to administrative mode.

su

and enter your root password.

nano /etc/network/interfaces

At this point, your eth0 interface is still configured to use DHCP.

Adjust the network configuration to match your environment, for example:

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
    address 10.4.4.20
    netmask 255.255.255.0
    gateway 10.4.4.1
    dns-nameservers 10.4.4.1

To save the file, press Ctrl + X, then Y, and finally Enter.Code-Sprache: CSS (css)

Now restart the network services.

If you cannot reconnect via SSH using the newly configured IP address, perform a reboot from the Hyper-V console and verify the network settings there.

systemctl restart networking

NAS

In the next step, create a CIFS/SMB share on your NAS and configure a user account with read and write permissions for that share.

iSCSI would generally be the preferred option. However, in my case, the NAS does not have a free storage pool available for an iSCSI LUN, so this setup uses CIFS/SMB instead.

Example share path:

\\10.4.5.200\backup\pbs

PBS

Connect to the system again via SSH and switch with su to administrative mode.

Then install the required CIFS packages.

apt update
apt install -y cifs-utils

Create the mount point for the CIFS share.

mkdir -p /mnt/pbs-nas

Create a credentials file to store the CIFS/SMB username and password.

nano /root/.smb-pbs

Use the following content:

username=NASSHAREUSER
password=YOURNASSHAREPASSWORD
chmod 600 /root/.smb-pbs

Add the share to /etc/fstab to configure a persistent mount that will be restored automatically after each reboot.

nano /etc/fstab
//10.4.5.200/backup/pbs /mnt/pbs-nas cifs credentials=/root/.smb-pbs,vers=3.0,uid=34,noforceuid,gid=34,noforcegid,iocharset=utf8,file_mode=0660,dir_mode=0770,_netdev,x-systemd.automount,nofail 0 0Code-Sprache: JSON / JSON mit Kommentaren (json)

Test the configuration to ensure the share mounts correctly.

mount -a
ls -la /mnt/pbs-nas

Install Proxmox Backup Server.

mkdir -p /usr/share/keyrings

wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -O /usr/share/keyrings/proxmox-archive-keyring.gpgCode-Sprache: JavaScript (javascript)
  • (without subscription)
cat > /etc/apt/sources.list.d/proxmox.sources << 'EOF'
Types: deb
URIs: http://download.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOFCode-Sprache: JavaScript (javascript)
  • (with subscription)
cat > /etc/apt/sources.list.d/pbs-enterprise.sources << 'EOF'
Types: deb
URIs: https://enterprise.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOFCode-Sprache: JavaScript (javascript)
apt update
apt install proxmox-backup-server
apt install proxmox-backup-client

Now open your browser and connect to your Proxmox Backup Server.

https://DEINE-DEBIAN-IP:8007Code-Sprache: JavaScript (javascript)

Username: root
Password: Use the same password you have been working with so far

The first thing we need to create is a Datastore, which will be located on the mounted CIFS share.

Go to Datastore and click Add Datastore, then use the following settings:

Backing Path: /mnt/pbs-nas

Name: nas-smb-store

Datastore Type: Local

The datastore chunks will now be created.

It should now look like this:

When you back up a container or virtual machine, the backup data is stored using the corresponding VM or CT ID.

If you operate multiple Proxmox VE servers outside of a cluster, it is strongly recommended to work with namespaces in order to keep backups clearly separated.

In fact, creating a namespace is a good practice even if you currently have only one Proxmox VE server, as it keeps the datastore structure clean and makes future expansion easier.

When creating namespaces, use the name of your Proxmox VE host, not the name of the Proxmox Backup Server.

Example namespaces:

Server02

Server01

proxmox-backup-client namespace create Server01 --repository root@pam@localhost:nas-smb-store
proxmox-backup-client namespace create Server02 --repository root@pam@localhost:nas-smb-storeCode-Sprache: PHP (php)

Next, you can connect your Proxmox VE server to the Proxmox Backup Server.

Log in to the web interface of your Proxmox VE host and navigate to:

Datacenter → Storage → Add → Proxmox Backup Server

Then fill in the required fields with the following information:

ID: pbs-nas-smb
Server: Your PBS IP address, for example 10.4.4.20
Username: root@pam
You can also create and use a dedicated user account on the PBS if preferred
Password: The password for root@pam
Datastore: nas-smb-store
Namespace: As described in the previous step, for example Server01
Fingerprint: You can find this on the PBS dashboard, roughly in the middle of the page under Show FingerprintCode-Sprache: CSS (css)

The datastore is now available. When you select a virtual machine or container, you can open the Backup tab, click Backup now, and choose the newly added storage target.

Completed backups will not appear in the per-VM Backup list. Instead, you can find them under:

Datacenter → pbs-nas-smb → Backups

You can configure scheduled backup jobs globally under:

Datacenter → Backup

For example, you can create a job to run a full backup of all clients every Saturday at 1:00 AM

Retain a maximum of one backup version.

That’s it. Verify that temporary snapshots are removed correctly after each job and that the backups complete successfully.

Backing Up Your Proxmox Backup Server

Shut down the virtual machine in Hyper-V.

Then:

Right-click the VM and select Export
Choose the target location
Click Export
Once the export is complete, start the virtual machine againCode-Sprache: JavaScript (javascript)

Creating an OPNsense VM in Proxmox

Download the DVD ISO image from the OPNsense website: Download – OPNsense (external Link)

choose the DVD type:

In Proxmox, upload the ISO to Datacenter → local → ISO Images

Once the upload is complete, we can create the VM. To do this, click ‚Create VM‘ in the top-right corner.

Add a name for example, vFW01 or FW02, …

Select the OPNsense ISO image and set the Guest OS type to ‚Other‘, then click ‚Next‘

Next

Set up your virtual disk as a VirtIO block with at least 8 GB.

CPU config Type „host“

Set up your memory with at least 1024 MB.

Now add LAN2 (NIC1) as your network interface for the WAN.

Confirm and finish, but do not start the VM yet

Return to the VM, navigate to Hardware → Add → Network Device, and add LAN3 (NIC2) for the LAN interface and optional the LAN4 (NIC3) for the DMZ interface

In the VM options, enable autostart

Now Start the VM and open the console

Next Step: OPNsense Installation

Proxmox OPNsense config

This guide explains how to preconfigure Proxmox VE to run an OPNsense firewall as a virtual machine. Proper preparation of the Proxmox host is essential to ensure secure network segmentation, reliable performance, and a smooth OPNsense installation.

You will learn how to set up network bridges, assign physical interfaces, and apply best‑practice settings that allow OPNsense to operate as a fully functional virtual firewall. The focus is on creating a clean and flexible foundation that can be adapted to both lab environments and production use.

By completing these preconfiguration steps, Proxmox will be ready to host OPNsense efficiently, giving you full control over routing, firewalling, and network security within your virtualized infrastructure.

Now let’s finish setting up Proxmox.

First, we need to assign the physical network interfaces to OPNsense:

  • 1× WAN port
  • 1× LAN port with VLANs
  • 1× DMZ port (optional, if you plan to use a DMZ)
LAN2 (nic1) → OPNsense WAN → directly connected to your existing router

LAN3 (nic2) → LAN with VLANs → connected to your VLAN-capable switch

LAN4 (nic3) → DMZ → for example, directly connected to your NAS or other Switch (optional)Code-Sprache: JavaScript (javascript)

Creating the bridges in Proxmox

Go to System → Network and click Create → Linux Bridge.

You only need to create bridges for the three required interfaces:

  • WAN
  • LAN
  • DMZ (optional)

Start with:

WAN:

LAN (with multiple VLANs for network segmentation):

Example VLAN IDs: 200, 300, 400, 500 — each VLAN represents a separate network with its own services.

DMZ (optional):

A DMZ (Demilitarized Zone) is a separate network segment used to host services that need to be accessible from outside the internal network, while keeping the internal LAN isolated and protected.

Then click Apply Configuration

The switch port connected to the OPNsense LAN interface requires the following VLAN configuration:

1U (untagged)
200T (tagged)
300T (tagged)
400T (tagged)

Next Step: Creating an OPNsense VM in Proxmox

Install Proxmox VE on the Protectli Appliance

for this demonstration, a Protectli VP2430 (4 × 2.5G ports) is used as the hardware platform.

While virtualized firewalls are not always the preferred approach in production environments, this guide addresses the common request to run OPNsense on top of Proxmox VE.

If you prefer to install OPNsense directly on the appliance instead of virtualizing it, you may skip the Proxmox steps below and create a bootable USB drive with the OPNsense image instead.

nic0 – LAN1: LAN Proxmox
nic1 – LAN2: WAN OPNsense
nic2 – LAN3: LAN OPNsense (VLAN Switch)
nic3 – LAN4: DMZ OPNsense

Requirements

  • A USB flash drive (8 GB or larger recommended)
  • Proxmox VE ISO image
  • A tool to create a bootable USB drive (e.g., balenaEtcher)
  • USB keyboard and mouse
  • Monitor
  • Network connection (LAN1 / nic0)

Download the Proxmox VE ISO installer from the official website (Download Proxmox software, datasheets, agreements) <- external LINK.

Step 1 – Create a Bootable USB Drive

  1. Download the latest Proxmox VE ISO.
  2. Use your preferred tool (e.g., balenaEtcher) to write the ISO image to a USB flash drive.
  3. Safely eject the USB drive once the process is complete.

Step 2 – Connect the Hardware

  1. Insert the bootable USB drive into the Protectli appliance.
  2. Connect a USB keyboard, USB mouse, and a monitor.
  3. Connect your network cable to LAN1 (nic0).

Step 3 – Boot from USB

  1. Power on the device.
  2. Enter the boot menu (commonly via F11, depending on BIOS).
  3. Select the USB device as the boot source.
  4. Choose “Install Proxmox VE (Graphical)” from the menu.

Step 4 – Installation Process

  1. Accept the EULA after reviewing it.
  2. Select the target disk for installation and click Next.
  3. Choose:
    • Country
    • Time zone
    • Keyboard layout
      Then click Next.
  4. Set a secure root password.
  5. Enter a valid email address for system notifications.
  6. Click Next.

Step 5 – Network Configuration

If LAN1 is connected to a network with an active DHCP server, an IP address may already be assigned automatically.

It is strongly recommended to:

  • Configure a hostname + static IP address
  • Ensure it is outside the DHCP range
  • Set the correct Gateway (GW)
  • Configure a DNS server

Since OPNsense will later handle DHCP services inside Proxmox, a static management IP ensures consistent access.

Click Next after entering the settings.


Step 6 – Final Review & Installation

  1. Review the summary.
  2. If everything is correct, click Install.
  3. Wait for the installation to complete.
  4. Reboot the system when prompted.

Accessing the Proxmox Web Interface + detach your USB Stick 😉

After reboot, access the Proxmox management interface via:

https://YOUR-IP-ADDRESS:8006Code-Sprache: PHP (php)

Login credentials:

  • Username: root
  • Password: The password defined during installation

Once the web interface is accessible via your browser, you can disconnect the keyboard, mouse, and monitor from the appliance. The system can then be managed entirely through the Proxmox web interface.

Next step: Network preparations