Configure PXE Booting on pfSense

Tommaso Doninelli}
Tommaso Doninelli

How to boot a bare metal server on LAN! Nowadays is pretty uncommon to setup a workstation/laptop, and installing a Linux distro using a CD is even less frequent. Today we had to setup a workstation that we use to run some tests - we need a a bare metal server for these tests - and none of us had an USB stick, neither a DVD Writer :)

How to install an operating system in the era of cloud? Easily, with PXE and pfSense!

How to configure pfSense as a PXE boot server

What is PXE? How does boot from LAN actually works?

Nullam feugiat, pretium quam consectetuer adipiscing sed nisl molestie turpis at pulvinar vulputate, ullamcorper nec, augue id magna augue id magna sed nisl molestie iaculis quis, sed nisl molestie metus id velit rutrum non, porttitor ut, tempus molestie, porttitor ut, iaculis quis, augue id magna rutrum.

Maecenas sollicitudin a arcu imperdiet pretium quam tempus molestie, rutrum non, rutrum non, sit amet nibh sed nisl molestie sed nisl molestie sed nisl molestie augue id magna sem.

Proin in tellus pretium quam tempus molestie, iaculis quis, sed nisl molestie metus id velit consectetuer adipiscing porttitor ut, tempus molestie, a arcu imperdiet tempus molestie, pretium quam sit amet nibh lacinia neque nec bibendum odio risus pretium quam pretium quam erat libero tristique tellus, nonummy ac, nonummy ac, a arcu imperdiet porttitor ut, nonummy ac, consectetuer adipiscing turpis at pulvinar vulputate, porttitor ut, porttitor ut, urna.

Nulla non pretium quam turpis at pulvinar vulputate, rutrum non, nonummy ac, tempus molestie, turpis at pulvinar vulputate, nec bibendum odio risus augue id magna ullamcorper nec, porttitor ut, metus id velit metus id velit sit amet nibh sed nisl molestie sed nisl molestie sed nisl molestie nec bibendum odio risus sed nisl molestie lacinia neque sed nisl molestie turpis at pulvinar vulputate, metus.

Configure the Workstation

This step is easy: simply configure the workstation to boot from LAN!

Setup pfSense

pfSense is an open source firewall/router computer software distribution based on FreeBSD. It’s functionalities can be extended thanks to its plugin system

To use our pfSense box as a boot server, we need to

  • install a tftp server;
  • deploy a netboot image and ramdisk;
  • configure the DHCP server;

No worries, it is easier that it seems!

Install a tftp server

Open the pfSense admin dashboard and navigate to System -> Package Manager

In the Available packages menu, search tftp.

Install TFTP server package in pfSense
Search and intstall the TFTP package

Next, refresh the page and enable the TFTP server: Select Service -> TFTP Server and check the Enable TFTP Service checkbox.

Upload a NetBoot image

We choosed to install Ubuntu 18.04. Find the URL where to download the netboot iso. In our case, the URL is http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/ and the image name is netboot.tar.gz.

The image must be uploaded in pfSense. Download the tar acrhive and uncompress it locally. Now you have to copy the contents o the tar archive in the root of yout tftp server. A simple way is to SSH in the pfSense box and to download and extract the tar archive directly in the /tftpboot directory.

Configure the DHCP

Set in the DHCP options the TFTP server and the image to use to boot theservers. Select Services -> DHCP Server and scroll at the bottom of the page.

Set the following configurations:

  • TFTP Server AND Next server: the ip address of the pfSense box;
  • Default BIOS file name: the image youwant to use, pxelinux.0 in our case;
  • Enable the Enable network booting checkbox;


That’s it! Now boot your workstation, and install the operating system!

Tommaso Doninelli

CEO @ HakunaCloud

10 years as CTO, former Software Engineer at Amazon AWS, Cloud Solution Architect with projects in US, Europe and United Arab Emirates.

"I am a DevOps and automation advocate; you can test, deploy, analyze and improve even your grandma recipes. "