We'll want to prepare for determining our requirements by gathering the following information:
- Our internet connection speed
- Our network hardware speed (10/100/1000 Mbps)
- The connection speeds different users will be expecting
Let's begin by considering the throughput guidelines provided on the official pfSense website:
Processing power required
Hardware (PCI-X/PCI-e NICs)
500 MHz CPU
1 GHz CPU
Recommended (for 100 Mbps and faster)
2 GHz CPU
3 GHz CPU
The following table defines any additional system requirements that would be necessary if deploying optional features.
A CPU's encrypted throughput is roughly 20 percent of its unencrypted throughput. If you have a 500 MHz processor (50 Mbps unencrypted) and you need more than 10 Mbps encrypted throughput, you need a faster processor, or a separate encryption card.
Environments with a larger number of captive portal users (100+) may need to bump their processing power up slightly to achieve the same throughput.
Large state tables
The default state table size of 10,000 entries takes up 10 MB of RAM. Large environments with hundreds of thousands of entries will want to make sure they have the necessary memory available. It may require you to have at least 2 GB of RAM.
This is a package used for caching web content, and this requires extensive use of a hard disk with a large amount of storage. It is not for use with an embedded installation where writes to the compact flash card are kept to a minimum.
This is a packet sniffer/intrusion prevention and detection system (IPS/IDS). A minimum of 512 MB RAM is required.
This is a network traffic reporting tool. A minimum of 512 MB of RAM is required.
- Our small business rarely has more than a dozen users on the LAN, but all the PCs in the department have GB Ethernet NICs, and the switches are all Gigabit or faster. The internet connection is only about 100 Mbps, so our network hardware is actually much faster than what we need for using the internet. Nevertheless, Gigabit Ethernet ensures that we get fast, reliable transfer times when accessing resources over the local network.
- We want to provide VPN access for remote employees, but we do not anticipate more than a few VPN users at any given time.
- We have also decided that we want to install Ntop to diagnose network traffic problems.
- Finally, since we are saving money by using pfSense, we have decided to reinvest some of the savings into added redundancy. To this end, we will implement a CARP failover group on our network.
At this point, we have identified our minimum requirements as:
- 1 Gbps network hardware (cables and switches)
- Unencrypted throughput of 100 Mbps (bound by speed of Internet connection)
- Encrypted throughput (VPN) of 20 Mbps
- 1 GHz CPU, 1 GB RAM
- A second, identical machine to be used as a failover.
Throughput is the amount of data that can be processed at any given time. For example, we might have a 100 Mbps broadband connection, but if the WAN interface on our firewall can only handle 10 Mbps, that's all we're going to get. Conversely, if we have a Gigabit Ethernet adapter for the WAN interface, but we still only have a 100 Mbps broadband connection, now our internet connection has become the bottleneck.
Firewall throughput is only a factor for traffic passing through the firewall. Internet traffic meets this requirement (LAN <| WAN), as would any traffic between our own networks (LAN <| DMZ). However, traffic between two computers on the same network (for example, the LAN) will not be processed by the firewall and, therefore, the firewall will not be a bottleneck in that scenario.
You should remember that certain firewall features have their own hardware requirements. For example, VPN connections require additional processing power and the Squid web caching package is not suitable for an embedded compact flash disk installation.
With the release of pfSense 2.4, many obsolete packages have been removed from the
Package Manager and many new packages are now available. To view available packages, navigate to
Package Manager |
Read more about the minimum hardware requirements here: https://www.netgate.com/docs/pfsense/book/hardware/minimum-hardware-requirements.html.