Linux 上的 Pi-Hole 设置以获得更好的无广告体验

Pi-hole:网络级广告拦截的强大工具

Pi-hole 是一款基于 Linux 的开源工具,它能够帮助用户在其网络连接的所有设备上有效屏蔽广告和恶意网站,从而提升网络浏览体验。

互联网广告的兴起已是不争的事实。与传统媒体相比,网络广告不仅成本更低,还允许品牌根据用户的人口统计信息进行精准定位,并实时监测广告效果。这是电视、广播和报纸等传统媒体所无法比拟的优势。

根据普华永道发布的《2022年全球娱乐与媒体展望》报告显示,美国广告商在在线广告上的支出高达1893亿美元,是电视广告支出697亿美元的2.7倍。报告还预测,到2026年,在线广告支出将达到电视广告支出的3.8倍。越来越多的广告商将目光投向互联网。那么,这对用户的上网体验又产生了什么影响呢?

全球网络指数(Global Web Index)的广告拦截报告指出,约有40%的网民会主动屏蔽广告。用户屏蔽广告的主要原因包括:网络广告泛滥、广告内容令人反感或毫无关联、广告干扰性太强、广告有时会携带病毒或错误、广告占用过多屏幕空间。随着广告数量的不断增加,以及部分广告商采取更为激进的广告技术,用户在很大程度上失去了对在线体验的掌控权。

但是,情况并非无法改变。类似 Pi-hole 这样的工具,让用户可以重新掌控自己的网络体验,阻止那些令人厌烦的广告。

Pi-hole 是什么?

根据官方文档,Pi-hole 是一个域名服务(DNS)黑洞,它无需安装任何客户端软件,即可保护您的设备免受不必要的网络内容干扰。要理解 Pi-hole 的工作原理,我们首先需要了解计算机是如何在互联网上通信的。

计算机在互联网上通过互联网协议(IP)地址进行相互通信。这些数字代表互联网上的各种资源。

然而,由于计算机本身无法理解域名,因此必须将域名转换为相应的 IP 地址。域名系统(DNS)负责执行这项转换。同时,DNS 还可以通过 DNS 黑洞技术,阻止对某些特定网站的访问。

DNS 黑洞是一种通过将对恶意或不想要的域名的请求重定向到不存在或受控的 IP 地址,从而阻止访问这些域名的方法。DNS 黑洞的工作原理是:在 DNS 服务器中配置一份禁止访问的域名列表。当 DNS 服务器接收到访问某个域名的请求时,它会将请求的域名与禁止域名列表进行比对。如果发现匹配项,DNS 服务器会返回一个预先设定的控制或错误 IP 地址,从而阻止(sinkhole)对该域名的访问。

了解 DNS 黑洞的概念后,我们可以将 Pi-hole 视为一个网络级的、基于 DNS 的广告拦截器,它能够保护整个网络免受广告和互联网追踪器的侵扰。它充当 DNS 黑洞的角色,屏蔽那些用于投放广告的域名。Pi-hole 是免费的,可以在任何 Linux 计算机或 Raspberry Pi 小型计算机上安装。

当 Pi-hole 被配置为路由器的 DNS 服务器时,广告将在整个网络范围内被屏蔽。这意味着,所有连接到网络的设备,如手机、电脑、游戏机、智能电视等,都将获得无广告的浏览体验。这与浏览器插件形式的广告拦截器不同,后者只能在单个设备上拦截广告。

为了屏蔽提供广告的域名,Pi-hole 使用由社区维护的、包含广告网站的黑名单。当连接到网络的设备尝试访问某个用于投放广告的域名时,Pi-hole 会返回一个无效的 IP 地址(通常是 0.0.0.0),从而阻止广告的显示。

为什么要安装 Pi-hole?

在您的网络中安装 Pi-hole 可以带来诸多好处,其中包括:

屏蔽网络中所有设备上的广告和不想要的网站

由于 Pi-hole 在网络层面上屏蔽广告,它可以确保连接到网络的所有设备都能获得无广告的浏览体验。此外,Pi-hole 还允许用户屏蔽他们认为对网络用户不安全的网站。这些网站可能包括成人网站或宣扬暴力的网站。这可以有效保护用户,特别是儿童,免受有害内容的侵扰。

保护用户隐私

广告公司通过使用追踪器来监控用户的在线活动,收集用户的浏览习惯数据,以便展示个性化广告。Pi-hole 可以通过阻止这些追踪器来保护用户隐私。相比之下,浏览器插件形式的广告拦截器虽然可以屏蔽广告,却无法阻止追踪器收集用户数据。

提升网络性能

Pi-hole 通过阻止不必要的网络内容,减少了设备需要下载和处理的数据量,从而提高了网络性能。

保护设备免受恶意软件和其他有害网站的侵害

图片来源:Pi-hole

Pi-hole 对任何网络而言都是非常有益的,因为它能为用户提供无广告的浏览体验,防止用户数据被滥用,保护用户免受有害网站的侵害,并保护设备免受网络钓鱼、恶意软件和勒索软件的攻击。此外,它还能阻止加密货币挖矿网络,防止设备在用户不知情或未经授权的情况下被用于挖掘加密货币。

安装 Pi-hole 的要求

要在家庭网络中安装 Pi-hole,您需要满足以下任一官方支持的操作系统要求:

  • 基于 ARM 架构的 Raspberry Pi 操作系统 Buster/Bullseye 版本
  • ARM/x86_64 架构上的 Ubuntu 版本 20.x/22.x
  • ARM / x86_64 / i386 架构上的 Debian 10/11 版本
  • ARM / x86_64 / i386 架构上的 Fedora 35/36 版本
  • x86_64 上的 CentOS Stream 8/9 版本

安装 Pi-hole 的计算机至少需要 512MB 内存。建议使用至少 2GB 的可用存储空间,但 4GB 更为理想。

最后,设置和使用 Pi-hole 需要互联网连接以及对路由器管理面板的访问权限。

如何在 Linux 上安装 Pi-hole

为了演示如何在 Linux 上安装 Pi-hole,本安装指南将介绍如何在常用的 Linux 发行版 Ubuntu 上进行安装。这里将使用最新的 Ubuntu 22.04.1 LTS 版本。

请按照以下步骤在 Ubuntu 上安装 Pi-hole:

#1. 更新操作系统:在 Linux 上安装任何软件之前,最好先更新操作系统。在终端中执行以下命令,以安装所有可用的更新:

sudo apt update && sudo apt upgrade -y

#2. 配置静态 IP 地址:由于 Pi-hole 充当服务器,因此需要一个静态 IP 地址才能正常工作。静态 IP 地址是指不会自动更改的 IP 地址。DNS 服务器使用静态 IP 地址,以便设备知道如何连接。如果 IP 地址不断变化,用户必须不断重新配置计算机上的 DNS 服务器才能使用互联网。如果尚未设置静态 IP 地址,请按照以下步骤进行配置:

#3. 进入“设置”->“Wi-Fi”,然后点击齿轮图标。如果使用的是以太网连接,请进入“设置”->“网络”,然后点击有线连接旁边的齿轮图标。

#4. 点击“IPv4”标签,进行修改,使其与以下屏幕截图一致:

#5. 要确认设置是否生效,请打开终端并执行以下命令:

ip address show

在突出显示的行中,注意我们添加了 192.168.0.10 的 IP 地址,同时,在突出显示的文本中,没有出现“动态”这个词,这意味着我们设置的 IP 地址是静态的。

#6. 在终端中,运行以下命令以安装 Pi-hole:

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

运行上述命令会开始安装所需的依赖项,并通过屏幕上的提示引导您完成 Pi-hole 的设置过程。

#7. 在第一个屏幕上,直接按 Enter 键。

#8. 考虑到 Pi-hole 是一款免费工具,您可以通过 Pi-hole Donations 项目捐赠来支持它。按 Enter 键继续。

#9. 由于我们已经设置了静态 IP 地址,请按 C 键继续。

#10. 使用向上或向下箭头键选择您首选的 DNS 提供商。您可以自由选择,但通常建议使用 Quad9(已过滤、ECS、DNSSEC)、Cloudflare (DNSSEC) 或 OpenDNS(ECS、DNSSEC),因为它们具有出色的隐私政策。选择首选 DNS 提供商后,按 Enter 键继续。

#11. 如前所述,Pi-hole 使用社区维护的黑名单来阻止广告服务域名和恶意网站。这里使用的是 StevenBlack 的统一主机列表,Pi-hole 建议您添加它。按 Y 键添加。

#12. 管理 Web 界面是管理 Pi-hole 的一种简单方法。不安装它不会影响 Pi-hole 的功能,但强烈建议安装。按 Y 键安装并继续。

#13. 按 Y 键安装 Lighttpd,以便与前面步骤中安装的管理 Web 界面一起使用。

#14. Pi-hole 可以显示 Pi-hole DNS 上发生的活动的准确统计数据。您需要启用查询日志记录。按 Y 键启用并继续。

#15. 由于您在上一步中启用了日志记录,您可以在此处选择要查看的信息量。级别 0 会显示所有内容,记录所有客户端(设备)使用网络中的 Pi-hole 访问的所有域名。使用向上和向下箭头键选择所需的日志记录级别,然后按 Enter 键完成安装。但是,请不要关闭终端。

#16. 如果您按照建议安装了管理 Web 界面,您将获得登录详细信息以访问管理网页。您将获得该网站的链接和密码。

#17. 要访问管理 Web 界面,请打开浏览器,输入给定的 Web 界面 URL(在本例中为 http://192.168.0.10/admin),然后输入给定的登录密码。您将看到如下所示的仪表板:

此仪表板将显示有关您使用 Pi-hole 的所有必要信息。在右上角,“广告列表”下显示的绿色域表示 Pi-hole 将阻止的域名数量(在我们添加推荐的阻止列表后)。

如果您想将新网站添加到阻止列表,请点击 “广告列表” 下方显示的被阻止的域名数量(例如 168,482)。

#18. 最后一步是配置您正在使用的路由器,以使用您安装 Pi-hole 的 Linux 计算机作为其 DNS 服务器。由于不同路由器的配置方法不同,因此请查阅您的路由器手册,了解如何执行此操作。 Pi-hole 文档也提供了专门的页面,介绍了如何在不同的路由器上配置 DNS 服务器。请参考“Pi-hole 作为 DNS 服务器”文档,了解如何进行配置。

接下来,我们将介绍如何确认 Pi-hole 是否在您的设备上正常工作。

如何判断 Pi-hole 是否正常工作

Pi-hole 的主要功能是阻止网络上的广告。因此,判断 Pi-hole 是否正常工作的一个简单方法是:打开一个您知道通常会显示广告的网站,例如 CNN、BBC 或路透社等新闻网站。

一个更简单的方法是打开这个 Pi-hole 测试网站。如果您在页面上没有看到广告,则表明 Pi-hole 正在运行。但是,如果您在网站上看到广告,则表明 Pi-hole 未能正常工作。请考虑检查您的路由器配置。

Pi-hole 设置中可能遇到的挑战

与任何其他工具一样,Pi-hole 并非完美。在使用 Pi-hole 时,您可能会遇到以下一些挑战:

Pi-hole 无法屏蔽所有广告

广告公司了解 Pi-hole 等基于 DNS 的广告拦截工具。一些公司通过将广告直接嵌入应用程序代码中(例如在游戏中),或者将广告作为流数据的一部分(例如 YouTube)来规避 DNS 广告拦截。因此,您可能仍然会看到 YouTube 广告,因为这些广告与您正在观看的视频是融为一体的,而不是作为单独的请求发送的。

Pi-hole 会留下空白

与基于浏览器的广告拦截器不同,后者会删除广告可能占用的空间,Pi-hole 只会阻止广告的加载,但不会删除广告位。这意味着您会看到广告本应出现但却是空白的区域。这在小屏幕设备上可能会让人感到不适。

Pi-hole 会屏蔽网络上所有设备的广告

由于 Pi-hole 是一种网络级广告拦截工具,因此它不会区别对待网络上的任何设备。更糟糕的是,它没有提供一个简单的界面来禁用某些特定设备上的屏蔽功能。因此,您必须手动更改这些特定设备上的 DNS 设置。

此外,即使您关闭了 Pi-hole,如果您不重置路由器或相关设备上的 DNS 设置,您可能仍然无法连接到互联网。

尽管存在一些缺点,但 Pi-hole 在保护用户和提升网络浏览体验方面仍然非常有用。

作者的话

Pi-hole 对任何使用互联网的人来说都是一个非常有用的工具。除了屏蔽那些可能让网络浏览体验变得烦人的广告之外,它还可以保护您的在线隐私,阻止那些用于监视用户网络活动的互联网追踪器。它还可以保护您的计算机免受可能感染恶意软件或勒索软件的恶意网站的侵害。此外,Pi-hole 还可以保护网络用户免受有害网站的侵扰。尽管安装过程可能有些繁琐,但对于任何使用互联网的人来说,Pi-hole 都是一个值得推荐的工具。