Get AI summaries of any video or article — Sign up free
your home router SUCKS!! (use pfSense instead) thumbnail

your home router SUCKS!! (use pfSense instead)

NetworkChuck·
6 min read

Based on NetworkChuck's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

pfSense replaces a consumer home router by combining routing, firewalling, and security features in one controllable system.

Briefing

Home routers are often slow, insecure, and frustrating to control—so the practical fix is to replace them with pfSense, a free, open-source router/firewall platform that turns a basic home setup into something secure and configurable. The core pitch is straightforward: pfSense can protect the network with features like IDS/IPS and other security controls, add “quality of life” tools such as dynamic DNS, and—most importantly—give owners real control over traffic flows, including routing all outbound traffic through a VPN.

The walkthrough starts with what to buy and how to wire it. pfSense is software, so it must be installed on hardware. Options range from a dedicated appliance (the Protectli Volt) to cheaper appliances (around $200 from Netgate, the official pfSense company) or running it virtually on existing systems like a VMware server. The setup also benefits from a managed switch that supports VLANs, which unlocks more advanced segmentation later. For the physical network design, the video distinguishes between whether the existing home router includes a modem. If it does, the home router should be placed into bridge mode so pfSense can receive the public IP on its WAN interface; if not, the modem connects directly to pfSense’s WAN port.

Installation is then demonstrated on a pfSense appliance using a downloaded AMD 64 installer written to a USB flash drive (Rufus is used). After booting, the admin login is set up through the initial wizard: hostname, DNS servers (Cloudflare as primary and Google as backup), NTP/time zone, and—crucially—interface addressing. The LAN interface IP is changed from the default private range to a custom subnet (the example uses 10.27.27.1), and the admin password is replaced with a secure one. Because the LAN IP changes, the browser access must be updated after the reboot.

Once the dashboard shows healthy interfaces, the guide moves into core configuration tasks. DHCP is confirmed and tuned: the LAN DHCP pool hands out addresses (example range 10.27.27.10–10.27.27.45), while lower and upper ranges remain reserved. Port forwarding is demonstrated by spinning up a simple Python HTTP server on port 80 and creating a NAT port-forward rule that forwards inbound WAN traffic on 80/80 to a specific internal host and port.

Dynamic DNS is configured using Cloudflare. pfSense’s Dynamic DNS service type is set to Cloudflare, and the Cloudflare global API key is entered (with a note that free domains from FreeNom won’t work with Cloudflare’s API). After saving, the public IP is tracked and a hostname like pfSense.<domain> resolves to the current WAN address.

The centerpiece is routing all selected LAN traffic through VPN—specifically Private Internet Access, with Nord VPN mentioned as an extended option. The process includes importing the provider’s certificates into pfSense’s certificate manager, creating an OpenVPN client with matching cryptographic settings (server address, port, cipher, and auth digest), and then adding an outbound NAT configuration so traffic from the LAN subnet is translated to the VPN interface. To control which devices go through the tunnel, the guide creates a firewall alias (e.g., “Pia_people” for a subset of LAN IPs) and uses policy-based routing via gateway selection. Firewall rules are ordered carefully so “allow via VPN” rules appear above “block if VPN down” rules. Connectivity is verified by checking the public IP from an external site and confirming it changes to the VPN provider’s egress.

Finally, pfSense’s ecosystem is used to keep the VPN alive: the Service Watchdog package monitors the OpenVPN client for Private Internet Access and restarts it if it fails. The video closes by pointing to additional packages and security add-ons (like pfBlockerNG, Suricata/Snort-related tooling, and Nmap) and argues that pfSense is enterprise-grade enough to replace a consumer router while adding both security and “fun” control over home networking.

Cornell Notes

pfSense is presented as a replacement for a typical home router because it adds stronger security, deeper control, and practical features like dynamic DNS and VPN routing. The setup begins with installing pfSense (on an appliance, custom hardware, or even as a virtual machine), wiring WAN/LAN correctly (often using bridge mode on the existing router), and completing the initial wizard to set DNS, time, interfaces, and admin credentials. After that, the guide demonstrates DHCP confirmation, port forwarding, and Cloudflare-based dynamic DNS. The main advanced section routes selected LAN clients through Private Internet Access using OpenVPN, outbound NAT, policy-based routing, and firewall rules that block traffic if the VPN gateway is down. A watchdog package can automatically restart the VPN if it crashes.

Why does the guide insist on bridge mode (or direct modem-to-WAN) when replacing a home router with pfSense?

Bridge mode matters because pfSense’s WAN interface ideally needs the public IP from the ISP. If the existing router stays in full routing mode, pfSense’s WAN may receive a private IP (e.g., 192.168.x.x), which the guide calls “not ideal.” If the ISP modem is separate (no modem inside the router), the simpler approach is to connect the modem directly to pfSense’s WAN port so pfSense gets the public IP automatically. If the router supports bridge mode, it should be enabled so pfSense can handle routing/firewalling end-to-end.

What are the first configuration checks after pfSense boots into the web interface?

The guide uses the setup wizard to set hostname, DNS (Cloudflare primary, Google backup), NTP/time zone, and interface addressing. It then changes the LAN IP from the default to a custom private subnet (example: 10.27.27.1). After reboot, it verifies DHCP is working by confirming the LAN DHCP server is enabled and checking the address pool (example: 10.27.27.10–10.27.27.45). It also checks the dashboard interfaces section to confirm WAN and LAN are up.

How does port forwarding work in pfSense in this walkthrough?

Port forwarding is configured through Firewall → NAT → Port Forward. The guide creates a rule that forwards inbound traffic arriving at the WAN on a destination port range (example: 80–80) to an internal host (example: 10.27.27.10) and a redirect target port (also 80–80). It then tests by accessing the public IP from outside the home and confirming the Python HTTP server responds.

How is dynamic DNS set up with Cloudflare on pfSense?

pfSense’s Services → Dynamic DNS is used. The service type is set to Cloudflare, and a hostname is chosen (example: pfSense.<domain> via a subdomain). The Cloudflare account email and a global API key are entered (the guide notes FreeNom free domains won’t work with Cloudflare’s API). After saving, pfSense shows a green status indicator and updates the cached public IP, allowing external access via the hostname even when the ISP IP changes.

What steps are required to route selected LAN clients through Private Internet Access using OpenVPN?

The workflow is: (1) import the PIA certificates into pfSense via System → Cert Manager (using the provider’s certificate blocks), (2) create an OpenVPN client under VPN → OpenVPN Clients with the correct server address/port and matching crypto settings (cipher and auth digest taken from the provider’s files), (3) add an outbound NAT rule so LAN traffic is translated to the VPN interface (Firewall → NAT → Outbound, using hybrid outbound NAT and manual mappings), (4) create an alias for the subset of LAN IPs that should use the VPN, and (5) add firewall rules on LAN that set the gateway to the PIA VPN gateway for those clients and block them if the VPN is down. The guide verifies success by checking the public IP from an external site and confirming it changes to the VPN provider’s egress.

How does the guide keep the VPN from silently failing?

It installs the Service Watchdog package from pfSense’s Package Manager. Then it configures Service Watchdog to monitor the OpenVPN client instance for Private Internet Access. If the VPN crashes, the watchdog restarts it automatically, and it can optionally notify via email (the guide doesn’t enable email in the demo).

Review Questions

  1. What networking conditions determine whether pfSense’s WAN interface should receive a public IP or a private IP?
  2. In your own words, what combination of pfSense features makes “only some devices go through the VPN” possible?
  3. Why does firewall rule order matter when implementing “allow via VPN” and “block if VPN down” behavior?

Key Points

  1. 1

    pfSense replaces a consumer home router by combining routing, firewalling, and security features in one controllable system.

  2. 2

    Correct WAN/LAN wiring is essential: bridge mode (when supported) or direct modem-to-WAN helps pfSense obtain the public IP.

  3. 3

    The initial wizard should be treated as a security step: change admin credentials, set DNS servers, and set LAN addressing to a non-default subnet.

  4. 4

    Core home needs can be handled quickly: confirm DHCP pools, create NAT port-forward rules, and enable dynamic DNS with Cloudflare.

  5. 5

    Routing traffic through a VPN requires more than just an OpenVPN client: outbound NAT, gateway selection, and firewall rules must align.

  6. 6

    To route only selected devices, use firewall aliases and policy-based routing so the VPN applies to specific LAN IPs/subnets.

  7. 7

    Service Watchdog can monitor the VPN client and automatically restart it if it fails, reducing downtime risk.

Highlights

pfSense is positioned as a “router and firewall software” replacement that’s free and open source, with built-in security and control features.
Dynamic DNS with Cloudflare is configured directly inside pfSense using the Cloudflare global API key, enabling hostname access even when the ISP IP changes.
The VPN section shows a full path to “VPN for selected clients”: OpenVPN client setup, outbound NAT, policy-based routing via gateways, and firewall rules that block traffic if the VPN is down.
Service Watchdog adds resilience by restarting the OpenVPN client when it crashes, turning VPN routing into a more reliable service.

Topics

Mentioned

  • pfSense
  • Netgate
  • Protectli
  • TP-Link
  • Cloudflare
  • Private Internet Access
  • NordVPN
  • VMware
  • Rufus
  • Unifi
  • FreeNom
  • IDS
  • IPS
  • DNS
  • ADPN
  • VPN
  • ISP
  • DHCP
  • NAT
  • VLANs
  • NTP
  • VGA
  • AMD 64
  • VMware
  • OpenVPN
  • ICMP
  • TCP
  • UDP
  • AES
  • GCM
  • CBC
  • SHA
  • IPv4
  • IPv6
  • CCNA
  • IoT
  • AP