Pi-Hole:全网络广告拦截与隐私保护终极方案
许多网站和服务仍通过追踪您的在线活动投放个性化广告,即便有欧盟 GDPR 等法规,隐私侵犯依然存在。软件广告拦截器虽有效但有局限:如智能电视几乎无法安装广告拦截器。最佳方案是部署基于硬件的网络级广告拦截设备——树莓派 Pi-hole。我们曾探讨树莓派 4 优秀项目,本文介绍另一个保护全网络免受广告骚扰的项目。
什么是 Pi-Hole?
Pi-hole 是基于 DNS 的过滤工具,配置后可在整个网络层面拦截广告、追踪、已知恶意网站和恶意软件。
为什么要使用 Pi-Hole?
木质支架上的树莓派 Pi-Hole
来源:Maxpixel
传统广告拦截器(U-Blocker、Adblock Plus)仅在浏览器或设备沙箱内工作,分析传入数据并移除识别为广告的内容。这对支持拦截器的设备有效,但网络中其他设备仍暴露。手动在所有设备安装拦截器既耗时又低效,且并非所有设备支持。Pi-hole 保护网络单一节点,即可为所有联网设备去广告:
- 智能手机(应用与游戏)
- 智能电视
- 智能手表
- 媒体播放器
- 投屏设备
Pi-hole 不仅拦截广告,配置后还能拦截已知追踪服务、屏蔽成人网站(保护儿童),阻止恶意软件与控制服务器通信。它是网络安全设备,而非单纯广告拦截器。但对非网络/硬件专业用户可能有门槛。
Pi-Hole 如何工作?
展示广告拦截原理的矢量图
访问含广告的网站/游戏/服务时,设备在加载主内容同时向管理广告的 DNS 服务器 URL 发起请求。路由器指定的 DNS 提供商解析广告 URL 并返回 IP 地址以加载广告。动态方式比静态嵌入更有利于跨供应商/服务器投放个性化广告。
Pi-hole 位于 DNS 提供商与设备之间作为中间人。拥有黑名单列表。设备发出请求时,Pi-hole 检查是否在黑名单中,若命中则阻断请求不至 DNS 提供商,回复一个不存在的地址(DNS 沉坑),浏览器/应用会在广告位显示空白或报错。
搭建与使用 Pi-Hole
Pi-Hole 兼容性极高,可运行于几乎任何 Linux 系统(Docker、虚拟机均可),只需将 DNS 指向它。最流行部署方式是使用廉价嵌入式电脑,本教程采用此法。
所需组件、设备与工具
- 树莓派 Zero(任意树莓派型号均可)
树莓派 Model 2 和 Pi Zero
- Micro SD 卡(16GB)
手持 MicroSD 卡
- 2.5A Micro USB 电源适配器
黑色手机充电器
- Micro USB 转 RJ45 以太网适配器
- 树莓派外壳
- 以太网线
以太网线
- 散热片(给树莓派用)
- Mini HDMI 线(连树莓派到电视)
HDMI 转 mini USB 转换器
此外需一台电脑将系统刷入 Micro SD 卡(可用 microSD/uSD 读卡器),强烈建议使用 Windows PC。教程涉及少量命令行,但我们力求步骤清晰易懂。
操作步骤
先在树莓派 Zero(或所选嵌入式电脑)安装系统,本教程选用 Raspbian Buster Lite。
- 电脑下载 Raspbian Buster Lite 镜像。
- 下载安装 balenaEtcher,用于将系统烧录进 Micro SD 卡。
- Micro SD 卡插入读卡器(连电脑)。
- 运行 balenaEtcher,选择镜像与 SD 卡目录,点击“Flash”。
- 拔插 Micro SD 卡。
- 打开文件资源管理器(若未自动弹出),系统显示标签为“boot”的新驱动器。若未显示需手动分配盘符。
- 进入 boot 文件夹,新建无扩展名文件命名为“ssh”(无引号)。
设置静态 IP 地址
- Micro SD 卡插入树莓派,上电,开启网络。
- 电脑登录路由器管理页,扫描 DHCP 客户端列表找到“raspberry pi”,或用 Angry IP Scanner 搜索。记下 IP 与 MAC 地址。

Angry IP Scanner
- 用树莓派 MAC 地址在路由器设置静态 IP(唯一、未被占用)。操作因路由器而异,登录管理页配置或搜索路由器型号教程。
- 拔插树莓派重启,使其获取新静态 IP。
使用 SSH 安装 Pi-Hole 软件
- 下载 PuTTY(SSH 客户端)。

PuTTY 官网截图
- PuTTY 输入树莓派静态 IP,点击 Open。
- 登录用户名:pi
- 密码:raspberry(登录后可用 passwd 修改)。
- 更新系统:
sudo apt update然后sudo apt upgrade -y。 - 运行安装命令:
curl -SSL https://install.pi-hole.net | bash。详见官方 GitHub。将启动自动安装向导。
配置 Pi-Hole 软件
安装完成后进入配置界面,连按回车至“Choose an Interface”页。确保选中 eth0 接口(除非用 Wi-Fi 不推荐,可选 wlan0)。设置上游 DNS 提供商,默认 Google DNS,可改 OpenDNS 或自定义。回车继续。
下一页选择/修改黑名单列表,建议保持默认。再下一页选择拦截广告用的 IP 协议,保持默认。继续。
向导列出可用 IP 地址(含树莓派与路由器 IP),可在此设置树莓派静态 IP,因已提前配置可直接跳过。注意:若提示 IP 冲突忽略继续。
- 下一页含 Web 服务器、接口、日志模式配置,不熟悉保持默认回车。
完成安装
- 向导按前序配置完成部署,耗时几分钟。完成后显示“Installation Complete!”,列出 Pi-Hole Web 界面 IP 与密码,请记录。
- 浏览器访问该 IP,输入密码,即完成全网络 Pi-Hole 部署。
可按设备单独配置 DNS 指向 Pi-Hole,或在路由器层面配置 DNS 为 Pi-Hole IP 实现全网保护。前者需逐台修改设备 DNS 设置,搜索“How to set DNS for [路由器型号]”获取教程。
Pi-Hole 可能误拦截合法元素/网站,以下为建议加入白名单的域名命令列表。
总结
广告侵扰烦人,但科技已融入生活(IoT、智能传感器等)。我们需在使用现代科技时保护隐私。Pi-Hole 是最佳方案之一,同时保持良好的网络与技术卫生、使用优质组件同样重要。
工业技术