A quick answer to Installing Pfsense from USB? is to go to the pfsense download site, select the latest Pfsense version, which is right now 2.5.1, select architecture, installer type, console, nearest location, and then select the Download button. After this, download the Rufus USB tool and prepare a Pfsense bootable USB. After this, insert this USB into a target machine and boot this machine from USB. Once you can boot from USB then Pfsense Installation will begin. Let us now understand and execute these steps in detail.
A brief info about 2.5.1 pfsense release
The pfsense 2.5.1 is the best release to install, as it has overcome various bugs/issues experienced in the previous releases and the install size is so small that it can fit into any USB. Although you can get more detail on issues on the pfsense official site here is a brief info about fixed issues.
- Fixed issues with IPv6 Dhcp, VTI Interfaces, Mobile IPSEC DNS Server, Router Advertisements, Packets MSS value
- Fixed Issues for IPv4 Ca Certs, Switch Uplinks Interface status, Wan firewall rules, Alias Tables, SSH Authentication, and many more.
Pfsense hardware requirements
There is a lot of debate on what hardware should be used or shouldn’t be used, but this not in the scope of this article, however, here are the minimum and recommended requirements that may help you to build your own machine.
- CPU – 500 Mhz
- RAM – 512 MB
- CPU – 1 GHz
- RAM – 1 GB
The pfsense firewall software is a beauty when it comes to installing on hardware, you may either, choose an old forgotten desktop for home Setup, or you may look for a workstation or the beefiest hardware to set up for a small to medium organization.
While deciding for any machine just make sure it has two NICs (Lan Cards) or at least supports multiple LAN Cards. This is because, while installing pfsense, one LAN Card will be used for WAN (Internet) traffic, while the other will be used for LAN or private traffic. You can still use a machine that supports only one LAN card but for this, you will need to configure VLANs, and configuring VLANs is not in the scope of this Article.
Downloading Pfsense 2.5.1
in order to download pfsense, just go to the pfsense official download page, then the latest version is already selected, which at the time of writing this article is 2.5.1. Select Architecture as AMD 64bit, Select Installer as USB Memstick Installer, Select console to be VGA, Select Mirror to be your nearest location e.g Frankfurt, Germany or Newyork City, USA, etc. After this select, the Download button, and your download will begin.
From Where To Download Old Version For Pfsense?
if your system is very old then the chances are, that it can only support a 32-bit version but the 2.5.1 version only supports 64bit architecture. So in this, you will need to change your hardware and use 64bit hardware for installing pfsense.
I have asked you to change your hardware because of three reasons, 1st, why use a buggy version? because every new release fixes old bugs.
2nd, The pfsense developers discourage the use of old version and does not recommend old releases and that is the reason you cannot find the older versions to download and install.
Lastly, changes in the PHP 7.2 codebase for pfsense make the old versions incompatible with new features and thus break pfsense installation on upgrading. Here is a thread of detailed discussion on why you can’t download or install older pfsense versions and here is the list for Supported Processors and System Boards compatible with newer versions.
Create A Pfsense Bootable USB With Rufus Tool
Once our pfsense image is downloaded then we will download a windows tool called Rufus. This tool will help us make a pfsense bootable USB, and later we will install pfsense on our target machine by booting from this USB.
I have read many forums before using Rufus Tool, On forums, a lot of people are complaining that their pfsense USB will not boot, if you follow the tutorial and use the Rufus tool then the chances are that you won’t face the same trouble, otherwise, I have mentioned a few known solutions to such problems at bottom of this post.
I am using a windows machine to create a bootable USB, so I will be downloading the Rufus tool for windows. Here is a good read if you are using Mac or Linux to create bootable USB installation media.
If you are using a windows machine then Rufus will download into your windows Downloads folder. The Pfsense downloaded image is hardly under 500 MB so any 8 GB USB device will do.
Just insert the USB device into your windows machine and open the Rufus program. Once the program is opened then Select the Pfsense Image from the Downloads folder.
Once the image is selected then Rufus tool will auto select some settings for you, which is further discussed.
Once the pfsense install image is selected then the pfsense will auto-update the following settings such as Partition scheme as MBR, Target system as BIOS (or UEFI-CSM), and File System as FAT32 (Default). It is important to note that there are some old machines that do not support the UEFI system, but this auto-selection will work for both, older and newer ones in most cases.
Once the Image is selected then just press the START button, this will firstly, make the selected USB device bootable and then copy necessary pfsense installation files on it.
Since the pfsense install image is just under 500MB then writing the image to USB should take under 5 minutes but again that depends on your system speed. Once the image is written to the USB then close the Rufus wizard.
Run the Pfsense Installation Setup from USB
Now that our pfsense bootable USB is ready, it’s time to boot our targeted pfsense machine from it. To install pfsense from USB, we need to select “Boot from USB” from the machine’s boot menu at the machine startup time or if this option is not available then we need to enter the Bios setup and reach the boot order and select “Boot from the USB” as the first option.
I am using an old dell pc and I can access its boot menu using the F12 key and I can also enter the BIOS setup using the F2 key. You may be using a different brand such as HP, Lenovo, or others, so just follow your machine’s manual accordingly.
So once you are able to boot from Pfsense Bootable USB then you will see copyright and distribution notice screen.
Just Accept the notice, After this, you will be presented with a Welcome screen, and by default, Install pfsense is selected, so just press Ok to start the installation.
Next, just select the default standard Us keyboard unless using a non standard keyboard.
Next, you will see the partition screen.
Here you will be asked to Erase the entire disk, and pfsense will select a hard disk partition other than your USB device so select Entire Disk.
After this, it will default select GPT so press OK.
After this, you need to enter the Partitioning Information, for this just select the default selected option which can be Auto UFS BIOS (Legacy BIOS) or it can be Auto (UFS) UEFI. After you select Ok you will be presented with the following screen.
After this, it will display the Partition Editor Screen with the default Partition selected.
So if all looks ok to you, then press Finish then select Commit to start the installation.
Since the Installation File is just under 500MB, the installation doesn’t take much time to complete, mine hardly took under 5 minutes.
Once the installation is complete the last prompt asks you to enter any shell information (CMD Line Information), but if you are installing pfsense for the first time then selecting NO will suffice.
After selecting NO, you will be asked to reboot your pfsense firewall, so just take USB Device out of your system and then select reboot.
Once we are done with installing pfsense from USB, it is time to access its web interface so that we can further configure our firewall. To do this, first, we need to make sure that our firewall has LAN and WAN Access, and then we can access our firewall’s web interface on its LAN address. Assuming, that you have inserted both Lan and Wan Cable in your Pfsense firewall, then after the reboot, you will see the following screen.
As shown, on the screen there are two interfaces namely Wan and LAN, by default, pfsense selects the first machine interface as the wan interface and the second as the LAN interface. let me discuss these settings a little bit more with the help of underneath network diagram.
The following screen shows a general home network topology. You may be using an internet device such as a router or modem and this wan device has DHCP enabled. In this case, when a cable is attached from your wan device to your pfsense wan interface, then your pfsense wan interface will get an IP address through DHCP, and this will enable your pfsense firewall to reach the Internet.
The Pfsense LAN interface by default has an IP address 192.168.1.1 and has a DHCP server enabled. If you have a similar network topology then any device, such as your laptop or pc connected to the LAN switch will get an IP address through DHCP from the Pfsense LAN interface.
Assuming that pfsense has allocated an IP address to the user device through DHCP, Let us then open the pfsense web interface. For this just enter the default Pfsense LAN IP address, 192.168.1.1.
Initial Setup Pfsense, Using Web Interface (Web GUI)
Now that we are able to boot and install pfsense from USB then its time to access the pfsense web Interface, just type 192.168.1.1 on your web browser then it will open the pfsense login page for you, you may get a warning page before the pfsense login page, so just proceed without worry. After this enter the default username and password, the pfsense default username is admin and the password is pfsense. Here is a good future read for you, if you need to remote access the pfsense web interface from wan.
Let us start changing the default password to something strong, so follow the screenshots below.
Once you have access to pfsense login page, then enter the default username and password.
Next, you will see the welcome screen, so just select Next. After this you will see the Netgate® Global Support page, if you are looking for a subscription then select Learn more, else just select Next.
After this you will be presented with General Information Page, Just select a suitable hostname and domain and then select Next.
After this, the Time Server information page is presented, pfsense already chooses the best time server for you, but you may need to choose a different timezone, the default is Etc/UTC.
After this, Configure WAN Interface Page is shown, If your Wan interface gets an IP address automatically through DHCP, then choose WAN Selected Type as DHCP. If you need to statically assign an IP address then choose Selected Type as Static and type in the related settings and after this scroll down and select Next.
After this you will see Configure LAN Interface page, By default, pfsense enables DHCP server on the LAN interface, so just adjust the IP address and the subnet mask according to your need, or else, If you are happy with the default settings then hit the Next button.
Next, you will see the Set Admin WebGUI Password page, just type a strong password which will overwrite the default pfsense password. After this, retype the new password again, and then Hit the Next button.
Next, you will be asked to reload so just select the Reload button, then it will reload pfsense. And lastly, it will show Wizard completed Page, so now just press the Finish button.
After you press the Finish button, this will take you to the pfsense Dashboard page. If you get into any trouble booting from the USB or installing pfsense from USB, then check the last section for help.
Troubleshooting, Incase pfsense wont boot from USB
Installing pfsense from USB is very easy and simple, but sometimes, while preparing your USB device to be bootable, you may miss a few important details, which are discussed below.
- You may be using a UEFI-supported system, while you have created a non-UEFI/MBR Image that supports only legacy BIOS.
- Your system may support only legacy Bios that does not support UEFI, in this case, you may not able to boot the Pfsense Setup from USB, the workaround is to use the Rufus Tool with Partition Scheme as MBR and Target System as BIOS.
- You may try to create a bootable USB using software other than Rufus, such is the case with Unetbootin software, many people complained that their USB boot doesn’t work.
My final thoughts on installing the Pfsense from USB are, whenever you stuck with booting from the Pfsense bootable USB, always look for Partition Scheme, its most of the times, about UEFI or Legacy, so good luck.