Virtualizing with Proxmox® VE

This following article is about building and running pfSense® software on a virtual machine under Proxmox Virtual Environment (VE). The guide also applies to any newer Proxmox VE version. Article covers Proxmox VE networking setup and firewall virtual machine setup process. The guide does not cover how to install Proxmox VE.

A basic, working, virtual machine will exist by the end of this article.

Assumptions

  • Proxmox VE host is up and running

  • Host has at least two network interfaces available for WAN and LAN.

  • pfSense software ISO image is present on the Proxmox VE host

Basic Proxmox VE networking

First create two Linux Bridges on Proxmox VE, which will be used for LAN and WAN on the firewall VM.

  • Select the host from the server view

  • Navigate to System > Network

This example uses eth1 and eth2 interfaces for the firewall, while eth0 is for Proxmox VE management.

../_images/screen_shot_2017-06-17_at_23.19.20.png
  • Click create

  • Select Linux Bridge

  • Enter eth1 under Bridge ports

../_images/screen_shot_2017-06-17_at_23.19.59.png

Repeat the process to add another Linux Bridge, this time add eth2 under Bridge ports.

../_images/screen_shot_2017-06-17_at_23.20.13.png

Proxmox VE networking should now display two Linux bridges like on the following screenshot.

Warning

Proxmox VE requires a reboot if the interfaces are not marked Active.

../_images/screen_shot_2017-06-17_at_23.23.59.png

Creating a virtual machine

After creating WAN and LAN Linux bridges, now proceed to create a new virtual machine.

  • Click Create VM from the top right section to display the new virtual machine wizard

  • Navigate to the General tab

  • Enter a Name for the VM (e.g. firewall)

  • Navigate to the OS tab

  • Set the following options:

    Use CD/DVD disc image file

    Selected

    Storage

    local

    ISO image

    Select the previously uploaded ISO image

    Guest OS Type

    Other

  • Navigate to the System tab

  • Set the following options:

    Graphic card

    SPICE

    Note

    The SPICE console uses less CPU when idle and supports more advanced console features than the default console. It is compatible with the VNC Proxmox VE console as well as the more advanced virt-viewer console application.

  • Navigate to the Hard Disk tab

  • Set the following options:

    Bus/Device

    VirtIO Block

    Disk Size

    Enter an appropriate disk size, no less than 8 GB.

  • Navigate to the CPU tab

  • Set the following options:

    Socket

    1

    Cores

    1 or more cores as needed

    Type

    Host to match the CPU on the hypervisor hardware

  • Navigate to the Memory tab

  • Set the following options:

    Memory

    At least 1024 MB

    Minimum Memory

    Use the same value as Memory

  • Navigate to the Network tab

  • Set the following options:

    Bridge

    vmbr1

    Model

    VirtIO (paravirtualized)

  • Navigate to the Confirm tab

  • Review the settings and make any final corrections if necessary

  • Click Finish

  • Wait for the VM creation process to finish

Now add another network adapter to the VM:

  • Expand the Server View list on the left to show the contents under Datacenter and the name of this hypervisor node (e.g. pve, proxmox, etc.)

  • Select the newly created virtual machine from list

  • Click Hardware in the right pane

  • Click Add

  • Click Network Device

  • Set the following options:

    Bridge

    vmbr2

    Model

    VirtIO (paravirtualized)

  • Click Add

Review the hardware list for the VM and confirm it now contains two network interfaces.

Starting and configuring the virtual machine

After creating a new virtual machine and adding network interfaces, it is time to start the virtual machine.

  • Expand the Server View list on the left to show the contents under Datacenter and the name of this hypervisor node (e.g. pve, proxmox, etc.)

  • Select the newly created virtual machine from list

  • Click Start

  • Click Console on the left, under Summary

    Note

    The Console button at the top will launch the console in a new window, which depending on the settings may require an additional client installation such as virt-viewer.

When the VM starts it will boot into the installer automatically. From there, follow the installation steps as usual, and reboot when finished.

After the virtual machine reboots, the console will stop at an interfaces assignment prompt.

  • Type n and press Enter to skip VLAN configuration

  • Enter vtnet0 for WAN

  • Enter vtnet1 for LAN

  • Press Enter

  • Type y and press Enter to complete the interface assignment

After interfaces have been assigned, the VM will complete the boot process.

Disable Hardware Checksums with Proxmox VE VirtIO

When using VirtIO interfaces in Proxmox VE, hardware checksums must be disabled.

Warning

Do not skip this step, otherwise the virtual machine will not properly pass traffic. Accessing the firewall may be sluggish at first, but changing this setting will correct that as well.

After the installation and interfaces assignment processes are complete, connect to the assigned LAN port from another computer.

To disable hardware checksum offload:

  • Navigate to System > Advanced, Networking tab

  • Locate the Networking Interfaces section

  • Check Disable hardware checksum offload

  • Click Save

  • Reboot the firewall from Diagnostics > Reboot or the console menu

../_images/screen_shot_2017-06-30_at_18.51.25.png

Congratulations, the virtual machine installation and configuration on Proxmox VE is now complete.