保护你的数字隐私:AdGuard Home安装与最佳实践 – wiki基地

保护你的数字隐私: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.0127.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.1192.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 默认会使用一些端口,例如:
    • 53/TCP53/UDP:DNS 服务端口。
    • 80/TCP443/TCP:Web 管理界面端口(如果默认)。
    • 3000/TCP8080/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 参数表示显示详细的安装过程。

安装过程说明:

  1. 脚本会检测你的系统架构,下载对应的 AdGuard Home 可执行文件。
  2. 它会将 AdGuard Home 安装到 /opt/AdGuardHome/ 目录下。
  3. 它会创建一个 systemd 服务,确保 AdGuard Home 在系统启动时自动运行。
  4. 在安装过程中,你可能会被要求输入两次 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组,无需每次sudo

    • sudo 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 # 验证安装

步骤 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 (推荐,更易管理)

  1. 在一个你方便的目录(例如 ~/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/tcp8443:443/tcp,或者直接移除 80/443 映射,只保留 3000/8443 的映射。AdGuard Home 会在首次配置时引导你选择 Web UI 端口。

  2. 保存文件,然后在该目录下运行:

    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:设置管理界面

  1. 欢迎界面: 点击“开始配置”。
  2. Web 界面端口: 确认管理界面的 HTTP 和 HTTPS 端口。通常默认即可,或者根据你的环境选择 80/443。如果 80/443 被占用,它会引导你使用其他端口。
  3. DNS 监听接口: 默认会选择 AdGuard Home 设备的所有可用网络接口和 IP 地址,监听 53 端口。务必确保 53 端口没有被其他服务占用。通常不需要修改。
  4. 创建管理员账号: 设置 AdGuard Home 管理员的用户名和密码。请务必设置一个强密码! 这是管理你整个网络过滤策略的入口,非常重要。
  5. 完成: 点击“下一步”,然后点击“打开仪表盘”。

现在,你已经成功安装并完成了 AdGuard Home 的初步配置。接下来,我们需要将你的网络设备指向 AdGuard Home 作为 DNS 服务器。

第四章:将 AdGuard Home 设置为网络 DNS 服务器

AdGuard Home 只有被你的设备用作 DNS 服务器后才能发挥作用。有多种方法可以实现这一点,从全局性的路由器配置到单个设备的手动设置。

4.1 路由器级别设置 (推荐,覆盖所有设备)

将 AdGuard Home 设置为路由器的 DNS 服务器是最佳实践,因为它能让连接到该路由器的所有设备(包括智能电视、智能音箱、物联网设备等)自动使用 AdGuard Home 进行 DNS 查询,无需逐一配置。

  1. 登录路由器后台: 在浏览器中输入路由器的管理 IP 地址(通常是 192.168.1.1192.168.0.1),输入用户名和密码登录。
  2. 找到 DHCP / LAN 设置: 导航到路由器的“网络设置”、“LAN 口设置”、“DHCP 服务器”或“互联网设置”等菜单。不同品牌的路由器名称可能有所不同。
  3. 修改 DNS 服务器地址:
    • 主要 DNS 服务器: 将其更改为 AdGuard Home 设备的静态 IP 地址。
    • 次要 DNS 服务器 (可选): 你可以留空,或者填写一个公共 DNS 服务器(如 1.1.1.18.8.8.8)作为备用。注意: 如果你填写了备用 DNS,当 AdGuard Home 出现故障时,部分设备可能会自动切换到备用 DNS,从而绕过 AdGuard Home 的过滤。为了最大化保护,建议不填写备用,或者填写另一个 AdGuard Home 实例的 IP。
  4. 保存并重启路由器: 保存更改,然后重启你的路由器。
  5. 验证: 重启后,你的所有设备应该会自动获取新的 DNS 设置。你可以在 AdGuard Home 的仪表盘上看到 DNS 查询日志开始增加,并且客户端列表中会出现你的设备。

4.2 设备级别设置 (针对特定设备或测试)

如果你只想让某个特定设备使用 AdGuard Home,或者你的路由器不支持修改 DNS 设置,你可以单独配置设备的 DNS。

  • Windows:
    1. 打开“设置” -> “网络和 Internet” -> “更改适配器选项”。
    2. 右键点击你正在使用的网络适配器(如 Wi-Fi 或以太网),选择“属性”。
    3. 选择“Internet 协议版本 4 (TCP/IPv4)”,点击“属性”。
    4. 选择“使用下面的 DNS 服务器地址”,将首选 DNS 服务器设置为 AdGuard Home 的 IP 地址,备用 DNS 服务器可以留空或设置为其他公共 DNS。
    5. 点击“确定”保存。
  • macOS:
    1. 打开“系统设置” -> “网络”。
    2. 选择你正在使用的网络连接(如 Wi-Fi 或以太网),点击“详细信息”。
    3. 切换到“DNS”选项卡。
    4. 点击左下角的“+”按钮,添加 AdGuard Home 的 IP 地址。
    5. 点击“好”和“应用”。
  • Android:
    1. 打开“设置” -> “网络和互联网” -> “Wi-Fi”。
    2. 长按你连接的 Wi-Fi 网络,选择“修改网络”或“管理网络设置”。
    3. 展开“高级选项”或“IP 设置”,将 DHCP 更改为“静态”。
    4. 手动输入 IP 地址、网关、网络前缀长度(通常为 24)。
    5. 将 DNS 1 设置为 AdGuard Home 的 IP 地址,DNS 2 可以留空。
    6. 保存设置。
    7. 注意: Android 9 及更高版本还支持“私有 DNS”,你可以在“网络和互联网”设置中选择“私有 DNS”,然后输入 AdGuard Home 的 DoT 地址(例如 tls://<你的AdGuard Home IP>)。这需要 AdGuard Home 开启 DoT 服务。
  • iOS:
    1. 打开“设置” -> “无线局域网”。
    2. 点击你连接的 Wi-Fi 网络旁边的“i”图标。
    3. 向下滚动找到“配置 DNS”,选择“手动”。
    4. 点击“添加服务器”,输入 AdGuard Home 的 IP 地址。
    5. 删除其他默认的 DNS 服务器(如果需要)。
    6. 保存设置。

4.3 DHCP 服务器 (适用于高级用户)

AdGuard Home 自身也可以充当 DHCP 服务器,这样可以更好地识别网络中的设备,并为每个设备应用不同的过滤策略。但这也意味着 AdGuard Home 成为你网络中唯一的 DHCP 服务器,一旦其出现故障,整个网络可能无法获取 IP 地址。

  1. 在路由器中禁用 DHCP 服务器: 这是至关重要的一步,你的网络中只能有一个 DHCP 服务器。
  2. 在 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)。
    • 保存设置。
  3. 重启所有设备: 让设备重新获取 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 服务器对于隐私、速度和安全性至关重要。

  1. 访问配置界面: 登录 AdGuard Home 管理界面,进入“设置” -> “DNS 设置”。

  2. 推荐的上游 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): 专注于安全,能拦截已知恶意域名。
  3. 加密 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
    • DNS-over-TLS (DoT): 通过 TLS 协议加密 DNS 查询。
      • Cloudflare DoT: tls://1.1.1.1
      • Google DoT: tls://dns.google
      • Quad9 DoT: tls://dns.quad9.net
    • 配置方法: 在“上游 DNS 服务器”部分,添加上述加密地址。可以添加多个,AdGuard Home 会并行请求以提高速度和可靠性。
  4. 并行请求: 勾选“并行请求上游 DNS 服务器”选项。这会同时向上游 DNS 服务器发送请求,并采用最快返回的结果,从而提高解析速度。

  5. Bootstrap DNS 服务器: 用于解析 DoH/DoT 服务器本身的域名(如果其地址是域名而不是 IP)。通常使用 ISP 的 DNS 或公共 DNS。例如:1.1.1.1, 8.8.8.8

  6. 保存设置: 点击“应用”保存。

5.2 过滤列表的管理

过滤列表是 AdGuard Home 拦截广告和追踪器的核心。默认情况下,AdGuard Home 会启用一些基础列表,但你可以根据需求添加更多。

  1. 访问配置界面: 登录 AdGuard Home 管理界面,进入“过滤器” -> “DNS 过滤”。

  2. 添加过滤列表:

    • 点击“添加阻止列表”。
    • 你可以选择“从列表选择一个”,这里有很多预设的常用列表,如 AdGuard 各种列表、NoCoin Filter 等。
    • 也可以选择“添加一个自定义列表”,然后粘贴列表的 URL。
  3. 推荐的额外过滤列表:

    • EasyList & EasyPrivacy: 浏览器广告拦截器常用,非常全面。
      • EasyList: https://easylist.to/easylist/easylist.txt
      • EasyPrivacy: https://easylist.to/easylist/easyprivacy.txt
    • OISD: 一个综合性很强的去重优化列表,拦截效果极佳。
      • OISD Full: https://big.oisd.nl/
    • StevenBlack/unified: 也是一个广受欢迎的列表,包含广告、恶意软件等。
      • Unified hosts file: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
    • AdGuard DNS Filter: AdGuard 自己的核心过滤列表,通常已默认启用。
    • AdGuard Tracking Protection: 专注于追踪器拦截,通常已默认启用。
  4. 管理列表:

    • 更新频率: 建议将列表更新频率设置为每天或每 12 小时。
    • 手动更新: 点击“检查更新”可以立即更新所有列表。
    • 谨慎选择: 过滤列表越多,可能拦截的误报(将正常网站误判为广告)也越多,尤其是一些激进的列表。建议从小范围开始,逐步添加,并观察效果。

5.3 自定义过滤规则:白名单与黑名单

即使有了强大的过滤列表,你仍然会遇到误报或漏报的情况。自定义规则允许你对特定域名进行精确控制。

  1. 访问配置界面: 登录 AdGuard Home 管理界面,进入“过滤器” -> “DNS 重写”或“自定义过滤规则”。

  2. 自定义过滤规则 (黑名单/白名单):

    • 黑名单 (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.comanother.com 的子域名。
      • # 开头的行是注释。
  3. DNS 重写 (DNS Rewrites): 将特定域名解析到你指定的 IP 地址。这对于访问局域网内的设备或服务非常有用,也可以用于强制拦截。

    • 例如:my-server.local 192.168.1.100 (将 my-server.local 解析到局域网 IP 192.168.1.100)。
    • 例如:bad-site.com 0.0.0.0 (将 bad-site.com 解析到 0.0.0.0,从而实现拦截)。
  4. 应用场景:

    • 解决误报: 如果某个网站功能异常,或者图片加载不出来,查看 AdGuard Home 的查询日志,找到被拦截的域名,然后将其添加到白名单。
    • 强制拦截特定域名: 如果某个广告或追踪器总是漏网,手动将其添加到黑名单。
    • 局域网服务: 如果你家中有 NAS、私有服务器等,可以使用 DNS 重写给它们一个易记的域名。

5.4 客户端管理与家长控制

AdGuard Home 能够识别网络中的不同客户端,并为它们应用不同的过滤策略。

  1. 识别客户端:

    • 默认情况下,AdGuard Home 可能会将所有设备显示为路由器的 IP 地址。
    • 推荐: 如果你启用了 AdGuard Home 的 DHCP 服务器,或者在路由器中将每个设备的静态 IP 与 MAC 地址绑定,AdGuard Home 可以更好地识别每个设备。
    • 手动添加客户端: 在“设置” -> “客户端设置”中,你可以为特定的 IP 地址添加客户端名称,方便识别。
    • DHCP 租约: 如果 AdGuard Home 是 DHCP 服务器,它会自动识别并命名客户端。
  2. 客户端特定设置:

    • 点击仪表盘中的某个客户端,或在“客户端设置”中编辑客户端。
    • 你可以为特定客户端启用或禁用特定的过滤列表。
    • 可以为特定客户端添加私有的黑名单/白名单规则。
    • 家长控制: 针对儿童设备,可以启用“家长控制”,AdGuard Home 会阻止访问成人内容。
    • 安全浏览/强制安全搜索: 启用这些选项可以阻止访问恶意网站,并强制 Google、Bing 等搜索引擎使用安全搜索模式。

5.5 查询日志与统计数据

查询日志和统计数据是 AdGuard Home 的“眼睛”,让你了解网络流量和过滤效果。

  1. 查询日志:
    • 在管理界面点击“查询日志”,你可以看到所有设备的 DNS 查询记录。
    • 过滤器: 可以根据时间、客户端、域名、类型(已拦截、已处理、缓存)等进行过滤。
    • 操作: 直接在日志中点击某个域名,可以选择“阻止域名”、“取消阻止域名”或“添加为自定义规则”,非常方便。
  2. 统计数据:
    • 仪表盘会显示实时的总查询数、被拦截的查询数、被拦截的百分比、最活跃的客户端、最常查询的域名等。
    • 这有助于你评估 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 日常维护

  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 目录)。
  2. 定期更新过滤列表:

    • 在“过滤器” -> “DNS 过滤”页面,点击“检查更新”。
    • 如果设置了自动更新,确保其正常工作。
  3. 检查系统资源:

    • 定期检查运行 AdGuard Home 的设备的 CPU、内存和存储使用情况。
    • 对于树莓派等小内存设备,确保没有其他程序占用过多资源。
    • 日志文件可能会占用存储空间,在“通用设置”中可以配置日志保留策略。
  4. 备份配置:

    • 建议定期备份 AdGuard Home 的配置文件。
    • 对于脚本安装,配置文件在 /opt/AdGuardHome/conf/AdGuardHome.yaml
    • 对于 Docker 安装,备份你挂载的 conf 目录。
    • 备份可以让你在遇到严重问题时快速恢复服务。

6.2 常见故障排除

问题 1:所有设备都无法上网 / DNS 解析失败。

  • 症状: 网页无法打开,应用无法连接。
  • 可能原因:
    1. AdGuard Home 服务未运行:
      • 检查: 尝试访问 AdGuard Home 的 Web 管理界面 (http://<IP>:3000)。
      • 解决方法:
        • 如果是脚本安装:sudo systemctl status AdGuardHome 查看服务状态,如果未运行,sudo systemctl start AdGuardHome 启动。
        • 如果是 Docker 安装:docker ps -a 检查容器状态,如果未运行,docker start adguardhome 启动。
    2. AdGuard Home 设备本身网络连接问题:
      • 检查: 确保 AdGuard Home 设备可以 ping 通路由器和外部网站(例如 ping 1.1.1.1)。
      • 解决方法: 检查网线、Wi-Fi 连接,确保设备本身有网络。
    3. AdGuard Home 上游 DNS 配置错误:
      • 检查: 登录 AdGuard Home 管理界面,查看“DNS 设置”中的上游 DNS 服务器是否正确且可访问。
      • 解决方法: 尝试更换为其他可靠的公共 DNS 服务器(如 tls://1.1.1.1)。
    4. 路由器 DNS 配置错误:
      • 检查: 登录路由器后台,确认 DNS 设置是否指向正确的 AdGuard Home IP。
      • 解决方法: 暂时将路由器 DNS 改回 ISP 默认或 1.1.1.1 进行测试。
  • 紧急解决方案: 如果无法快速定位问题,请立即将路由器或设备的 DNS 设置改回 ISP 默认或 1.1.1.1,以恢复上网功能。

问题 2:某些网站或应用无法正常访问 / 功能异常。

  • 症状: 网站显示空白、图片不加载、某些功能按钮无效、应用无法登录。
  • 可能原因: AdGuard Home 误拦截了该网站或应用所需的域名。
  • 解决方法:
    1. 查看查询日志: 登录 AdGuard Home 管理界面,进入“查询日志”。
    2. 重现问题: 在受影响的设备上尝试访问有问题的网站或功能。
    3. 查找被拦截的域名: 在查询日志中筛选“已拦截”的记录,查找与你访问网站相关的域名。通常,这些域名会有明显的广告或追踪器特征。
    4. 添加白名单: 找到误报的域名后,点击它,然后选择“取消阻止域名”或“添加到自定义过滤规则”中的白名单。
    5. 清空 DNS 缓存: 在 AdGuard Home 的“DNS 设置”中点击“刷新缓存”,并在设备上清空 DNS 缓存(例如在 Windows 命令提示符中运行 ipconfig /flushdns)。
    6. 尝试禁用部分过滤列表: 如果问题依然存在,可以尝试暂时禁用最近添加的激进过滤列表,观察是否恢复正常,以缩小问题范围。

问题 3:AdGuard Home 仪表盘上客户端都显示为路由器的 IP 地址。

  • 症状: 无法单独识别网络中的每个设备。
  • 可能原因: 你的路由器是 DHCP 服务器,它将所有设备的 DNS 请求都代理给 AdGuard Home,导致 AdGuard Home 无法直接识别发起请求的原始客户端。
  • 解决方法:
    1. 在 AdGuard Home 中启用 DHCP 服务器 (风险较高,参看 4.3 节)。
    2. 路由器 DHCP 静态 IP 绑定: 在路由器中为每个设备的 MAC 地址绑定一个静态 IP,然后 AdGuard Home 就能通过 IP 来识别不同的客户端。你可以在 AdGuard Home 的“客户端设置”中为这些 IP 地址添加易于识别的名称。
    3. 手动在设备上设置 DNS: 对于部分设备,如果路由器 DHCP 无法解决,可以在设备级别手动设置 DNS 为 AdGuard Home 的 IP。

问题 4:AdGuard Home Web UI 无法访问。

  • 症状: 浏览器无法打开 AdGuard Home 管理界面。
  • 可能原因:
    1. AdGuard Home 服务未运行: 参看问题 1 的解决方法。
    2. 端口冲突或更改: AdGuard Home 的 Web UI 端口可能被其他服务占用,或者你在安装时更改了端口。
      • 检查: 查看安装日志或 AdGuard Home 的配置文件 (AdGuardHome.yaml) 确认 Web UI 监听的端口。
      • 解决方法: 确保你使用正确的端口访问。如果端口冲突,需要停止占用端口的服务,或修改 AdGuard Home 的端口。
    3. 防火墙阻止: 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 镜像/容器占用了大量磁盘空间。
  • 解决方法:
    1. 清理日志: 登录 AdGuard Home 管理界面,进入“通用设置”,调整“查询日志保留期限”和“统计数据保留期限”为较小的值。
    2. Docker 清理:
      • docker system prune -a:清理所有停止的容器、未使用的网络、悬空镜像以及构建缓存。谨慎使用,会删除所有不使用的 Docker 数据。
      • 手动删除旧的 AdGuard Home Docker 镜像。
    3. 扩大存储: 如果设备确实存储空间不足,可能需要更换更大的存储卡或硬盘。

通过掌握这些维护和故障排除技巧,你可以确保 AdGuard Home 长期稳定地为你服务,成为你数字隐私的可靠守护者。

结语:掌控你的数字命运

在数字时代,隐私不再是奢侈品,而是每个人都应享有的基本权利。AdGuard Home 提供了一个强大、灵活且易于管理的方式,让你重新掌控自己的数字命运。通过在网络层面拦截广告、追踪器和恶意软件,它不仅保护了你的个人数据免受窥探,提升了网络安全性,更让你的上网体验变得前所未有的纯净和高效。

从简单的安装部署,到精细的上游 DNS 配置、过滤列表管理、自定义规则,再到客户端级别的精细控制,AdGuard Home 提供了几乎所有你能想到的网络级过滤功能。它将你的家庭网络从被动接受各种信息流的终端,转变为一个智能的、可控的、私密的堡垒。

然而,数字隐私的保护是一个持续不断的过程。随着新的追踪技术和广告形式层出不穷,AdGuard Home 也需要不断更新其过滤列表和软件版本。作为用户,我们也需要保持警惕,定期检查其运行状态,根据实际需求调整配置。

希望本文能为你详细描绘 AdGuard Home 的全貌,并引导你一步步构建起属于自己的隐私保护屏障。投入一些时间和精力,你将收获一个更清爽、更安全、更私密的数字生活空间。让 AdGuard Home 成为你数字隐私旅程中的忠实伙伴,共同迎接一个更健康的互联网未来。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部