To install pfSense, first a few decisions are necessary to pick which type of installation will be performed.
64-bit vs 32-bit
pfSense supports both 64-bit (amd64) and 32-bit (i386) architectures. The amd64 platform works on current x86-64 hardware from Intel, AMD, etc. If the hardware is capable of using a 64-bit operating system, then run the amd64 version.
Full vs Embedded vs LiveCD
The first major decision is whether to use a Full or Embedded installation type. Typically, a Full Install is performed to an SSD or HDD, while Embedded is used for CF/SD/USB media.
An Embedded style installation is geared toward reduced writes on the filesystem, but also cannot run some of the more interesting available packages. A full install may be a little rougher on the target media, but is fully capable of using any packages and other features. See Full Install and NanoBSD Comparison for a more complete list of differences between the two platforms.
A third, much less used type, is running the LiveCD without installing to disk. This type of install does not require an HDD/SSD or CF/SD media, but cannot run any packages. The LiveCD image doubles as an installer for Full Installs. To use the LiveCD, boot the image and configure it without invoking the installer. In this mode, pfSense may also be temporarily tested without otherwise altering the system. The configuration file can be stored on a separate USB stick.
LiveCD vs Memstick vs Memstick Serial
If a Full Install is to be performed, there are three types of install media that can be used to accomplish the task:
- LiveCD (ISO image, CD/DVD disc): Easy and familiar to many, if the target hardware has an optical drive it’s a solid choice, especially if the BIOS will not boot from USB.
- Memstick: Like the LiveCD, but run from a USB thumb drive. Often faster than the LiveCD. Many new devices do not have integrated optical drives, making this the current best recommendation.
- Serial Memstick: Like the Memstick image, but runs using the serial console rather than VGA, for newer embedded systems.
NanoBSD vs NanoBSD+VGA
NanoBSD uses the Serial Console by default, so there are two sets of NanoBSD images:
- NanoBSD: Embedded install type using the serial console by default
- NanoBSD+VGA: Like NanoBSD, but uses the VGA console instead.
Virtual Machines, such as VMware/ESX, should be installed using the ISO image. They can be used to firewall completely inside a hypervisor host for other virtual machines, or for edge filtering/routing tasks.
Prepare Installation Media
The downloaded image must be written to target media before it can be used. For a Full Install, this media is used to boot and install and then will not be needed again, and for LiveCD it will remain connected to the firewall. For Embedded, the target media is the disk (CF/SD) that will contain the Operating System.
- Write the ISO (LiveCD): If the LiveCD .iso file was downloaded, it must be burned to a disc as an ISO image. See Writing ISO Images for assistance.
- Writing Memstick or NanoBSD images: This task is covered with great detail in the Writing Disk Images article here on the wiki.
Connect to Serial Console (NanoBSD, Memstick-serial)
Before attempting to install or boot, if a serial-based image was used, such as NanoBSD or Memstick-Serial, connect to the serial console with a null modem cable and with appropriate terminal options. See Connecting to the Serial Console for specifics.
Performing a Full Install (LiveCD, Memstick)
Power on the target system and connect the install media: Place the CD into the drive or plug the Memstick into a USB port. If the BIOS is set to boot from CD/USB, pfSense will start.
For other boot issues, Installation Troubleshooting.
As the operating system boots and pfSense starts, a prompt is presented with some choices and a countdown timer. At this prompt, press i to invoke the installer now.
Alternately, allow the system to boot the rest of the way, assign interfaces, and then choose option 99 to invoke the installer.
The Quick/Easy Install option is, as the name implies, both Quick and Easy. That is the method which will be demonstrated here.
First, the installer console can be changed to use a different font, screenmap, or keymap. Most people do not need to change these, but it may help with some international keyboards.
At the Select Task prompt, choose Quick/Easy Install.
The Quick/Easy Install option assumes the first located disk is the intended target, so be sure there is only one SSD/HDD is present in the system.
- NOTE: A GEOM mirror (software RAID) may also be configured by choosing Custom Install and then invoking the option to create the mirror and select the disks. Once that has been completed, then it is possible to return to the Select Task screen and proceed with a Quick/Easy Install
Because the next step is destructive to whatever is currently on the target disk, confirmation is required to proceed. Select OKthen press Enter.
The install will proceed, wiping the target disk and installing pfSense. Copying files may take some time to finish.
After the files have been copied to the target disk, a choice is presented to select the console type. Standard defaults to the VGA console. Embedded defaults to serial console.
Now the system must reboot so that pfSense may start from the target disk. Select Reboot and then press Enter. Be sure to remove the disc or USB memstick so that the system will not attempt to boot from there next time.
After the system reboots, pfSense will be running from the target disk. The next step is to Assign Interfaces on the Console below.
Embedded / NanoBSD
Before attempting to boot, if ALIX hardware is being used, ensure the device has the latest BIOS (at least 0.99h) and set CHSmode in the BIOS. See ALIX BIOS Update Procedure for details.
Install the target media into the device, and ensure the BIOS is configured to boot from that disk.
If everything is configured correctly the kernel will begin to load. For serial console images, systems with VGA output will stop displaying with a “/” on the screen or may stop at a “BTX” message. From that point on all output is sent to COM1. Connect to the serial console to view the remaining output.
Assign Interfaces on the Console
The default configuration file on pfSense 2.2 has em0 assigned as WAN, and em1 assigned as LAN. If the target hardware hasem0 and em1, then the assignment prompt is skipped and the install will proceed as usual.
A list of network interfaces and their MAC addresses that were located on the system will appear, along with an indication of their link state if that is supported by the network card. The link state is denoted by “(up)” appearing after the MAC address if a link is detected on that interface. The MAC (Media Access Control) address of a network card is a unique identifier assigned to each card, and no two network cards should have the same MAC address. After that, a prompt will be shown for VLAN configuration.
The option to assign VLANs is presented first. If VLANs are not required, or they are not known, enter No here. VLANs are optional and are only needed for advanced networking. VLAN-capable equipment is also required if they are to be used. SeeVLAN Trunking for details.
LAN, WAN, OPTx
The first interface prompt is for the WAN interface. If the interface is known, enter its name, such as igb0 or em0 and pressEnter. If the identity of the card is not known, see the next section for the Auto Assign Procedure.
The second interface prompt is for the LAN interface. Enter the appropriate interface, such as igb1 or em1, and press Enteragain. If only the WAN interface is to be used, and no LAN, press Enter without giving any other input.
Only one interface (WAN) is required to setup pfSense. If more interfaces are available they may be assigned as LAN and OPTx interfaces. The procedure is the same for additional interfaces: Enter the appropriate interface name, then press Enter.
When there are no more interfaces to add, press Enter. The list of assigned interfaces is displayed. If the mappings are correct, enter y, otherwise enter n and repeat the assignment.
- NOTE: If only one NIC is assigned (WAN), This is called Appliance Mode. In this mode, pfSense will move the GUI anti-lockout rule to the WAN interface so the firewall may be accessed from there. The usual routing functions would not be active since there is no “internal” interface. This type of configuration is useful for VPN appliances, DNS servers, etc.
Auto Assign Procedure
For automatic interface assignment, first unplug all network cables from the system, then type a and press Enter. Now plug a network cable into the interface that should connect to the WAN, and press Enter. If all went well, pfSense should know now which interface to use for the WAN. The same process may be repeated for the LAN, and any optional interfaces that will be needed. If a message is displayed such as No link-up detected, see Installation Troubleshooting for more information on sorting out network card identities.
pfSense Default Configuration
After installation and interface assignment, pfSense has the following default configuration:
- WAN is configured as an IPv4 DHCP client
- WAN is configured as an IPv6 DHCP client and will request a prefix delegation
- LAN is configured with a static IPv4 address of 192.168.1.1/24
- LAN is configured to use a delegated IPv6 address/prefix obtained by WAN (Track IPv6) if one is available
- All incoming connections to WAN are blocked
- All outgoing connections from LAN are allowed
- NAT is performed on IPv4 traffic leaving WAN from the LAN subnet
- The firewall will act as an IPv4 DHCP Server
- The firewall will act as an IPv6 DHCPv6 Server if a prefix delegation was obtained on WAN, and also enables SLAAC
- The DNS Resolver is enabled so the firewall can accept and respond to DNS queries
- SSH is disabled.
- WebGUI is running on port 443 using HTTPS
- Default credentials are set to a username of admin with password pfsense
After installation and assignment, a shell menu is presented on the console with a number of options. pfSense now is ready to be accessed via the network, either on the LAN interface (if one is assigned), or on the WAN interface in a single interface deployment.
Connect to the GUI
The WebGUI is used to configure the vast majority of items in pfSense. It may be accessed by any modern browser, though Firefox and Chrome are preferred.
Connect a client PC to the LAN of the firewall and ensure it obtained an IP address. If it did not, it may be plugged into the wrong port.
Open a web browser and navigate to https://192.168.1.1/, using the default username admin and password pfsense to login.
The first visit to the WebGUI will be redirected to the setup wizard, which is also accessible at System > Setup Wizard. Proceed through the wizard and configure things as desired.