在pfSense中强制使用Pi-hole过滤广告

前言

Pi-hole 是一款开源且免费的 DNS 沉洞服务器(DNS sinkhole),能够在不安装任何客户端侧软件的前提下为设备提供网络内容屏蔽服务,非常轻量易用。配合我们家庭现有的ALL IN ONE设备,可以轻松打造属于自己的家庭广告屏蔽助手。在pfSense中,也有类似功能的插件pfBlockerNG。Pi-hole 主要具有以下优点:

  • 全网保护:在一处安装Pi-hole,即可保护整个网络。
  • 阻止应用内广告:网络级屏蔽可让你屏蔽非传统位置(例如移动应用和智能电视)中的广告,无需考虑硬件或操作系统。
  • 改善网络性能:由于广告在下载之前被阻止,因此网络性能得到改善。
  • 监控统计:有易用的Web管理界面,提供查看统计数据。
  • 开源免费,对硬件的开销很小。

Pi-hole安装配置

Pi-hole的安装非常简单,适用不同的平台。安装可以参照官方文档,适用于中国的规则列表请自行搜索。

pfSense设置

Pi-hole搭建完成以后,除了在客户端手动指定使用Pi-hole DNS以外,也可以在pfSense中进行设置,强制客户端使用Pi-hole过滤。设置分为下面几个步骤:

1、取消pfSense的DNS解析和转发功能。

2、开启DHCP,添加Pi-hole DNS服务器。

3、添加防火墙规则,强制使用Pi-hole。

添加一条端口转发规则,将所有出站DNS查询转发到Pi-hole DNS服务器。注意要排除Pi-hole自身。

添加完成后如下图所示:

LAN接口也自动添加了以下规则:

测试

设置是否生效,可以采取以下方法进行测试。

登录Pi-hole Web管理界面,客户端打开不同的网页,通过查看Pi-hole过滤数据统计变化情况来判断是否生效。