How to Use Pi Hole on your pfSense Router

I've started experimenting at home with enterprise grade gear of network switches and servers, this trend is referred to as a Homelab and there's a big community around it.


Soon I will be covering every part of my humble homelab in a separate post. For now, I decided to write this article to help beginners who have installed Pi Hole on a VM or maybe a Raspberry Pi and don't really know how to configure thier pfSense router properly with Pi Hole as the primary DNS server.

Determine IP Address Information

Now, I suppose you have to determine the IP addresses of both:
  • pfSense Router
  • Pi Hole VM or Device
Please make sure you have assigned a static IP address for the Pi Hole server.

Configure pfSense Router with Pi Hole

From your pfSense control panel which happens to be on this address https://10.0.0.1 in my case. Please proceed from the menu above to System → General Setup → DNS Server Settings where you should find this:


Please refer to the image above and make sure you have added the Pi Hole IP address as a new DNS Server which is 10.0.0.100 in my case. In addition to that, untick both of those options you can find at the bottom.
  • Allow DNS server list to be overridden by DHCP/PPP on WAN
  • Do not use the DNS Forwarder/DNS Resolver as a DNS server for the firewall
After that, proceed to Services → DNS Resolver → General Settings where you will find settings related to pfSense native DNS resolver, now make sure you have all of the following options ticked:
  • Enable DNS resolver
  • Enable DNSSEC Support
  • Enable Forwarding Mode
That's it, now you can proceed to the final step which is confirming everything is working as intended.

Ensure Pi Hole is Working

Okay, now you can go to your Pi Hole admin panel which is in my case hosted on this address http://10.0.0.100/admin/ then you should open a web browser on any of your pfSense router client devices, try visiting any website and observe what's happening on the Pi Hole admin panel overview.

If you can see live information about the DNS queries that Pi Hole server is receiving while surfing the web on your client devices, that indicates everything is configured properly.
Speak Your Mind

Explore More

Discussion