这是本节的多页可打印视图。
点击此处打印.
返回此页面的常规视图.
基础教程
通过生动的比喻了解网络基础知识
📚 阅读指引
为了让网络知识更容易理解,本教程将使用大量来自日常生活的比喻和类比。
我们的目标是让每个人都能轻松掌握网络基础知识,无论是否有技术背景。
虽然这些比喻可能不够严谨,但它们将帮助您快速建立对网络概念的基本认知。
网络基础知识介绍
在本教程中,我们将通过生动的比喻和类比来解释网络基础知识。我们的目标是让每个人都能轻松掌握这些概念,无论是否有技术背景。虽然这些比喻可能不够严谨,但它们将帮助您快速建立对网络概念的基本认知。
不同于严谨的专业名词,本段将使用大量的通俗表述,以便非专业人士能理解网络基础的概念。
我们将使用大量的恰当或不恰当的比喻和类比,目的是让读者能够快速理解网络基础的概念。
1 - DNS是什么
DNS(域名系统)是互联网的基础设施之一,本文介绍DNS的基本概念和工作原理
本质上,DNS服务就是一本新华字典, 通过查询字典,我们可以找到域名对应的IP地址。
DNS简介
DNS(Domain Name System,域名系统)是互联网的基础设施之一,就像一本新华字典,负责将人类易读的域名转换为计算机可理解的IP地址。

DNS的工作原理
当你在浏览器中输入一个网址时:
- 浏览器首先检查本地缓存
- 若未找到,向DNS服务器发起查询
- DNS服务器返回对应的IP地址
- 浏览器使用该IP地址访问目标网站
重要概念
- 域名(Domain Name): 网站的可读地址,如
www.nullprivate.com - URL(统一资源定位符): 完整的网址,包含协议、域名和路径,如
https://www.nullprivate.com - IP地址: 网络设备的数字标识,如
1.1.1.1 - DNS服务器: 提供域名解析服务的计算机
- 网站托管: 将网站文件存储在服务器上,使其能够通过互联网访问
2 - NullPrivate基本原理
通过DNS层面的拦截,NullPrivate能有效阻止广告、追踪器和恶意网站
工作原理概述
NullPrivate通过DNS层面的拦截来保护您的网络安全和隐私。它就像一个智能守门人,对所有域名请求进行筛查:
- ✅ 安全网站:正常访问
- ❌ 广告域名:拦截
- ❌ 追踪器:拦截
- ❌ 恶意网站:拦截
拦截流程图解

主要特点
- DNS级别拦截:在请求发生前就进行拦截,更高效
- 无需安装插件:网络层面的保护,对所有设备都有效
- 低资源消耗:只处理DNS请求,对设备性能影响极小
- 全设备覆盖:一次配置,保护所有接入设备
3 - DNS 会如何影响你的上网体验
DNS 是几乎所有联网请求的入口,解析一次域名往往只需几十毫秒,但这几十毫秒决定了后续连接将指向哪台服务器、是否命中就近的 CDN 节点、是否会被运营商劫持或被某些中间节点观察。本文面向普通网民,用连续叙述解释 DNS 与上网体验的关系。
DNS 会如何影响你的上网体验
当我们打开一个网页、刷一条视频或点击一条应用内链接时,第一跳几乎总会落在 DNS 上。它像一份网络世界的电话簿,负责把人类友好的域名翻译成机器能理解的 IP 地址。很多人把"网页慢、打不开、时好时坏"归因于"网速差",其实相当一部分体验波动与 DNS 的解析成功率、耗时、缓存命中与隐私策略相关。理解 DNS 如何工作、它在链路中的暴露点与可选的保护策略,能帮助我们把"慢与不稳"拆解为可控的因素。
背景与问题概述
DNS 是几乎所有联网请求的入口。解析一次域名往往只需几十毫秒,但这几十毫秒决定了后续连接将指向哪台服务器、是否命中就近的 CDN 节点、是否会被运营商劫持或被某些中间节点观察。家庭、蜂窝网络与公共 Wi‑Fi 的体验差异,也常常来自不同解析器的缓存质量、丢包率与策略差异。本文面向普通网民,用连续叙述解释 DNS 与上网体验的关系,重点放在原理与取舍,而不是具体的部署步骤或评测结论。
基础与术语梳理
浏览器或应用发起解析请求后,通常先询问系统的本地解析器,再由递归解析器逐层向根、顶级域与权威服务器查询,最终得到一条带有 TTL 的答案。本地或网络侧的缓存若命中,可省去外部查询,大幅降低时延;若缓存未命中或过期,则需要完成完整的递归流程。下图用一个简化流程呈现解析的来回路径,动画仅用来强调数据流动而非表示真实耗时顺序。
flowchart TB
C[客户端] e1@--> L[本地解析器]
L e2@--> R[递归解析器]
R e3@--> Root[根服务器]
Root e3r@--> R
R e4@--> TLD[TLD 服务器]
TLD e4r@--> R
R e5@--> Auth[权威服务器]
Auth e5r@--> R
R e6@--> L
L e7@--> C
%% 填充色设置
style C fill:#e1f5fe,stroke:#01579b,stroke-width:2px
style L fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
style R fill:#fff3e0,stroke:#e65100,stroke-width:2px
style Root fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
style TLD fill:#fce4ec,stroke:#880e4f,stroke-width:2px
style Auth fill:#e0f2f1,stroke:#004d40,stroke-width:2px
%% 动画节奏设置(Mermaid v11)
e1@{ animation: fast }
e2@{ animation: slow }
e3@{ animation: slow }
e3r@{ animation: slow }
e4@{ animation: slow }
e4r@{ animation: slow }
e5@{ animation: fast }
e5r@{ animation: fast }
e6@{ animation: slow }
e7@{ animation: fast }TTL 是每条记录的“保质期”。在 TTL 有效期内,递归解析器可以直接把缓存答案返回给客户端,这对体感“快与稳”的贡献往往超过我们直觉的估计。另一方面,解析器如何处理 IPv4 与 IPv6 记录的并行请求、是否启用 ECS 扩展、是否对失败查询做负缓存,也会间接影响你的连接指向与首包时间。
隐私威胁与动机
传统明文 DNS 在链路上暴露了“你要访问哪个域名”的元数据。这些信息会在本地网络、接入运营商与公共解析器处留下痕迹,即便内容走的是加密的 HTTPS。对于普通用户,风险更多来自“被动观测与建模”而不是直接内容泄露:长期的查询序列足以推断出你的兴趣、生活作息与所用设备类型。公共 Wi‑Fi、共享热点与境外漫游等场景,链路上可观测者更多,波动与失败也更常见。
flowchart TB
C[客户端] e1@--> Net[本地网络与路由器]
Net e2@--> ISP[接入运营商网络]
ISP e3@--> Res[公共递归解析器]
Res e4@--> Auth[权威服务器]
%% 填充色设置
style C fill:#e1f5fe,stroke:#01579b,stroke-width:2px
style Net fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
style ISP fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
style Res fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
style Auth fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
%% 暴露点高亮
classDef risk fill:#ffe8e8,stroke:#cc0000,stroke-width:2px,color:#000
class Net,ISP,Res,Auth risk
%% 动画
e1@{ animation: fast }
e2@{ animation: slow }
e3@{ animation: slow }
e4@{ animation: fast }需要强调的是,隐私保护并不必然等于“更快”。加密与封装会引入握手与协商,优质的递归解析器通过更好的缓存命中与更低的丢包反而可能更快。现实世界的体验好坏,取决于所处网络、解析器质量与目标站点的部署方式三者的共同作用。
保护策略与原理
加密 DNS 把“你要问什么域名”包裹进加密隧道,降低被窃听与篡改的机会。常见方式包括基于 TLS 的 DoT、基于 HTTPS 的 DoH 与基于 QUIC 的 DoQ。它们都复用成熟的传输层安全机制,差异更多体现在端口与复用模型上。无论采用哪种方式,客户端通常仍会先向本地解析栈发起查询,再由加密隧道把请求送至上游解析器,下图用顺序图示意这一封装与返回。
flowchart LR
U[客户端] e1@--> S[DoH 栈]
S e2@--> R[DoH 服务器]
R e3@-->|200 OK + DNS 响应| S
S e4@--> U
%% 填充色设置
style U fill:#e1f5fe,stroke:#01579b,stroke-width:2px
style S fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
style R fill:#fff3e0,stroke:#e65100,stroke-width:2px
e1@{ animation: fast }
e2@{ animation: slow }
e3@{ animation: fast }
e4@{ animation: fast }除了加密,解析器侧的 QNAME 最小化可以减少向上游暴露的查询粒度,DNSSEC 提供记录完整性校验,ECS 控制影响 CDN 的就近性与命中率。对于终端用户而言,实际可感知的是“是否更稳定”“是否更容易命中就近节点”“是否更少被劫持”。
实现路径与注意事项
从用户角度出发,系统和路由器常常内置了解析器或转发器,很多公共服务在移动系统与浏览器层面也提供了内建的 DoH 开关。选择可信的递归解析器与恰当的加密方式,往往已经覆盖了绝大多数需求。需要注意的是,部分企业或校园网络对加密 DNS 有策略限制,特定安全产品也可能拦截或重定向 DNS 流量;在这些环境中,优先保证连通与合规,再考虑隐私与性能。对海外站点访问的体验,解析器的地理策略与 CDN 的接入布局同样重要,错误的就近策略会把你导向跨洲节点,体感“慢半拍”。
风险与迁移
任何切换都值得保留回退路径。对个人设备,先在单设备上启用加密 DNS 并观察一周,关注异常多发的应用与站点;对家庭网关,建议灰度到少量设备,必要时保留备用解析器并开启健康检查。若网络有内网域或分离 DNS,切换前确认解析范围与搜索域的兼容性,避免引入解析失败与意外泄露。
场景化建议
在蜂窝网络与公共 Wi‑Fi 中,优先选择稳定的公共解析器并开启 DoH 或 DoT,常能同时获得更稳与更洁净的解析。在家庭宽带中,更重要的是缓存命中与少丢包,优质公共解析器或本地网关缓存都能带来“点开就有”的顺滑感。跨境访问时,解析器的地域策略决定了你会被导向哪里,遇到某些站点“能连但很慢”,不妨更换解析器或关闭 ECS 再试。对需要家长控制与分流的家庭,选择具备分类策略与日志透明度的解析器更实际。
FAQ 与参考
常见疑问包括“加密 DNS 是否一定更快”“为何不同解析器返回的 IP 不同”“切换解析器会不会影响安全软件工作”。这些问题没有放之四海而皆准的唯一答案,它们取决于链路质量、解析器实现与站点接入策略。进一步阅读可参考 IETF 的相关 RFC、主流浏览器与操作系统文档,以及可信的网络基础设施博客。
4 - 在家搭建
详细教程教您如何在家搭建NullPrivate网络广告拦截服务
在家搭建NullPrivate
NullPrivate是一个基于AdGuardHome的增强版本,专为提供更好的网络广告拦截和隐私保护功能而设计。本教程将指导您如何在家搭建和配置NullPrivate服务。
项目简介
NullPrivate是AdGuardHome的开源分支版本,提供了SaaS托管服务和丰富的增强功能,旨在为用户提供更好的DNS解析和网络过滤体验。
主要功能
原始功能
- 网络级广告拦截:在整个网络范围内拦截广告和跟踪器
- 自定义过滤规则:支持添加个人化的过滤规则
- 加密DNS支持:支持DNS-over-HTTPS、DNS-over-TLS和DNSCrypt
- 内置DHCP服务器:开箱即用的DHCP服务功能
- 客户端独立配置:为每个设备定制专门的设置
- 防沉迷:拦截成人内容并强制安全搜索
- 跨平台兼容性:支持Linux、macOS、Windows等操作系统
- 隐私保护:不收集使用统计信息
NullPrivate新增功能
- DNS路由规则列表:使用配置文件中的规则列表自定义DNS路由
- 应用级拦截规则:针对特定应用的源进行拦截配置
- 动态DNS(DDNS):提供动态域名解析功能
- 高级速率限制:实现高效的流量管理和控制
- 增强部署特性:支持负载均衡、自动证书维护、优化网络连接
安装方式
方法一:下载二进制文件
- 访问Releases页面下载适合您操作系统的二进制文件
- 创建工作目录:
- 运行NullPrivate:
./NullPrivate -c ./AdGuardHome.yaml -w ./data --web-addr 0.0.0.0:34020 --local-frontend --no-check-update --verbose
方法二:使用Docker
推荐使用Docker方式部署,更简单且易于管理:
docker run --rm --name NullPrivate \
-p 34020:80 \
-v ./data/container/work:/opt/adguardhome/work \
-v ./data/container/conf:/opt/adguardhome/conf \
nullprivate/nullprivate:latest
支持的平台
- ✅ Windows
- ✅ macOS
- ✅ Linux
- ✅ Docker
- ✅ 其他类Unix系统
配置说明
基本配置
启动后,访问Web界面进行初始配置:
- 默认管理地址:
http://localhost:34020 - 首次运行需要设置管理员账户
- 可以导入现有的AdGuardHome配置
配置文件
主要配置文件为AdGuardHome.yaml,包含:
启动参数说明
| 参数 | 说明 |
|---|
-c | 指定配置文件路径 |
-w | 指定工作目录 |
--web-addr | Web管理界面地址和端口 |
--local-frontend | 使用本地前端界面 |
--no-check-update | 禁用自动更新检查 |
--verbose | 启用详细日志输出 |
使用建议
- 网络配置:将路由器的DNS服务器设置为NullPrivate的IP地址
- 规则更新:定期更新过滤规则以获得最佳拦截效果
- 性能监控:通过Web界面监控DNS查询统计信息
- 安全加固:启用HTTPS并设置强密码
- 备份配置:定期备份配置文件和数据
故障排除
常见问题
- 端口占用:确保34020端口未被其他服务使用
- 权限问题:Linux环境下可能需要适当的文件权限
- 启动失败:检查配置文件路径和工作目录是否存在
获取帮助
结语
通过本教程,您应该已经成功在家搭建了NullPrivate服务。现在您可以享受清净的网络环境,同时保护个人隐私。NullPrivate提供了丰富的功能和灵活的配置选项,满足不同用户的需求。