保护你的数字隐私:AdGuard Home 安装与最佳实践
引言:数字时代的隐私挑战
在当今高度互联的数字世界中,我们的生活与互联网密不可分。从社交媒体到在线购物,从远程工作到智能家居,我们每天都在产生并分享着海量数据。然而,这种便利性的背后,却隐藏着日益严峻的隐私挑战。广告商、数据追踪公司、恶意软件开发者,甚至是某些政府机构,都在通过各种手段收集、分析和利用我们的在线行为数据。
你是否曾有过这样的经历:在某个网站上浏览了一款商品,随后在其他无关的网站上,甚至在手机应用中,反复看到这款商品的广告?这并非巧合,而是数据追踪技术的杰作。这些追踪器不仅侵犯了我们的个人隐私,还拖慢了网页加载速度,消耗了额外的带宽,甚至可能成为恶意软件传播的温床。
传统的隐私保护方法,如浏览器插件,虽然在一定程度上有效,但它们往往局限于特定浏览器,无法覆盖整个网络环境中的所有设备,也无法有效防御更深层次的网络追踪。我们需要一个更强大、更全面的解决方案,一个能够在家用网络的“入口”处就拦截大部分威胁的“守门人”。
这就是 AdGuard Home 应运而生的地方。它不仅仅是一个简单的广告拦截器,更是一个功能强大的网络级DNS服务器,能够为你的整个家庭网络提供广告、追踪器和恶意软件的全面防护,同时赋予你前所未有的网络控制权。本文将带你深入了解 AdGuard Home,从安装部署到高级配置,手把手教你如何打造一个更安全、更私密、更高效的数字家园。
第一章:AdGuard Home 是什么?为何选择它?
1.1 AdGuard Home 的核心概念:DNS 服务器
要理解 AdGuard Home,首先需要了解 DNS(Domain Name System,域名系统)。当你在浏览器中输入 www.example.com 时,你的电脑并不知道如何直接访问这个网址。它需要一个“电话簿”来将这个易于记忆的域名转换成机器可识别的 IP 地址(例如 93.184.216.34)。这个“电话簿”就是 DNS 服务器。你的设备会向 DNS 服务器发送查询请求,获取 IP 地址,然后才能建立连接。
AdGuard Home 的核心原理是充当你的本地 DNS 服务器。当你的设备(电脑、手机、智能电视等)尝试访问某个网站时,它会首先向 AdGuard Home 发送 DNS 查询请求。AdGuard Home 会根据其内置的过滤规则和自定义列表,判断这个域名是否属于广告、追踪器或恶意网站。
* 如果域名是安全的,AdGuard Home 会将其解析为正确的 IP 地址,并返回给你的设备,让设备正常访问。
* 如果域名被识别为有害或不必要的,AdGuard Home 会阻止解析,并返回一个虚假的 IP 地址(通常是 0.0.0.0 或 127.0.0.1),从而阻止你的设备与该域名建立连接。
这种在 DNS 层面进行拦截的方式,使得 AdGuard Home 能够提供网络级的防护,覆盖所有连接到你家庭网络的设备,而不仅仅是安装了特定插件的浏览器。
1.2 AdGuard Home 的主要功能与优势
AdGuard Home 不仅仅是广告拦截器,它提供了多项强大的功能,使其成为保护数字隐私的理想选择:
- 全网络广告拦截: 无论是网页广告、应用内广告,还是智能电视广告,只要其通过 DNS 请求加载,AdGuard Home 都能有效拦截。这意味着你的所有设备,包括那些无法安装浏览器插件的设备(如智能电视、游戏机、智能家居设备),都能享受到无广告的体验。
- 追踪器与分析器拦截: 大量网站和应用使用追踪器来收集你的浏览习惯和个人数据。AdGuard Home 可以识别并拦截这些追踪器的域名,有效阻止数据泄露,保护你的在线隐私。
- 恶意软件和钓鱼网站防护: AdGuard Home 包含恶意域名列表,可以阻止你的设备访问已知的恶意软件分发站点和钓鱼网站,大大提升网络安全性。
- 家长控制功能: 可以根据特定需求,限制某些设备访问成人内容、社交媒体或其他不适宜的网站,为儿童提供安全的上网环境。
- 高度可定制化: 允许用户添加自定义过滤列表、自定义规则(白名单、黑名单、正则表达式),甚至可以解析本地域名,满足高级用户的特定需求。
- 直观的管理界面: 提供一个用户友好的 Web UI,可以轻松查看实时的 DNS 查询日志、被拦截的域名、客户端统计信息,并进行各项配置。
- 性能提升: 通过拦截大量不必要的请求,减少了网页加载的内容,从而提升了网页加载速度,节省了带宽。
- 透明度与洞察力: 详细的查询日志让你清楚地知道你的设备在访问哪些域名,哪些被拦截,哪些被允许,帮助你更好地理解和控制你的网络流量。
- 免费与开源: AdGuard Home 是一个免费且开源的项目,这意味着你可以自由使用、修改和分发它,且背后有活跃的社区支持。
1.3 AdGuard Home 与传统方法的对比
| 功能/特点 | 浏览器插件 | VPN (纯隐私保护型) | AdGuard Home |
|---|---|---|---|
| 覆盖范围 | 仅限于安装插件的浏览器 | 所有通过 VPN 连接的设备 | 连接到 AdGuard Home 的所有设备(网络级) |
| 拦截原理 | 浏览器内容过滤、CSS 隐藏等 | 隐藏 IP、加密流量 | DNS 域名解析拦截 |
| 广告拦截 | 有效,但受浏览器限制 | 无法直接拦截广告(需结合其他工具) | 高效,全网络范围 |
| 追踪器拦截 | 有效,但受浏览器限制 | 无法直接拦截追踪器(需结合其他工具) | 高效,全网络范围 |
| 恶意网站防护 | 部分插件提供 | 部分 VPN 提供,但不完全 | 高效,网络级防护 |
| 家长控制 | 较弱或无 | 较弱或无 | 强大,可定制 |
| 安装部署难度 | 简单 | 简单到复杂(取决于服务) | 中等(需一台独立设备) |
| 性能影响 | 可能略微增加浏览器内存占用 | 路由延迟、带宽消耗 | 显著提升加载速度,减少带宽 |
| 隐私保护程度 | 较高,但有局限性 | 较高,侧重匿名与加密 | 较高,侧重拦截追踪器与广告 |
| 费用 | 大多免费 | 免费到付费 | 免费(硬件成本除外) |
综上所述,AdGuard Home 结合了传统方法的一些优点,并在网络级提供了更全面、更高效的防护,是构建安全私密家庭网络的理想基石。
第二章:安装 AdGuard Home 的准备工作
在开始安装 AdGuard Home 之前,你需要准备一些必要的硬件和软件环境,并对你的家庭网络有一个基本的了解。
2.1 硬件要求
AdGuard Home 对硬件资源的要求非常低,这意味着你可以利用许多闲置设备来部署它:
- 推荐:树莓派 (Raspberry Pi)
- 型号: Raspberry Pi 3B/3B+/4B 或更高版本。树莓派 Zero 2 W 也可以,但性能稍弱。
- 优点: 体积小巧、功耗极低、无噪音、价格适中。是部署 AdGuard Home 的最流行和推荐的选择。
- 所需配件: MicroSD 卡 (至少 8GB,建议 16GB 或更大,Class 10 或 A1 级别)、电源适配器、网线 (如果是非 Wi-Fi 型号)。
- 其他小型电脑/迷你主机:
- 示例: Intel NUC、各品牌迷你 PC、老旧的笔记本电脑或台式机。
- 优点: 性能通常比树莓派强,可以运行更多服务。
- 缺点: 功耗和体积可能稍大。
- NAS (网络附加存储) 设备:
- 示例: 群晖 (Synology)、威联通 (QNAP) 等支持 Docker 的 NAS。
- 优点: 利用现有设备,无需额外硬件。
- 缺点: NAS 通常有自己的主要任务,AdGuard Home 可能与其资源产生竞争,且 NAS 系统升级可能影响 AdGuard Home 运行。
- 虚拟机 (VM) 或 VPS (虚拟专用服务器):
- 示例: VirtualBox、VMware ESXi、Proxmox VE 等本地虚拟机,或 Linode、Vultr、AWS 等云服务商的 VPS。
- 优点: 灵活性高,易于管理和迁移。VPS 甚至可以实现远程设备的 DNS 过滤(需额外配置 VPN)。
- 缺点: VPS 可能有额外成本,且远程 DNS 延迟可能较高。
无论选择哪种硬件,确保它能够稳定运行,并能通过网线或 Wi-Fi 连接到你的家庭网络。
2.2 软件要求
- 操作系统:
- Linux (推荐): AdGuard Home 最常部署在 Linux 系统上,尤其是基于 Debian/Ubuntu 的发行版(如 Raspberry Pi OS、Ubuntu Server)。
- Docker (强烈推荐): 如果你的硬件支持 Docker,那么使用 Docker 部署 AdGuard Home 是一个非常好的选择,它提供了更好的隔离性、可移植性和易管理性。
- Windows/macOS: AdGuard Home 也可以直接在 Windows 或 macOS 上运行,但不推荐作为生产环境,通常用于测试或临时使用。
- 网络连接: 你的设备需要稳定的互联网连接才能下载安装包和更新过滤列表。
- SSH 客户端: 如果你选择无头设备(没有显示器、键盘、鼠标的设备,如树莓派),你需要一个 SSH 客户端(如 PuTTY、MobaXterm 或 macOS/Linux 自带的终端)来远程连接和操作设备。
2.3 网络环境准备
在安装 AdGuard Home 之前,你需要对你的家庭网络有基本的了解,并做一些前期的规划:
- 了解你的路由器:
- 登录路由器后台: 找到你的路由器品牌和型号,通常在路由器背面有默认的登录地址(如
192.168.1.1或192.168.0.1)和用户名/密码。 - 查找 DHCP 设置: 你需要知道如何设置路由器下的 DNS 服务器地址。通常在“网络设置”、“LAN 口设置”、“DHCP 服务器”等菜单中。
- 登录路由器后台: 找到你的路由器品牌和型号,通常在路由器背面有默认的登录地址(如
- 规划 IP 地址:
- 为 AdGuard Home 设备设置静态 IP 地址: 强烈建议为运行 AdGuard Home 的设备分配一个固定的局域网 IP 地址。这可以通过在路由器 DHCP 设置中绑定 MAC 地址,或者直接在设备操作系统中手动配置静态 IP 来实现。例如,你的路由器可能是
192.168.1.1,你可以将 AdGuard Home 设置为192.168.1.200。 - 避免 IP 冲突: 确保你选择的静态 IP 地址不在路由器 DHCP 分配的地址池范围内,以避免与网络中的其他设备发生 IP 冲突。
- 为 AdGuard Home 设备设置静态 IP 地址: 强烈建议为运行 AdGuard Home 的设备分配一个固定的局域网 IP 地址。这可以通过在路由器 DHCP 设置中绑定 MAC 地址,或者直接在设备操作系统中手动配置静态 IP 来实现。例如,你的路由器可能是
- 端口开放(通常无需手动操作): AdGuard Home 默认会使用一些端口,例如:
53/TCP和53/UDP:DNS 服务端口。80/TCP和443/TCP:Web 管理界面端口(如果默认)。3000/TCP或8080/TCP:Web 管理界面端口(如果 80/443 被占用或更改)。- 在局域网内部,通常不需要手动开放这些端口。如果你的设备上运行了其他服务占用了这些端口,你需要在安装时进行调整。
准备工作虽然看似繁琐,但却是确保 AdGuard Home 顺利安装和稳定运行的关键。投入一些时间在这一步,可以为你省去后续许多不必要的麻烦。
第三章:AdGuard Home 的安装与部署
AdGuard Home 提供了多种安装方式,其中最常用且推荐的是使用官方安装脚本和 Docker。
3.1 官方安装脚本 (适用于 Linux 用户)
这是最简单快捷的安装方式,适用于大部分基于 Debian/Ubuntu 的 Linux 发行版,尤其是树莓派用户。
步骤 1:SSH 连接到你的设备
如果你使用的是无头设备(如树莓派),你需要通过 SSH 连接到它。
* 在 Windows 上: 使用 PuTTY 或 MobaXterm。
* 在 macOS 或 Linux 上: 打开终端,输入 ssh 用户名@设备IP地址。
* 例如:ssh [email protected] (如果你的树莓派用户是 pi,IP 地址是 192.168.1.200)。
* 首次连接可能会提示你接受设备的 RSA 密钥指纹。
步骤 2:运行安装脚本
连接成功后,在终端中粘贴并运行以下命令:
bash
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
curl:用于下载安装脚本。sh -s -- -v:执行下载的脚本,-v参数表示显示详细的安装过程。
安装过程说明:
- 脚本会检测你的系统架构,下载对应的 AdGuard Home 可执行文件。
- 它会将 AdGuard Home 安装到
/opt/AdGuardHome/目录下。 - 它会创建一个
systemd服务,确保 AdGuard Home 在系统启动时自动运行。 - 在安装过程中,你可能会被要求输入两次 Web 界面的 HTTP 端口和 HTTPS 端口。建议默认回车即可,Web UI 默认在 3000 端口,HTTPS 监听在 8443 端口。如果你有其他服务占用了这些端口,可以更改。DNS 监听端口默认是 53,这也是必须的,通常无需更改。
步骤 3:等待安装完成
安装完成后,你将看到一个成功的消息,并提示你 AdGuard Home 的 Web 管理界面的访问地址。通常是 http://<你的设备IP地址>:3000。
3.2 使用 Docker 进行安装 (推荐给高级用户或 NAS 用户)
使用 Docker 部署 AdGuard Home 具有更好的隔离性、可移植性和易于管理性。如果你已经熟悉 Docker,这是推荐的方法。
步骤 1:安装 Docker 和 Docker Compose (如果尚未安装)
请根据你的操作系统(Linux、NAS 等)官方文档安装 Docker Engine 和 Docker Compose。
-
在 Linux 上安装 Docker:
bash
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/debian $(lsb_release -cs) stable" # For Raspberry Pi
# 或者 for x86_64: sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER # 将当前用户添加到docker组,无需每次sudosudo reboot重启系统以使组设置生效。
-
安装 Docker Compose:
bash
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # 验证安装- 注意:
v2.24.5是撰写本文时的最新稳定版本,请访问 Docker Compose GitHub Releases 获取最新版本号。
- 注意:
步骤 2:创建 Docker 容器
你可以使用 docker run 命令或 docker-compose.yml 文件。
方法 A: 使用 docker run 命令 (快速启动)
bash
docker run -d \
--name adguardhome \
-v /my/AdGuardHome/work:/opt/adguardhome/work \
-v /my/AdGuardHome/conf:/opt/adguardhome/conf \
-p 53:53/tcp \
-p 53:53/udp \
-p 80:80/tcp \
-p 443:443/tcp \
-p 3000:3000/tcp \
-p 8443:8443/tcp \
--restart unless-stopped \
adguard/adguardhome
-d:后台运行容器。--name adguardhome:给容器命名为adguardhome。-v /my/AdGuardHome/work:/opt/adguardhome/work:将宿主机/my/AdGuardHome/work目录挂载到容器内的/opt/adguardhome/work,用于存储日志、缓存等运行时数据。请将/my/AdGuardHome/work替换为你实际的路径。-v /my/AdGuardHome/conf:/opt/adguardhome/conf:将宿主机/my/AdGuardHome/conf目录挂载到容器内的/opt/adguardhome/conf,用于存储配置信息。请将/my/AdGuardHome/conf替换为你实际的路径。-p 53:53/tcp/-p 53:53/udp:将容器的 53 端口映射到宿主机的 53 端口(DNS 端口)。这是必需的。-p 80:80/tcp/-p 443:443/tcp/-p 3000:3000/tcp/-p 8443:8443/tcp:将容器的 Web UI 端口映射到宿主机。默认情况下,AdGuard Home 在容器内使用 3000 和 8443 作为 Web UI 端口。如果你希望通过宿主机的 80/443 端口访问 Web UI,可以在初始化时选择。如果你宿主机上的 80/443 端口已被占用,请确保只映射 3000 和 8443 端口,或将宿主机端口修改为其他未占用端口(如-p 8080:3000/tcp)。--restart unless-stopped:除非手动停止容器,否则在宿主机重启后自动启动。adguard/adguardhome:使用的 AdGuard Home 官方 Docker 镜像。
方法 B: 使用 docker-compose.yml (推荐,更易管理)
-
在一个你方便的目录(例如
~/adguardhome)中创建一个docker-compose.yml文件:yaml
version: '3.8'
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
ports:
- 53:53/tcp
- 53:53/udp
- 80:80/tcp # 可以根据需要更改宿主机端口,例如 8080:80
- 443:443/tcp # 可以根据需要更改宿主机端口,例如 8443:443
- 3000:3000/tcp # 默认Web UI端口,在首次配置时可选择是否切换到80/443
- 8443:8443/tcp # 默认Web UI HTTPS端口
volumes:
- /my/AdGuardHome/work:/opt/adguardhome/work
- /my/AdGuardHome/conf:/opt/adguardhome/conf
restart: unless-stopped
* 重要: 将/my/AdGuardHome/work和/my/AdGuardHome/conf替换为你宿主机上实际的目录路径。
* 如果宿主机的 80/443 端口已被占用,请务必修改ports部分,例如8080:80/tcp和8443:443/tcp,或者直接移除 80/443 映射,只保留 3000/8443 的映射。AdGuard Home 会在首次配置时引导你选择 Web UI 端口。 -
保存文件,然后在该目录下运行:
bash
docker-compose up -d
这将启动 AdGuard Home 容器并在后台运行。
3.3 初次配置 AdGuard Home
无论你选择哪种安装方式,一旦 AdGuard Home 运行起来,你都可以通过 Web 浏览器访问其管理界面进行初次配置。
步骤 1:访问 Web UI
打开你的浏览器,输入 AdGuard Home 设备的 IP 地址和管理端口。
* 如果使用安装脚本且未修改端口: http://<你的设备IP地址>:3000
* 如果使用 Docker 且映射了端口:
* http://<你的设备IP地址>:80 (如果你映射了宿主机 80 端口)
* http://<你的设备IP地址>:3000 (如果你映射了宿主机 3000 端口)
步骤 2:设置管理界面
- 欢迎界面: 点击“开始配置”。
- Web 界面端口: 确认管理界面的 HTTP 和 HTTPS 端口。通常默认即可,或者根据你的环境选择 80/443。如果 80/443 被占用,它会引导你使用其他端口。
- DNS 监听接口: 默认会选择 AdGuard Home 设备的所有可用网络接口和 IP 地址,监听 53 端口。务必确保 53 端口没有被其他服务占用。通常不需要修改。
- 创建管理员账号: 设置 AdGuard Home 管理员的用户名和密码。请务必设置一个强密码! 这是管理你整个网络过滤策略的入口,非常重要。
- 完成: 点击“下一步”,然后点击“打开仪表盘”。
现在,你已经成功安装并完成了 AdGuard Home 的初步配置。接下来,我们需要将你的网络设备指向 AdGuard Home 作为 DNS 服务器。
第四章:将 AdGuard Home 设置为网络 DNS 服务器
AdGuard Home 只有被你的设备用作 DNS 服务器后才能发挥作用。有多种方法可以实现这一点,从全局性的路由器配置到单个设备的手动设置。
4.1 路由器级别设置 (推荐,覆盖所有设备)
将 AdGuard Home 设置为路由器的 DNS 服务器是最佳实践,因为它能让连接到该路由器的所有设备(包括智能电视、智能音箱、物联网设备等)自动使用 AdGuard Home 进行 DNS 查询,无需逐一配置。
- 登录路由器后台: 在浏览器中输入路由器的管理 IP 地址(通常是
192.168.1.1或192.168.0.1),输入用户名和密码登录。 - 找到 DHCP / LAN 设置: 导航到路由器的“网络设置”、“LAN 口设置”、“DHCP 服务器”或“互联网设置”等菜单。不同品牌的路由器名称可能有所不同。
- 修改 DNS 服务器地址:
- 主要 DNS 服务器: 将其更改为 AdGuard Home 设备的静态 IP 地址。
- 次要 DNS 服务器 (可选): 你可以留空,或者填写一个公共 DNS 服务器(如
1.1.1.1或8.8.8.8)作为备用。注意: 如果你填写了备用 DNS,当 AdGuard Home 出现故障时,部分设备可能会自动切换到备用 DNS,从而绕过 AdGuard Home 的过滤。为了最大化保护,建议不填写备用,或者填写另一个 AdGuard Home 实例的 IP。
- 保存并重启路由器: 保存更改,然后重启你的路由器。
- 验证: 重启后,你的所有设备应该会自动获取新的 DNS 设置。你可以在 AdGuard Home 的仪表盘上看到 DNS 查询日志开始增加,并且客户端列表中会出现你的设备。
4.2 设备级别设置 (针对特定设备或测试)
如果你只想让某个特定设备使用 AdGuard Home,或者你的路由器不支持修改 DNS 设置,你可以单独配置设备的 DNS。
- Windows:
- 打开“设置” -> “网络和 Internet” -> “更改适配器选项”。
- 右键点击你正在使用的网络适配器(如 Wi-Fi 或以太网),选择“属性”。
- 选择“Internet 协议版本 4 (TCP/IPv4)”,点击“属性”。
- 选择“使用下面的 DNS 服务器地址”,将首选 DNS 服务器设置为 AdGuard Home 的 IP 地址,备用 DNS 服务器可以留空或设置为其他公共 DNS。
- 点击“确定”保存。
- macOS:
- 打开“系统设置” -> “网络”。
- 选择你正在使用的网络连接(如 Wi-Fi 或以太网),点击“详细信息”。
- 切换到“DNS”选项卡。
- 点击左下角的“+”按钮,添加 AdGuard Home 的 IP 地址。
- 点击“好”和“应用”。
- Android:
- 打开“设置” -> “网络和互联网” -> “Wi-Fi”。
- 长按你连接的 Wi-Fi 网络,选择“修改网络”或“管理网络设置”。
- 展开“高级选项”或“IP 设置”,将 DHCP 更改为“静态”。
- 手动输入 IP 地址、网关、网络前缀长度(通常为 24)。
- 将 DNS 1 设置为 AdGuard Home 的 IP 地址,DNS 2 可以留空。
- 保存设置。
- 注意: Android 9 及更高版本还支持“私有 DNS”,你可以在“网络和互联网”设置中选择“私有 DNS”,然后输入 AdGuard Home 的 DoT 地址(例如
tls://<你的AdGuard Home IP>)。这需要 AdGuard Home 开启 DoT 服务。
- iOS:
- 打开“设置” -> “无线局域网”。
- 点击你连接的 Wi-Fi 网络旁边的“i”图标。
- 向下滚动找到“配置 DNS”,选择“手动”。
- 点击“添加服务器”,输入 AdGuard Home 的 IP 地址。
- 删除其他默认的 DNS 服务器(如果需要)。
- 保存设置。
4.3 DHCP 服务器 (适用于高级用户)
AdGuard Home 自身也可以充当 DHCP 服务器,这样可以更好地识别网络中的设备,并为每个设备应用不同的过滤策略。但这也意味着 AdGuard Home 成为你网络中唯一的 DHCP 服务器,一旦其出现故障,整个网络可能无法获取 IP 地址。
- 在路由器中禁用 DHCP 服务器: 这是至关重要的一步,你的网络中只能有一个 DHCP 服务器。
- 在 AdGuard Home 中启用 DHCP 服务器:
- 登录 AdGuard Home 管理界面。
- 进入“设置” -> “DHCP 设置”。
- 启用 DHCP 服务器。
- 配置 DHCP 范围 (例如
192.168.1.100 - 192.168.1.250)。 - 设置网关 IP (你的路由器 IP,例如
192.168.1.1)。 - 设置 DNS 服务器 IP (通常是 AdGuard Home 自己的 IP)。
- 保存设置。
- 重启所有设备: 让设备重新获取 IP 地址,它们将从 AdGuard Home 获取 IP 地址和 DNS 设置。
风险提示: 除非你明确知道自己在做什么,否则不建议普通用户在初期就启用 AdGuard Home 的 DHCP 功能。它为高级管理提供了便利,但同时也增加了单点故障的风险。
完成上述任一设置后,你的设备现在应该通过 AdGuard Home 解析域名。在 AdGuard Home 的仪表盘上,你可以观察到 DNS 查询数量和被拦截的数量显著增加。
第五章:AdGuard Home 最佳实践与高级配置
一旦 AdGuard Home 运行起来,其强大的功能才刚刚开始展现。通过精细的配置,你可以将其性能、安全性和隐私保护能力提升到极致。
5.1 上游 DNS 服务器的选择与配置
AdGuard Home 拦截了广告和追踪器域名后,对于合法域名的解析,它需要向真正的公共 DNS 服务器发送请求。这些服务器被称为“上游 DNS 服务器”。选择合适的上游 DNS 服务器对于隐私、速度和安全性至关重要。
-
访问配置界面: 登录 AdGuard Home 管理界面,进入“设置” -> “DNS 设置”。
-
推荐的上游 DNS 服务器:
- Cloudflare DNS (1.1.1.1 / 1.0.0.1): 以速度和隐私著称。
- Google Public DNS (8.8.8.8 / 8.8.4.4): 稳定可靠,但隐私方面可能不如 Cloudflare。
- Quad9 (9.9.9.9 / 149.112.112.112): 专注于安全,能拦截已知恶意域名。
-
加密 DNS (DoH/DoT): 强烈建议使用加密的 DNS 协议,以防止 ISP 监控你的 DNS 查询,进一步提升隐私。
- DNS-over-HTTPS (DoH): 通过 HTTPS 协议加密 DNS 查询。
- Cloudflare DoH:
https://1.1.1.1/dns-query - Google DoH:
https://dns.google/dns-query - Quad9 DoH:
https://dns.quad9.net/dns-query
- Cloudflare DoH:
- DNS-over-TLS (DoT): 通过 TLS 协议加密 DNS 查询。
- Cloudflare DoT:
tls://1.1.1.1 - Google DoT:
tls://dns.google - Quad9 DoT:
tls://dns.quad9.net
- Cloudflare DoT:
- 配置方法: 在“上游 DNS 服务器”部分,添加上述加密地址。可以添加多个,AdGuard Home 会并行请求以提高速度和可靠性。
- DNS-over-HTTPS (DoH): 通过 HTTPS 协议加密 DNS 查询。
-
并行请求: 勾选“并行请求上游 DNS 服务器”选项。这会同时向上游 DNS 服务器发送请求,并采用最快返回的结果,从而提高解析速度。
-
Bootstrap DNS 服务器: 用于解析 DoH/DoT 服务器本身的域名(如果其地址是域名而不是 IP)。通常使用 ISP 的 DNS 或公共 DNS。例如:
1.1.1.1,8.8.8.8。 -
保存设置: 点击“应用”保存。
5.2 过滤列表的管理
过滤列表是 AdGuard Home 拦截广告和追踪器的核心。默认情况下,AdGuard Home 会启用一些基础列表,但你可以根据需求添加更多。
-
访问配置界面: 登录 AdGuard Home 管理界面,进入“过滤器” -> “DNS 过滤”。
-
添加过滤列表:
- 点击“添加阻止列表”。
- 你可以选择“从列表选择一个”,这里有很多预设的常用列表,如 AdGuard 各种列表、NoCoin Filter 等。
- 也可以选择“添加一个自定义列表”,然后粘贴列表的 URL。
-
推荐的额外过滤列表:
- EasyList & EasyPrivacy: 浏览器广告拦截器常用,非常全面。
- EasyList:
https://easylist.to/easylist/easylist.txt - EasyPrivacy:
https://easylist.to/easylist/easyprivacy.txt
- EasyList:
- OISD: 一个综合性很强的去重优化列表,拦截效果极佳。
- OISD Full:
https://big.oisd.nl/
- OISD Full:
- StevenBlack/unified: 也是一个广受欢迎的列表,包含广告、恶意软件等。
- Unified hosts file:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
- Unified hosts file:
- AdGuard DNS Filter: AdGuard 自己的核心过滤列表,通常已默认启用。
- AdGuard Tracking Protection: 专注于追踪器拦截,通常已默认启用。
- EasyList & EasyPrivacy: 浏览器广告拦截器常用,非常全面。
-
管理列表:
- 更新频率: 建议将列表更新频率设置为每天或每 12 小时。
- 手动更新: 点击“检查更新”可以立即更新所有列表。
- 谨慎选择: 过滤列表越多,可能拦截的误报(将正常网站误判为广告)也越多,尤其是一些激进的列表。建议从小范围开始,逐步添加,并观察效果。
5.3 自定义过滤规则:白名单与黑名单
即使有了强大的过滤列表,你仍然会遇到误报或漏报的情况。自定义规则允许你对特定域名进行精确控制。
-
访问配置界面: 登录 AdGuard Home 管理界面,进入“过滤器” -> “DNS 重写”或“自定义过滤规则”。
-
自定义过滤规则 (黑名单/白名单):
- 黑名单 (Block): 阻止访问特定域名。
||example.com^:阻止example.com及其所有子域名。example.com:仅阻止example.com自身。*.example.com:仅阻止example.com的所有子域名。
- 白名单 (Allow): 允许访问特定域名,即使它在某个过滤列表中。
@@||example.com^:允许example.com及其所有子域名。
- 正则表达式 (Regex): 强大的模式匹配,可以拦截更复杂的模式。
/.*\.ads\.(example|another)\.com/:阻止所有包含ads且域名为example.com或another.com的子域名。#开头的行是注释。
- 黑名单 (Block): 阻止访问特定域名。
-
DNS 重写 (DNS Rewrites): 将特定域名解析到你指定的 IP 地址。这对于访问局域网内的设备或服务非常有用,也可以用于强制拦截。
- 例如:
my-server.local 192.168.1.100(将my-server.local解析到局域网 IP192.168.1.100)。 - 例如:
bad-site.com 0.0.0.0(将bad-site.com解析到0.0.0.0,从而实现拦截)。
- 例如:
-
应用场景:
- 解决误报: 如果某个网站功能异常,或者图片加载不出来,查看 AdGuard Home 的查询日志,找到被拦截的域名,然后将其添加到白名单。
- 强制拦截特定域名: 如果某个广告或追踪器总是漏网,手动将其添加到黑名单。
- 局域网服务: 如果你家中有 NAS、私有服务器等,可以使用 DNS 重写给它们一个易记的域名。
5.4 客户端管理与家长控制
AdGuard Home 能够识别网络中的不同客户端,并为它们应用不同的过滤策略。
-
识别客户端:
- 默认情况下,AdGuard Home 可能会将所有设备显示为路由器的 IP 地址。
- 推荐: 如果你启用了 AdGuard Home 的 DHCP 服务器,或者在路由器中将每个设备的静态 IP 与 MAC 地址绑定,AdGuard Home 可以更好地识别每个设备。
- 手动添加客户端: 在“设置” -> “客户端设置”中,你可以为特定的 IP 地址添加客户端名称,方便识别。
- DHCP 租约: 如果 AdGuard Home 是 DHCP 服务器,它会自动识别并命名客户端。
-
客户端特定设置:
- 点击仪表盘中的某个客户端,或在“客户端设置”中编辑客户端。
- 你可以为特定客户端启用或禁用特定的过滤列表。
- 可以为特定客户端添加私有的黑名单/白名单规则。
- 家长控制: 针对儿童设备,可以启用“家长控制”,AdGuard Home 会阻止访问成人内容。
- 安全浏览/强制安全搜索: 启用这些选项可以阻止访问恶意网站,并强制 Google、Bing 等搜索引擎使用安全搜索模式。
5.5 查询日志与统计数据
查询日志和统计数据是 AdGuard Home 的“眼睛”,让你了解网络流量和过滤效果。
- 查询日志:
- 在管理界面点击“查询日志”,你可以看到所有设备的 DNS 查询记录。
- 过滤器: 可以根据时间、客户端、域名、类型(已拦截、已处理、缓存)等进行过滤。
- 操作: 直接在日志中点击某个域名,可以选择“阻止域名”、“取消阻止域名”或“添加为自定义规则”,非常方便。
- 统计数据:
- 仪表盘会显示实时的总查询数、被拦截的查询数、被拦截的百分比、最活跃的客户端、最常查询的域名等。
- 这有助于你评估 AdGuard Home 的运行效果,发现异常的网络行为,以及优化你的过滤策略。
5.6 其他高级设置
- DNS 缓存: 在“DNS 设置”中可以调整 DNS 缓存大小和 TTL(Time To Live)值。更大的缓存可以减少对上游 DNS 的请求,提高解析速度。
- 持久日志: AdGuard Home 默认会存储日志。在“通用设置”中可以配置日志文件的保留天数和大小限制,以避免占用过多存储空间。
- 速率限制: 防止单个客户端发起过多的 DNS 请求,这可以防御 DNS 洪水攻击或限制恶意软件的通信。在“DNS 设置”中配置。
- 反向 DNS 查询 (PTR 记录): 允许解析 IP 地址到域名,有时用于日志显示。
- Web 服务器设置: 在“通用设置”中可以更改 Web 管理界面的端口、启用 HTTPS,甚至上传 SSL 证书以确保管理界面连接安全。
- 更新 AdGuard Home: 在管理界面的右上方,如果有新版本,会有一个“更新”按钮。点击即可通过 Web UI 完成升级。对于 Docker 版本,需要拉取最新镜像并重建容器。
通过这些高级配置和最佳实践,你可以充分发挥 AdGuard Home 的潜力,将其打造成你家庭网络的强大守卫者,享受更私密、更安全、更清爽的上网体验。
第六章:维护与故障排除
任何系统都需要维护,AdGuard Home 也不例外。了解常见的维护任务和故障排除技巧,可以确保你的 AdGuard Home 稳定高效运行。
6.1 日常维护
-
定期更新 AdGuard Home 软件:
- Web UI 更新: 最简单的方式是在 AdGuard Home 管理界面右上角,如果显示有新版本可用,点击“更新”按钮即可。
- Docker 更新: 如果你使用 Docker 部署,需要手动更新:
bash
docker-compose pull adguardhome # 拉取最新镜像
docker-compose up -d # 停止并重建容器
或者对于docker run:
bash
docker stop adguardhome
docker rm adguardhome
docker pull adguard/adguardhome
# 重新运行你的 docker run 命令 - 脚本安装更新: 重新运行安装脚本,它会自动检测并更新到最新版本。
bash
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v - 重要: 更新前最好备份 AdGuard Home 的配置文件夹 (
/opt/AdGuardHome/conf或 Docker 挂载的conf目录)。
-
定期更新过滤列表:
- 在“过滤器” -> “DNS 过滤”页面,点击“检查更新”。
- 如果设置了自动更新,确保其正常工作。
-
检查系统资源:
- 定期检查运行 AdGuard Home 的设备的 CPU、内存和存储使用情况。
- 对于树莓派等小内存设备,确保没有其他程序占用过多资源。
- 日志文件可能会占用存储空间,在“通用设置”中可以配置日志保留策略。
-
备份配置:
- 建议定期备份 AdGuard Home 的配置文件。
- 对于脚本安装,配置文件在
/opt/AdGuardHome/conf/AdGuardHome.yaml。 - 对于 Docker 安装,备份你挂载的
conf目录。 - 备份可以让你在遇到严重问题时快速恢复服务。
6.2 常见故障排除
问题 1:所有设备都无法上网 / DNS 解析失败。
- 症状: 网页无法打开,应用无法连接。
- 可能原因:
- AdGuard Home 服务未运行:
- 检查: 尝试访问 AdGuard Home 的 Web 管理界面 (
http://<IP>:3000)。 - 解决方法:
- 如果是脚本安装:
sudo systemctl status AdGuardHome查看服务状态,如果未运行,sudo systemctl start AdGuardHome启动。 - 如果是 Docker 安装:
docker ps -a检查容器状态,如果未运行,docker start adguardhome启动。
- 如果是脚本安装:
- 检查: 尝试访问 AdGuard Home 的 Web 管理界面 (
- AdGuard Home 设备本身网络连接问题:
- 检查: 确保 AdGuard Home 设备可以 ping 通路由器和外部网站(例如
ping 1.1.1.1)。 - 解决方法: 检查网线、Wi-Fi 连接,确保设备本身有网络。
- 检查: 确保 AdGuard Home 设备可以 ping 通路由器和外部网站(例如
- AdGuard Home 上游 DNS 配置错误:
- 检查: 登录 AdGuard Home 管理界面,查看“DNS 设置”中的上游 DNS 服务器是否正确且可访问。
- 解决方法: 尝试更换为其他可靠的公共 DNS 服务器(如
tls://1.1.1.1)。
- 路由器 DNS 配置错误:
- 检查: 登录路由器后台,确认 DNS 设置是否指向正确的 AdGuard Home IP。
- 解决方法: 暂时将路由器 DNS 改回 ISP 默认或
1.1.1.1进行测试。
- AdGuard Home 服务未运行:
- 紧急解决方案: 如果无法快速定位问题,请立即将路由器或设备的 DNS 设置改回 ISP 默认或
1.1.1.1,以恢复上网功能。
问题 2:某些网站或应用无法正常访问 / 功能异常。
- 症状: 网站显示空白、图片不加载、某些功能按钮无效、应用无法登录。
- 可能原因: AdGuard Home 误拦截了该网站或应用所需的域名。
- 解决方法:
- 查看查询日志: 登录 AdGuard Home 管理界面,进入“查询日志”。
- 重现问题: 在受影响的设备上尝试访问有问题的网站或功能。
- 查找被拦截的域名: 在查询日志中筛选“已拦截”的记录,查找与你访问网站相关的域名。通常,这些域名会有明显的广告或追踪器特征。
- 添加白名单: 找到误报的域名后,点击它,然后选择“取消阻止域名”或“添加到自定义过滤规则”中的白名单。
- 清空 DNS 缓存: 在 AdGuard Home 的“DNS 设置”中点击“刷新缓存”,并在设备上清空 DNS 缓存(例如在 Windows 命令提示符中运行
ipconfig /flushdns)。 - 尝试禁用部分过滤列表: 如果问题依然存在,可以尝试暂时禁用最近添加的激进过滤列表,观察是否恢复正常,以缩小问题范围。
问题 3:AdGuard Home 仪表盘上客户端都显示为路由器的 IP 地址。
- 症状: 无法单独识别网络中的每个设备。
- 可能原因: 你的路由器是 DHCP 服务器,它将所有设备的 DNS 请求都代理给 AdGuard Home,导致 AdGuard Home 无法直接识别发起请求的原始客户端。
- 解决方法:
- 在 AdGuard Home 中启用 DHCP 服务器 (风险较高,参看 4.3 节)。
- 路由器 DHCP 静态 IP 绑定: 在路由器中为每个设备的 MAC 地址绑定一个静态 IP,然后 AdGuard Home 就能通过 IP 来识别不同的客户端。你可以在 AdGuard Home 的“客户端设置”中为这些 IP 地址添加易于识别的名称。
- 手动在设备上设置 DNS: 对于部分设备,如果路由器 DHCP 无法解决,可以在设备级别手动设置 DNS 为 AdGuard Home 的 IP。
问题 4:AdGuard Home Web UI 无法访问。
- 症状: 浏览器无法打开 AdGuard Home 管理界面。
- 可能原因:
- AdGuard Home 服务未运行: 参看问题 1 的解决方法。
- 端口冲突或更改: AdGuard Home 的 Web UI 端口可能被其他服务占用,或者你在安装时更改了端口。
- 检查: 查看安装日志或 AdGuard Home 的配置文件 (
AdGuardHome.yaml) 确认 Web UI 监听的端口。 - 解决方法: 确保你使用正确的端口访问。如果端口冲突,需要停止占用端口的服务,或修改 AdGuard Home 的端口。
- 检查: 查看安装日志或 AdGuard Home 的配置文件 (
- 防火墙阻止: AdGuard Home 设备的防火墙可能阻止了对 Web UI 端口的访问。
- 检查:
sudo ufw status(Ubuntu/Debian) 或sudo firewall-cmd --list-all(CentOS/Fedora) 检查防火墙规则。 - 解决方法: 开放 Web UI 端口(例如 3000/tcp)。
- 检查:
问题 5:AdGuard Home 运行设备磁盘空间不足。
- 症状: AdGuard Home 运行缓慢,无法更新,甚至崩溃。
- 可能原因: 查询日志文件、缓存文件或 Docker 镜像/容器占用了大量磁盘空间。
- 解决方法:
- 清理日志: 登录 AdGuard Home 管理界面,进入“通用设置”,调整“查询日志保留期限”和“统计数据保留期限”为较小的值。
- Docker 清理:
docker system prune -a:清理所有停止的容器、未使用的网络、悬空镜像以及构建缓存。谨慎使用,会删除所有不使用的 Docker 数据。- 手动删除旧的 AdGuard Home Docker 镜像。
- 扩大存储: 如果设备确实存储空间不足,可能需要更换更大的存储卡或硬盘。
通过掌握这些维护和故障排除技巧,你可以确保 AdGuard Home 长期稳定地为你服务,成为你数字隐私的可靠守护者。
结语:掌控你的数字命运
在数字时代,隐私不再是奢侈品,而是每个人都应享有的基本权利。AdGuard Home 提供了一个强大、灵活且易于管理的方式,让你重新掌控自己的数字命运。通过在网络层面拦截广告、追踪器和恶意软件,它不仅保护了你的个人数据免受窥探,提升了网络安全性,更让你的上网体验变得前所未有的纯净和高效。
从简单的安装部署,到精细的上游 DNS 配置、过滤列表管理、自定义规则,再到客户端级别的精细控制,AdGuard Home 提供了几乎所有你能想到的网络级过滤功能。它将你的家庭网络从被动接受各种信息流的终端,转变为一个智能的、可控的、私密的堡垒。
然而,数字隐私的保护是一个持续不断的过程。随着新的追踪技术和广告形式层出不穷,AdGuard Home 也需要不断更新其过滤列表和软件版本。作为用户,我们也需要保持警惕,定期检查其运行状态,根据实际需求调整配置。
希望本文能为你详细描绘 AdGuard Home 的全貌,并引导你一步步构建起属于自己的隐私保护屏障。投入一些时间和精力,你将收获一个更清爽、更安全、更私密的数字生活空间。让 AdGuard Home 成为你数字隐私旅程中的忠实伙伴,共同迎接一个更健康的互联网未来。