在树莓派上的本地网络中使用 adguard/pihole 后,我在客户端机器(Mac)访问不同的网站(例如 reddit.com)时遇到了问题。
为了解决这个问题,我认为将 DNS 服务器设置为类似于8.8.8.8 (google)
wifi 界面上的服务器就足够了。
但是当我这样做时nslookup -debug reddit.com
仍然得到以下答案:
Server: 8.8.8.8
Address: 8.8.8.8#53
------------
QUESTIONS:
reddit.com, type = A, class = IN
ANSWERS:
AUTHORITY RECORDS:
-> reddit.com
origin = cleanbrowsing.rpz.noc.org
mail addr = accesspolicy.rpz.noc.org
serial = 1
refresh = 7200
retry = 900
expire = 1209600
minimum = 86400
ttl = 3600
ADDITIONAL RECORDS:
------------
** server can't find reddit.com: NXDOMAIN
由于 DHCP DNS 配置,我之前在网络中的所有客户端机器上将我的 pi 用作 pihole 服务器或 adguard 家庭服务器。
但是现在我对 Google DNS 进行了硬编码,难道我不应该从 Google DNS 获得正确的权威答案吗?Google DNS 肯定知道 reddit.com。
编辑:
我已经尝试过什么了?
- 我刷新了 Mac 的 DNS 缓存以及网络上几乎所有的 DNS 缓存
- 我连接到了另一个网络(个人热点) - 我可以使用 8.8.8.8 解析 reddit.com!
所以这似乎与我的网络有关:
这是我的网络:
- Unifi Dream Machine SE 作为具有不同网络的路由器
- UDM 上的每个网络都为 DHCP 设置了 2 个 DNS 服务器:一个指向 pihole,一个指向自身
当我连接到网络时,我会通过 DHCP 配置自动获取 2 个 DNS 服务器。目的是阻止恶意网站。
在处理该问题时,我停用了阻止功能,但仍然无法访问网站,并且广告拦截功能处于活动状态 :/ 。
然后我将我的机器的上游 DNS 硬编码为 Google DNS,但仍然无法解析 reddit.com。
现在我很困惑,并且仍然困惑。
答案1
感谢回答这里并且在@Gordon Davisson 的评论的帮助下,我找到了解决我的网络 Unifi UDM SE 路由器问题的一个方法:在“设置 > 网络 > [YourNetworkHere] > 高级:内容过滤”下将过滤模式设置为“无”,否则 cleanbrowsing.org 将用于 DNS。
这就能解释所有的问题。