如果你厌倦了上网时铺天盖地的广告,搭建一个过滤服务器是终极解决方案。树莓派 Zero 是这方面的理想之选,它体积小巧、功耗极低,而且能在你毫无察觉的情况下帮你清理网络广告。
Pi-hole 本质上就是一个广告“黑洞”;它会拦截 DNS 请求,并在恶意或广告域名到达您的设备之前将其屏蔽。它是一款超级轻量级的工具,您可以把它放在家里的某个角落运行,几乎可以完全不用管它。
你需要什么开始?

首先要考虑的是硬件。虽然软件本身非常轻量级,但您仍然需要一台能够流畅运行它的电脑。Pi-hole至少需要 512 MB 的内存和大约 2 GB 的硬盘空间,不过 4 GB 的硬盘空间会更理想,也更灵活。如果您使用的是 Raspberry Pi Zero 2W,我们强烈建议您使用以太网扩展板 (HAT) 以获得稳定的网络连接,因为其 Wi-Fi 连接有时可能不太稳定。
关于电源,一个常见的问题是它是否可以通过路由器的 USB 端口供电。答案是,虽然有些路由器支持这种方式,但最好还是使用可靠的墙壁插座,以避免意外重启或系统不稳定。
支持的操作系统

并非任何软件版本都能满足要求。为了确保一切顺利运行,您需要安装一个使用systemd 或 sysvinit的发行版。以下是最可靠的选择:
- 树莓派操作系统: Buster 和 Bullseye 版本在 ARM 架构上完美运行。
- Debian: 完全兼容版本 10、11 和 12。
- Ubuntu的: 从 20.x 到 23.x,ARM 和 x86_64 平台均有支持。
- 其他选择: Armbian OS、Fedora(36-38)和 CentOS Stream(8/9)。
请注意:如果您尝试将其安装在过新或不受支持的版本上(例如在较旧型号上安装某些 Raspbian 12 版本),则可能会遇到兼容性错误,从而阻止您继续进行。
网络和端口配置

为防止网络故障,Pi-hole 服务器必须使用静态 IP 地址。如果您不想在 Raspberry Pi 上手动配置 IP 地址,可以在路由器上设置 DHCP 保留地址,使其始终获得相同的地址。
关于端口,您需要注意避免冲突。端口53(TCP/UDP)是 DNS 的核心端口;如果您有其他 DNS 服务器(例如 BIND),则需要禁用它。Web 管理使用端口80(HTTP),因此如果您已经有 Apache 服务器,则需要更改 lighttpd 的端口。如果您想使用 Pi-hole 作为 DHCP 服务器,则需要开放端口67 和 547。最后,FTL API 引擎监听端口 4711,但仅限本地监听。
分步安装指南
最快捷简便的方法是自动安装。只需通过 SSH(例如使用 PuTTY)登录,然后运行以下命令: curl -sSL https://install.pi-hole.net | bash
如果您不想直接从网页运行脚本,您可以选择以下方法: 更多手动操作方案您可以使用以下命令下载可执行文件: wget -O basic-install.sh https://install.pi-hole.net 然后运行它 sudo bash basic-install.sh另一种方法是使用以下命令克隆官方 GitHub 存储库。 git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole 进入自动安装文件夹以启动脚本。
使用 Docker 进行部署
对于那些偏爱容器技术的人来说,Docker 是一个绝佳的选择。最简单的方法是创建一个文件。 泊坞窗,compose.yml在这个文件中,你必须定义图像。 pihole/pihole:latest 并映射端口 53、67 和 80。添加这些端口至关重要。 cap_add:NET_ADMIN 如果您要管理 DHCP 并配置卷,以便在容器重启时黑名单不会被删除。
服务器启动运行后,您会看到包含登录信息的最终页面,最后一步是在您的设备或路由器上配置 DNS。这样,您家中的所有网络流量都将被过滤,从此告别烦人的横幅广告。
在 Raspberry Pi Zero 上安装 Pi-hole 可以改变您的浏览体验,因为它可以在网络层面消除广告,只需要适度的硬件、静态 IP 地址,并且可以使用脚本或 Docker 容器自动安装,从而确保 DNS 和 HTTP 端口空闲,实现最佳性能。