PfSense as PXE boot server



  • Is it possible to setup pfSense as a PXE boot server?

    At the moment I have an arrangement whereby pfSense assigns IP addresses to PXE boot clients and booting is done via tftp which is run on a FreeNAS box. What I'd like to do is run tftpd and store boot images on the pfSense box.

    Has anyone done this?


  • Banned

    Install the tftpd package.



  • I don't see tftpd listed as an available pkg under Package Manager.


  • Banned

    It's available just fine on 2.3.3 and 2.4.



  • Strange….  I did an upgrade during the last week and it says I'm on the latest version - 2.3.2-RELEASE-p1(amd64)...



  • I have tftpd installed now, and wondered if there is a straightforward way of copying boot images which currently exist on my FreeNAS PXE server.


  • Banned

    Just use SCP and upload to /tftpboot. (Definitely wouldn't use the GUI for uploading ISO images.)



  • Is there a how to for this subject or is somebody willing to explain how to set this up? I searched and found nothing pfsense specific. Instructions for other OS are complex and likely do not apply. I would love to PXE boot ISOs hosted on pfsense.



  • At the moment I only use pfSense as a DHCP server, the rest of the PXE boot process is handled by my FreeNAS box.

    On the pfSense box goto

    Services -> DHCP Server

    Near the bottom there are options for TFTP Server, NextServer, Default BIOS filename, Root path.

    I haven't yet got round to migrating from FreeNAS to pfSense, but these are the options you need to set up to get PXE booting to work.

    Also, I'd recommend reading http://www.syslinux.org/wiki/index.php?title=PXELINUX



  • Thank you for the reply. In the meantime, I have figured this out. The settings in pfsense were relatively simple to figure out. More difficult was the installation of pxelinux and configuration thereof. I started with the link you provided and then went through numerous tutorials to get my various boot disks to work. When I find time I will document this better.



  • @revengineer Did you finally get around documenting the process better? I am just going through various tutorials (most of them being outdated) and any documentation would help a lot! But I guess after 2 years, you also might not remember the details...



  • @mjeltsch I just set this up today. I was not able to setup a pxe server on my pfsense box, however my pfsense server is running dhcp and I was able to setup another centos 7 server in my infrastructure and have pfsense hand over pxe clients to the pxe server.

    I built a centos 7 pxe/tftp server following these instructions (minus dnsmasq and dhcp):
    https://www.tecmint.com/install-pxe-network-boot-server-in-centos-7/

    For pfsense settings:
    got to : Services > dhcp server
    add your pxe server address by "TFTP Server"
    check Enable under "Network Booting"
    add your pxe server address by "Next Server"
    Add your default BIOS file name (I added "pxelinux.0" per it being the default configured on the centos 7 pxe server guide)



  • I actually finally managed to use the SG-3100 for PXE-booting (both for the dhcp and the PXE server). I did not want to increase my electricity bill by running another server... I document it here: https://jeltsch.org/PXE



  • nice! I'm working on a similar project. when I circle back to pxe boot from pfSense I'll expand on this.


Log in to reply