Pi-hole v6.5 介绍与选型指南

Pi-hole v6.5 网络级广告拦截 DNS 服务介绍与选型指南:三件套架构、功能特性、与 AdGuard Home/Blocky/Technitium 的量化对比,数据于 2026-10-18 实查官方源

Pi-holePi-holeDNSLinux2026/10/18

Pi-hole v6.5 介绍与选型指南

目标:面向准备做「全网广告与追踪域名拦截」的运维与自托管用户,介绍 Pi-hole v6.5(2026-10-17 发布)的定位、核心架构、功能特性与同类竞品选型对比,帮助读者在 10 分钟内判断 Pi-hole 是否适合自己的网络环境。本文为认知篇,全部版本号、活跃度数据均于 2026-10-18 从官方 GitHub Releases 实查取得,不做本地安装实测。

一、环境信息

本章是全文数据的「信息基准」:说明本文引用的版本号、活跃度数据从哪里来、什么时候查的,保证读者复现查询时可以比对时效。

  • 信息基准日期:2026-10-18(文中所有版本号与活跃度数据的查询日期)
  • 版本依据来源:GitHub Releases(pi-hole/pi-hole、pi-hole/FTL、pi-hole/web)
  • 活跃度依据来源:GitHub Repository API(star 数、fork 数、最近推送时间)
  • 许可证依据来源:pi-hole/pi-hole 仓库 LICENSE 文件(v6.5 tag)

官方来源清单:

来源地址用途
Pi-hole 官网https://pi-hole.net/项目主页、特性总览
官方文档站https://docs.pi-hole.net/安装、配置、原理文档
Core 主仓库https://github.com/pi-hole/pi-hole核心脚本与 gravity、Releases 页
FTL 仓库https://github.com/pi-hole/FTL解析引擎,C 语言实现
Web 界面仓库https://github.com/pi-hole/webWeb 管理台与 REST API(v6 起由 AdminLTE 更名而来)
官方论坛https://discourse.pi-hole.net/社区支持与排障
v6.5 发布页https://github.com/pi-hole/pi-hole/releases/tag/v6.5本次介绍的版本发布说明

💡 说明:Pi-hole 的版本号体系由三个组件版本共同组成(Core / Web / FTL),对外常以 Core 版本(v6.5)指代整个套件版本。查询时三个仓库的 Releases 页都要看。

二、软件概述

Pi-hole 是一个运行在 Linux 上的「网络级广告与追踪器拦截」方案,本质是一台自带拦截能力的递归转发 DNS 服务器:把局域网设备的 DNS 指向 Pi-hole 后,命中拦截列表的域名直接返回黑洞地址,广告与追踪请求在「域名解析」这一层就被拦下,根本到不了浏览器或 App。

本次介绍的版本:Pi-hole v6.5,Core 仓库于 2026-10-17 发布(GitHub Releases 实查),同一日配套发布的还有 FTL v6.8 与 Web 界面 v6.6.1。v6.5 是一个安全修复版本,修复了 4 个高危(CVSS 7.8/7.3)与 1 个低危安全通告,同时对 gravity 数据库 schema 做了性能优化(WITHOUT ROWID 关联表、新增分组查询索引,数据库迁移到 schema 版本 21)。

关键身份信息(均于 2026-10-18 实查):

项目内容来源
当前稳定版本v6.5(Core)/ v6.6.1(Web)/ v6.8(FTL)GitHub Releases
发布日期2026-10-17GitHub Releases
开源许可EUPL(欧洲联盟公共许可证,v6 起采用)LICENSE 文件
开发语言Shell + C(FTL 引擎)+ JS(Web 界面)各仓库
运行平台Linux(Debian/Ubuntu/Fedora 系官方支持)官方文档
主仓库 star 数61,319GitHub API,2026-10-18
最近代码推送2026-10-18GitHub API,2026-10-18

Pi-hole 的名字来源于 DNS 解析中的「黑洞」隐喻:被拦截的域名如同掉进一个黑洞(解析结果为 0.0.0.0 或 NXDOMAIN),请求再也无法到达广告服务器。项目 2015 年发起,最初面向树莓派(Pi)设计,如今已支持任意 x86_64/ARM64 Linux 主机。

三、核心架构

Pi-hole 由三个子系统组成,三者独立发版、协同工作。理解这个「三件套」结构,是看懂 Pi-hole 配置与排障的前提。

3.1 三大子系统

子系统仓库语言职责本次版本
Corepi-hole/pi-holeShell安装脚本、pihole 命令行工具、gravity 拦截库管理、日志轮转v6.5
FTLpi-hole/FTLCDNS 解析引擎(内嵌 dnsmasq 核心)、拦截判定、内置 Web 服务器与 REST API、查询统计数据库v6.8
Webpi-hole/webJavaScript/PHPWeb 管理台前端(仪表盘、查询日志、组管理)v6.6.1

关键解读:v6 之前 Web 界面依赖外部 Web 服务器(lighttpd)与 PHP 解释器;v6 起 FTL 直接内置了 Web 服务器与 REST API(监听 80/443 端口),不再需要 lighttpd,安装依赖大幅减少,配置也全部收敛到一个文件 /etc/pihole/pihole.toml。这是 v6 相对 v5 最大的架构变化。

3.2 DNS 解析与拦截流程

一次来自局域网设备的域名查询,在 Pi-hole 内部的完整处理链路如下(依据官方文档 docs.pi-hole.net 的架构说明整理):

  1. 客户端发起查询:局域网设备把 DNS 请求发往 Pi-hole 的 53 端口(UDP/TCP)。
  2. FTL 接收与判定:FTL(内嵌 dnsmasq)先查缓存;未命中则比对本地自定义记录(Local DNS),再走拦截判定——精确匹配 gravity 拦截库、正则匹配拦截规则、客户端分组策略。
  3. 命中拦截:按配置的拦截模式返回黑洞地址(默认 NULL 模式返回 0.0.0.0),查询记入日志并标记为 blocked。
  4. 未命中则转发上游:把查询转发给配置的上游 DNS(如公共 DNS、自建 unbound),拿到结果后写缓存并返回客户端。
  5. 统计落库:每次查询的域名、类型、客户端、结果、耗时都记入 pihole-FTL.db,供 Web 管理台绘制仪表盘与查询日志。

💡 技术拓展:Pi-hole 的「拦截模式」(blocking mode)不止一种,常见模式对比——

模式拦截时返回特点适用场景
NULL(默认)A 记录 0.0.0.0 / AAAA 记录 ::兼容性最好,客户端立即失败不等待绝大多数家用/办公网
IP-NODATA-AAAAA 记录 0.0.0.0,AAAA 返回空应答对双栈客户端减少一次 AAAA 查询重度 IPv6 环境微调
NXDOMAIN返回「域名不存在」部分客户端会快速放弃重试;个别程序可能误判网络故障想让客户端日志更干净的场景

Pi-hole v6 默认采用 NULL 模式,可在 Web 管理台或 pihole.toml 的 blocking.mode 中调整。

3.3 数据存储

Pi-hole v6 的持久化数据集中在 /etc/pihole/ 目录,四个核心文件各司其职:

文件作用生成/维护方
pihole.toml全量配置文件(v6 新增,单一配置源)FTL 读写
gravity.db拦截库:adlist 源、精确/正则黑白名单、分组、客户端Core 的 gravity 机制
pihole-FTL.db运行数据:查询历史、统计聚合、长期数据FTL
pihole.log / FTL.logDNS 查询日志 / FTL 引擎日志FTL

关键解读:pihole.toml 是 v6 的「唯一真源」——Web 管理台、REST API、CLI 修改配置最终都会写回这个文件(文件头注明 "This file is managed by pihole-FTL")。备份时保住 /etc/pihole/ 整个目录,即可完整恢复一台新实例。

四、功能特性

以下特性清单基于官方文档与 v6.5 发布说明整理,覆盖家庭与小型办公网络最常用的能力面。

4.1 网络级广告拦截

把局域网设备的 DNS(或路由器 DHCP 下发的 DNS 地址)指向 Pi-hole,全网设备即被覆盖——包括手机 App、智能电视、IoT 设备这些无法装浏览器插件的地方。默认自带 StevenBlack hosts 列表(实测约 7.3 万个拦截域名),可自行添加任意数量的 adlist 源。

4.2 精确、正则与通配黑白名单

支持精确域名、正则表达式、通配符三类规则的 allow/deny 名单,并可按「分组」组合:不同客户端组可用不同的拦截列表与规则集(例如儿童设备加严、办公设备放宽)。正则规则实测命中后按拦截模式返回(NULL 模式返回 0.0.0.0)。

4.3 加密 DNS 上游

v6 起 FTL 原生支持把上游配置为加密 DNS:https:// 前缀(DoH,DNS over HTTPS)与 tls:// 前缀(DoT,DNS over TLS),避免上游查询被中间链路窃听或篡改。

💡 技术拓展:加密 DNS 上游协议不止一种,常见协议对比——

协议传输层端口特点
DoH(DNS over HTTPS)HTTPS443与网页流量同端口,最难被网络侧识别封锁
DoT(DNS over TLS)TLS853专用端口,协议简单、排查直观
DoQ(DNS over QUIC)QUIC853基于 QUIC 多路复用,弱网延迟表现好
DNSCrypt自有协议自定老牌匿名认证协议,生态偏小众

Pi-hole v6 原生支持 DoH 与 DoT 两种上游形式;若需要 DoQ 或 DNSCrypt,通常在前置一层支持该协议的解析器(如 unbound、AdGuard Home)作上游。

4.4 Local DNS 自定义记录

内置 dnsmasq 的 hosts 记录能力,可为内网服务定义「域名=IP」映射(如把 mydev.lan 指到内网开发机),配合 dnsmasq 的条件转发(cond-conditional forwarding)可同时解析内网自定义域名与公网域名。

4.5 DHCP 服务器

可选启用 DHCP 服务接管地址分配,把「网关即 DNS」的链路彻底收进 Pi-hole,避免设备绕过拦截。v6 的 DHCP 支持静态租约绑定、每主机关联参数。

4.6 Web 管理台与 REST API

v6 内置 Web 服务器(默认 80 端口,可改)提供管理台:实时仪表盘(查询量、拦截率、Top 域名/客户端)、查询日志审计、组与名单管理、配置编辑。整套能力同时以 REST API 形式开放(/api/ 前缀),登录换取 SID 会话令牌后可完成全部管理操作,适合自动化脚本对接。

4.7 查询日志与长期统计

每次查询按「时间、客户端、域名、查询类型、结果状态、应答耗时」落库。查询日志支持按状态过滤(blocked/permitted/cached)、按域名检索;统计页提供 24 小时/7 天/长期趋势,可直观看清「谁在什么时候查了什么」。

4.8 其他工程能力

  • 分组管理:域名/列表/客户端三者按组关联,策略组合灵活。
  • 会话安全:Web 密码登录 + 可选 2FA(TOTP);v6.5 修复了多个高危安全问题,建议生产环境至少升到 v6.5。
  • Teleporter 备份:一键导出全部配置(toml、gravity.db、FTL 数据库等打包为 zip),迁移恢复方便。
  • gravity 机制:adlist 拉取→解析→去重→建库→原子替换,更新过程不中断解析服务。

五、快速上手

以下为官方文档给出的最小安装示例(引自 docs.pi-hole.net 与 pi-hole.net 主页,2026-10-18 查询;认知篇不包含本地实测,安装实测与逐条命令回显见本专栏部署篇)。

在 Debian/Ubuntu 系 Linux 服务器上,官方推荐的一键安装命令:

curl -sSL https://install.pi-hole.net | bash

安装器会交互式引导完成:上游 DNS 选择、拦截列表选择、网络接口与监听策略、是否启用日志、Web 管理台安装。安装完成后:

  • Web 管理台:http://<服务器IP>/admin/(安装结束时展示随机密码,可用 pihole setpassword 重设);
  • DNS 服务:53 端口,把局域网设备 DNS 指向服务器 IP 即生效;
  • 验证拦截:dig <服务器IP> doubleclick.net,返回 0.0.0.0 即拦截生效。

💡 说明:curl | bash 模式会以 root 执行远程脚本,安全敏感环境可先下载再审计:curl -sSL -o basic-install.sh https://install.pi-hole.net && bash basic-install.sh。打包运行时部署不在本篇展开。

六、适用场景与限制

6.1 适用场景

  • 家庭网络:路由器 DHCP 下发 Pi-hole 为 DNS,全屋去广告,智能电视/IoT 设备同样受益;
  • 小型办公室:集中 DNS + 拦截策略分组(访客/办公/儿童组不同策略),并借此获得全网域名访问审计能力;
  • 自托管基础设施的前置 DNS:内网服务用 Local DNS 记录统一命名,公网查询走加密上游;
  • 配合 unbound 组成「递归解析 + 拦截」栈:Pi-hole 拦截,unbound 直接向根服务器递归,减少对公共上游的依赖。

6.2 限制与不适用场景

限制说明
DNS 层拦截的天花板只能拦「按域名寻址」的广告;与内容同域投放的广告(如视频贴片)、同一 CDN 域名下的资源无法区分拦截
单点与高可用免费版无内置集群能力;需自备两台实例 + 路由器双 DNS 或 keepalived 浮动 IP 方案
内网依赖拦截依赖客户端「老实使用下发的 DNS」,设备手动改 8.8.8.8 即绕过;需在网关侧封禁外发 53 端口兜底
平台范围官方支持 Linux 服务器形态;路由器固件内置场景建议改用 OpenWrt 自带的 dnsmasq 方案
抗压规模官方定位家庭/中小网络;数千客户端以上的大型园区网建议做压力评估

6.3 与「浏览器插件拦截」的互补关系

uBlock Origin 等浏览器插件在页面元素层拦截(隐藏广告位、阻止脚本),Pi-hole 在 DNS 层拦截(域名黑洞)。前者精细但只管浏览器,后者覆盖全设备但粒度到域名。两者叠加使用是常见实践,并非二选一。

七、同类选型对比

本章数据均于 2026-10-18 从 GitHub API 与 Releases 页实查取得。候选对象选取了 DNS 层拦截/自托管 DNS 领域最常被拿来对比的三个方案:AdGuard Home、Blocky、Technitium DNS Server。

7.1 社区活跃度与版本节奏(量化对比)

指标(2026-10-18 实查)Pi-holeAdGuard HomeBlockyTechnitium DNS Server
主仓库pi-hole/pi-holeAdguardTeam/AdGuardHome0xERR0R/blockyTechnitiumSoftware/DnsServer
star 数61,31937,5077,03910,146
fork 数3,3252,551315802
最近代码推送2026-10-182026-10-162026-10-162026-10-17
最新稳定版v6.5(2026-10-17)v0.107.79(2026-08-18)v0.35.0(2026-09-05)v15.6.2(2026-10-17)
官方打包运行时项目 star11,690主仓库自带主仓库自带主仓库自带

关键解读:Pi-hole 的社区规模(star/fork/论坛)显著领先,四个项目均在近一周内有代码推送,都处于活跃维护状态;版本节奏上 Pi-hole、Technitium 发布最勤(10 月内均有新版)。

7.2 功能与形态对比

维度Pi-hole v6.5AdGuard Home v0.107.79Blocky v0.35.0Technitium v15.6.2
实现语言Shell + CGoGoC#/.NET
许可证EUPLGPL-3.0Apache-2.0GPL-3.0
Web 管理台内置(FTL 直带)内置无(依赖 API + 第三方面板)内置
REST API完整(v6 内置)完整完整完整
拦截能力gravity 列表 + 精确/正则/通配 + 分组过滤列表 + 自定义规则(hosts/广告语法)+ 家长控制列表 + 精确/正则/通配 + 分组拦截区(zones)+ 列表,DNS 能力最全
加密上游DoH、DoTDoH、DoT、DoQDoH、DoTDoH、DoT、DoQ、DNSCrypt
加密入站DoH、DoT(FTL 内置)DoH、DoT、DoQDoH、DoTDoH、DoT、DoQ、DNSCrypt
DHCP内置内置无内置
单文件交付否(脚本安装)是(单二进制)是(单二进制)否(.NET 运行时)
资源占用定位极低(树莓派可跑)低极低中(.NET 运行时)
递归解析需配 unbound 等外置需配上游(可接 unbound)需配上游内置递归解析器

关键解读:Blocky 是「纯 DNS 代理拦截器」,没有管理台,适合配置即代码(YAML)的极简玩家;AdGuard Home 功能与 Pi-hole 最接近,单二进制交付更省事,且加密协议支持更全;Technitium 本质是「全能 DNS 服务器」(递归、条件转发、DoH 服务端、DNSCRYPT 全都有),拦截只是其一;Pi-hole 胜在生态、查询统计体验与「家庭友好」的成熟度。

7.3 选型建议

  • 选 Pi-hole:想要最成熟的社区、最好用的查询统计面板、家里有老树莓派闲置;接受多一个「FTL 引擎」概念模型;
  • 选 AdGuard Home:想要单二进制、更全的加密 DNS 协议、家长控制(按设备安排上网时段);从 v5 迁移而来的用户注意 v6 配置体系变化;
  • 选 Blocky:无 GUI 需求、用 YAML 管配置、追求最小资源占用;
  • 选 Technitium:主诉求是「完整 DNS 服务器」(递归/权威/条件转发/拆分 DNS),拦截是附带需求;
  • 组合方案:Pi-hole(拦截+统计)+ unbound(递归解析)是自托管社区最经典的组合,Pi-hole 官方文档对该组合有专门章节。

八、参考链接

  1. Pi-hole 官网:https://pi-hole.net/
  2. 官方文档站:https://docs.pi-hole.net/
  3. v6.5 发布说明(GitHub Releases):https://github.com/pi-hole/pi-hole/releases/tag/v6.5
  4. Core 主仓库:https://github.com/pi-hole/pi-hole
  5. FTL 引擎仓库:https://github.com/pi-hole/FTL
  6. Web 界面仓库:https://github.com/pi-hole/web
  7. FTL 配置参考(pihole.toml 全参数):https://docs.pi-hole.net/ftldns/configfile/
  8. AdGuard Home 仓库:https://github.com/AdguardTeam/AdGuardHome
  9. Blocky 仓库:https://github.com/0xERR0R/blocky
  10. Technitium DNS Server 仓库:https://github.com/TechnitiumSoftware/DnsServer
  11. Pi-hole 官方论坛:https://discourse.pi-hole.net/
  12. 本平台相关篇:《Pi-hole Docker Compose 部署指南》
  13. 本平台相关篇:《Pi-hole v6.5 配置参数详解》
  14. 本平台相关篇:《Pi-hole 日常运维手册》