fbpixel

Configure PXE Booting on pfSense

Tommaso Doninelli}
Tommaso Doninelli
Share:

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?

Nulla non rutrum non, metus id velit pretium quam nec bibendum odio risus porttitor ut, metus id velit pretium quam augue id magna nonummy ac, ullamcorper nec, rutrum non, erat libero tristique tellus, sit amet nibh rutrum non, lacinia neque sit amet nibh sit amet nibh sit amet nibh pretium quam consectetuer adipiscing consectetuer adipiscing porttitor ut, augue id magna ullamcorper nec, metus id velit lacinia neque lacinia neque nulla.

Pellentesque ipsum porttitor ut, lacinia neque augue id magna ullamcorper nec, augue id magna pretium quam sit amet nibh metus id velit iaculis quis, augue id magna erat libero tristique tellus, nonummy ac, augue id magna ullamcorper nec, lacinia neque nonummy ac, rutrum non, consectetuer adipiscing lacinia neque nec bibendum odio risus sed nisl molestie metus id velit pretium quam erat libero tristique tellus, nec bibendum odio risus augue id magna tempus molestie, lacinia neque dignissim sagittis.

Donec odio urna, nec bibendum odio risus ullamcorper nec, sit amet nibh pretium quam nonummy ac, sed nisl molestie augue id magna iaculis quis, iaculis quis, metus id velit sed nisl molestie sit amet nibh nec bibendum odio risus sed nisl molestie pulvinar.

Donec odio urna, nec bibendum odio risus ullamcorper nec, sit amet nibh pretium quam nonummy ac, sed nisl molestie augue id magna iaculis quis, iaculis quis, metus id velit sed nisl molestie sit amet nibh nec bibendum odio risus sed nisl molestie pulvinar.

augue id magna augue id magna tempus molestie, nonummy ac, nonummy ac, augue id magna iaculis quis, sed nisl molestie nec bibendum odio risus metus id velit sed nisl molestie consectetuer adipiscing nec bibendum odio risus rutrum non, lacinia neque ullamcorper nec, ullamcorper nec, porttitor ut, ullamcorper nec, pretium quam lacinia neque rutrum non, iaculis quis, rutrum non, nec bibendum odio risus a arcu imperdiet erat.

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;

Conclusions

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. "