构筑安全的网络堡垒——AdGuard Home全屋广告拦截与隐私保护

在当今数字化时代,我们的生活越来越依赖互联网和数字技术。然而,随之而来的问题也不断增多,其中之一便是广告和隐私问题。

每当我们浏览网页或使用应用程序时,烦人的广告总是跳出来打扰我们的阅读和体验。同时,越来越多的网站和应用程序收集我们的个人数据,跟踪我们的在线行为,这引发了我们的隐私担忧。但是,现在有一个名为AdGuard Home的强大工具,它可以帮助我们解决这些问题,构筑一个安全的网络堡垒,让我们尽情享受纯净的浏览体验。

AdGuard Home是一款开源的网络广告拦截与隐私保护软件,它可以在您的本地网络上运行,并拦截所有连接到网络的设备上的广告、计算机恶意软件、跟踪器和恶意网站。AdGuard Home是由AdGuard团队开发的,该团队在广告拦截和隐私保护领域拥有多年的经验。

与传统的浏览器插件广告拦截器不同,AdGuard Home在本地运行,无需在每个设备上安装插件,因此可以为整个家庭网络提供广告拦截和隐私保护服务。

安装AdGuard Home非常简单,您只需要在支持的设备上下载并安装它,然后将其设置为您的网络网关。一旦安装完成,它会开始监视并过滤所有流入您家庭网络的数据流量。这意味着无论您使用电脑、手机、平板电脑还是智能电视,所有连接到网络的设备都将享受到广告拦截和隐私保护服务,让您彻底告别烦人的广告和隐私泄露的担忧。

AdGuard Home的广告拦截功能基于先进的过滤规则和黑名单,它可以有效地屏蔽各种类型的广告,包括横幅广告、弹出广告、视频广告等。不仅如此,AdGuard Home还可以阻止那些具有恶意代码和跟踪器的广告,从根本上保护您的设备免受恶意软件和数据跟踪的侵害。您会发现,一旦启用AdGuard Home,浏览网页和使用应用程序的速度也会明显提高,因为不再加载和显示烦人的广告内容。

除了广告拦截功能,AdGuard Home还提供了强大的隐私保护功能。它可以阻止那些试图跟踪您在线行为和收集个人数据的网站和应用程序。AdGuard Home的隐私保护功能基于多个流行的跟踪器数据库,它会及时更新以反击新出现的跟踪技术。这样一来,您可以放心地在网上冲浪,不必担心个人信息被滥用或泄露。

值得一提的是,AdGuard Home并不会干扰您正常的网络使用。它只会拦截和过滤广告和恶意内容,而不会影响其他合法的网络通信。您可以自由地访问您喜欢的网站和使用各种在线服务,同时享受纯净的浏览体验。

什么是AdGuard Home?

AdGuard Home是一款开源的网络广告拦截与追踪保护软件,它能够帮助用户在局域网内实现全屋去广告和隐私保护。它的工作原理类似于DNS过滤器,通过拦截广告服务器的请求,从而使用户在浏览网页时不再受到广告的干扰。除此之外,AdGuard Home还能阻止跟踪器,从源头上保护用户的隐私数据。

功能与优势

  • 全局去广告:AdGuard Home能够在用户整个局域网内拦截广告请求,包括电脑、手机、智能电视等各种设备。这意味着用户无需单独在每个设备上安装去广告插件,而是一次性解决了全屋的广告问题,让浏览更加纯净。

  • 隐私保护:除了拦截广告,AdGuard Home还能够屏蔽许多跟踪器和恶意网站,保护用户的隐私数据不被滥用。用户可以放心浏览网页,不用担心个人信息被泄露。

  • 自定义过滤规则:AdGuard Home允许用户根据自己的需求定制过滤规则,从而实现更加精准的广告拦截和追踪保护。用户可以添加自定义规则,也可以选择订阅广告过滤器列表,保持规则的更新和优化。

  • 统计与报告:AdGuard Home提供了实时的统计信息,让用户了解广告和跟踪器的拦截情况。用户还可以查看访问请求的日志和报告,帮助他们更好地管理网络活动。

部署

AdGuard Home部署方法有很多种,其中二进制文件部署和直接编译到OpenWrt系统中是常用的方式。不过,笔者更喜欢使用Docker部署,因为它的更新和维护成本低,具有多样性和灵活性。比如,对于需要进行DNS分流的科学上网需求,使用Docker可以进行多容器部署和管理。以下主要介绍两种Docker网络模式下的部署:

  • 部署准备

image.png

放行端口

53:DNS 端口。即其他设备访问 AdGuard Home 进行 DNS 解析的默认端口。因为部分系统不支持自定义

DNS端口,所以不建议自定义。部署前务必要查看是否有其它程序占用。

67, 68: DHCP 端口。除非想代替你路由上的 DHCP服务器,否则用不到。

80: 管理页面默认 HTTP 端口。可忽略,在初始化页面设置管理端口为 3000 端口即可。

443:HTTPS 和 DoH 端口。本地内网环境不需要。

853:DoT 端口。不使用相关功能可忽略。

3000:初始化设置端口。除非通过配置文件去设置,否则必须开启。

  • 设置Bridge网络模式

在Docker中,网络模式是一个重要的概念,它决定了容器与主机和其他容器之间的网络通信方式。默认情况下,Docker使用Bridge网络模式,这种模式下每个容器都有自己的IP地址,并通过NAT进行通信。

然而,Bridge网络模式存在一些问题,特别是在部署AdGuard Home时,可能会遇到端口设置、占用和修改困难等限制。为了克服这些问题,我们可以考虑使用Host网络模式,以提升部署灵活性和性能。

Host网络模式是Docker提供的一种网络模式,它将容器与主机共享网络命名空间,使得容器直接使用主机的网络接口。这意味着容器中的应用程序可以通过主机上的IP地址和端口进行通信,无需进行端口映射和NAT转换。对于AdGuard Home来说,使用Host网络模式可以带来一系列的优势。

首先,使用Host网络模式可以避免端口设置和占用问题。在Bridge网络模式下,每个容器都需要指定不同的端口映射,如果端口冲突或者需要修改端口,就需要对容器进行重新配置。而在Host网络模式下,容器直接使用主机的端口,无需进行额外的配置,简化了部署过程。

其次,Host网络模式可以提高性能。由于容器直接使用主机网络接口,通信过程中省去了NAT转换,减少了网络延迟,提高了网络传输速度。对于AdGuard Home这样需要频繁处理网络请求的应用程序来说,性能的提升尤为重要。

使用Host网络模式也有一些需要注意的地方。首先,由于容器直接使用主机网络接口,容器与主机之间的网络隔离性较差,这可能导致一些安全风险。因此,在使用Host网络模式时,需要确保主机网络环境的安全性。

Host网络模式下容器之间的端口冲突问题仍然存在。虽然不需要进行端口映射,但不同容器间如果使用相同的端口会导致冲突。为了避免这种情况,可以在部署时确保每个容器使用不同的端口,或者使用Docker Compose等工具进行端口管理。

总的来说,Host网络模式是一种强大的网络模式,适用于需要高性能和灵活部署的场景。在部署AdGuard Home这样的应用程序时,采用Host网络模式可以避免端口设置和占用问题,提高性能,但也需要注意网络安全和端口冲突的问题。对于有经验的Docker用户来说,Host网络模式是一个值得尝试的选项,它可以带来更好的网络体验和部署效率。

示例:

image.png

如果只是本地局域网使用一般只需要映射53和3000端口(在初始化页面设置管理端口为 3000 端口即可)

  • Host网络模式

Host网络模式:解放容器,直通外网

在Docker中,网络模式是容器与主机及其他容器之间通信的关键。默认情况下,Docker使用Bridge网络模式,但对于一些特定场景,如需要直接与外部设备通信或本地开发调试等,Bridge模式可能存在一些限制。这时,Host网络模式成为了一个更加灵活和强大的选择。

Host网络模式是Docker提供的一种网络模式,它的特点在于容器直接使用宿主机的网络,完全绕过了Docker的网络隔离。在Host网络模式下,容器与宿主机共享同一网络命名空间,因此容器可以使用宿主机的IP地址和端口,无需进行端口映射或NAT转换。这为容器的部署和调试带来了极大的便利。

一个显著的优点是容器的端口设置变得十分灵活。在Host网络模式下,容器内部的应用程序可以直接使用主机的端口,不再受限于端口映射和冲突问题。这意味着容器可以随时根据需要调整端口,让部署变得更加自由自在。

Host网络模式特别适用于本机使用或直接向外部设备开放服务的情况。例如,在本地开发和调试时,我们经常需要与本地环境进行交互,这时使用Host网络模式可以让容器直接使用主机网络,方便快捷。同样,在VPS(虚拟专用服务器)或主路由等设备上运行的容器,可能需要直接向外部设备开放服务,这时使用Host网络模式可以实现直通外网的需求。

示例:

docker run -d
–name adguardhome
–restart=always
–network host
-v /etc/AdGuard_Home/:/opt/adguardhome/work
-v /etc/AdGuard_Home/:/opt/adguardhome/conf
adguard/adguardhome

初始化设置

  • 进入安装向导

在浏览器中打开 AdGuard Home 的后台,进入安装向导,点击 “开始配置”。默认后台地址为:​http://IP:3000/​

image.png

  • 设置网络接口

将后台的访问端口更改为 3000,避免与 NAS 后台的 80 端口发生冲突,DNS 端口保持为 53 即可。

  • 设置管理员账户

后期配置

  • 常规设置

过滤器更新间隔:DNS 过滤清单默认更新间隔,一般为 3 天 - 7 天

使用 AdGuard 「浏览安全」网页服务:作用与 Chrome 网页安全性检查类似,开启后,当用户访问存在潜在威胁的网站时,AdGuard 会主动拦截并弹出提示

使用 AdGuard 「家长控制」 服务:如果家中有尚未成年的孩子,建议开启,避免访问不良网站

强制安全搜索:隐藏 Bing、Google、Yandex、YouTube 网站上 NSFW 等不适宜的内容

查询记录保留时间:AdGuard Home 服务端采用 Sqlite 文件数据库存储日志,长时间保留可能会降低运行速度,同时占用大量的储存空间,家庭用户一般保留 24 小时 - 7 天即可

统计数据保留时间:用于仪表盘的数据展示,一般保留 24 小时 - 7 天即可

  • DNS 设置

上游 DNS 服务器:AdGuard Home 的上游 DNS 服务器,可参考下方推荐列表,一般保留 1 - 2 个即可。AdGuard

Home 除了可以作为广告过滤网关,如果设置了纯净 DNS 后,还可以避免运营商的 DNS 劫持

BootStrap DNS服务器地址:作为 DoH / DoT DNS 的前置 DNS 解析器,可参考下方推荐列表

查询方式、速度限制、EDNS、DNSSEC、拦截模式、DNS 缓存设置、访问设置可根据需要进行调整,一般保持默认设置即可

  • DNS 服务器推荐

不同地区连接至 DNS 服务器的速度各有差异,各位可以通过 Ping 测速的方式寻找当地连接延迟最低的 DNS 服务器。更多 DNS 服务器可以在 AdGuard 文档中找到
image.png

  • DNS 封锁清单

为了更好地发挥AdGuard Home去广告的功能,仅使用默认的过滤规则是不够的。但是,过多的过滤规则会影响解析速度,因此添加过滤规则需要权衡利弊。主要浏览国内网站的用户可以使用anti-AD + Halflife过滤规则,而需要浏览国外网站的用户则可以根据需要添加AdGuard DNS Filter、Fanboy’s Annoyances List等规则。由于不同的规则存在重叠,可以通过AdGuard Home的拦截日志分析哪些规则使用频率最高,哪些规则拦截频率最低,并进行权衡取舍。
image.png

  • 在设备上使用 AdGuard Home DNS

在AdGuard Home的设置指导页面可以找到相应系统的DNS设置方法。为了避免路由器上使用时出现问题,建议先在电脑或手机上进行设置,并测试是否能正常解析访问一些网站。如果一切正常,仪表盘界面会显示有关统计信息,而查询日志界面会显示解析的详细记录信息。最后再重申,在使用路由器时,请确保已充分理解DNS设置的相关步骤和风险,并进行必要的安全配置。

image.png

使用效果

image.png

到这里 Ad­Guard Home 的设置就算是介绍完了