html
许多家庭实验室用户首先安装的东西之一是 Pi-hole,这是一个 DNS 黑洞,通过防止您的设备和浏览器解析 域名来清理您网络上不必要的流量。这是一个很好的程序,但 由于它使用 DNS,出现问题时,排查故障并不简单。
这意味着,一旦您连接了一个 Pi-hole 实例,您的网络就会变得更加复杂,简单的配置失误或更新失败可能会使您的网络离线。此外,通常建议用于运行它的 SBC 实际上并不适合长期使用,或者当您的网络上有许多设备时。事情越复杂,麻烦就越多,但这并不总是 Pi-hole 的问题。
作为软件包的 Pi-hole 非常强大
它常用的硬件其实不太适合
Pi-hole 并不是糟糕的软件,远非如此,但 通常的实施建议 需要针对更复杂的网络设置进行修订。多年来,它已经从一个简单的 DNS 级别黑洞演变为一个更全面的 DNS 解决方案,具有分割 DNS、自定义域名等功能。它很强大,即使用户界面没有暴露所有选项,您仍然可以使用配置文件来按您的意愿调整 dnsmasq。
问题在于,像树莓派这样的 SBC 其实不太能胜任这个任务
微 SD 卡的 I/O 慢、单个千兆以太网连接,以及不同变体的系统资源水平,这些因素加起来可能导致系统从多个方面出现故障。在我迁移到更强大的 DNS 系统之前,我在几个容器中使用了 Pi-hole,以便它能够利用更强大的硬件,整体上还算可以。
该是建立冗余和控制的时候了
两个(或更多)实例通过 Nebula Sync 和 Keepalived 同步
只用一个 DNS 服务器是不太好的做法,无论您是 仍然 使用您的 ISP 的,还是自托管自己的。如果您想创建自定义记录、管理内部 DNS 区域或在流量到达您的设备之前在 DNS 级别阻止流量,在家庭实验室中,您应该自建 DNS。任何网络上的单点故障都是坏消息,但对于每个其他设备都依赖的 DNS 服务来说,这尤其如此。
解决方案是运行多个 DNS 服务器,确保它们之间的记录保持同步,并使用类似 Keepalived 的工具,让用户在它们之间切换时毫无察觉。对于 Pi-hole,Nebula Sync 是确保两个实例之间 DNS 记录同步的最佳选择。你还可以添加第二个 DNS 服务器,比如 Unbound 或其他流行的、易于自托管的 DNS 服务器。
你不需要单独使用 Pi-hole
虽然 Pi-hole 多年来变得更加强大,能够做的不仅仅是简单的 DNS 层阻止,但如果和像 Unbound 这样的上游解析器搭配使用,效果会更好。这能让你尽可能多地掌控 DNS 链,减少对外部 DNS 的依赖,无论是你想摆脱的 ISP 服务器、Google,还是像 Quad9 和 Cloudflare 这样的主要参与者。
你不需要单独使用 Pi-hole
你使用这种配置的频率越高,效果就越好,因为 Unbound 的递归缓存解析器会在你访问新网站后第一个处理 DNS 查询。而且本地管理 DNS 增强了弹性,确保你托管的 Pi-hole 实例正常运行。管理你自托管的服务的本地域也会变得更简单,还会给你提供更多实用的工具。
Pi-hole 可能会与 DHCP 发生问题
如果您的网络通过 VLAN 进行分段,Pi-hole 可能会遇到一个问题,即它在通过反向查找解析设备名称时遇到困难,这使得日志中只显示 IP 地址列表,难以找出被阻止的内容。这可以通过让 Pi-hole 处理 DHCP 来解决,但对于大多数网络来说,这并不是一个好主意,只会增加需要手动管理的复杂性。
热门跟贴