我的内联网有一个本地 DNS,即 192.168.2.2,我使用它来管理内联网中的本地域:
http: //test.vh// pointing to -> 192.168.2.22
http: /dev.vh// pointing to -> 192.168.2.23
今天我决定验证是否可以通过配置辅助和备用 DNS 来提高互联网的速度和质量。
进行验证时,最好的选择是使用 OPENDNS:
第 1 部分:它并没有提高质量。
DNS1: 192.168.2.2
DNS2: 208.67.222.220
DNS3: 208.67.229.222
第 2 部分:质量提高,但我无法访问本地域。
DNS1: 208.67.222.220
DNS2: 192.168.2.2
DNS3: 208.67.229.222
第 3 部分:质量提高,但我无法访问本地域。
DNS1: 208.67.222.220
DNS2: 208.67.229.222
DNS3: 192.168.2.2
为什么 Windows 10 Home 不使用二级和三级 DNS 来搜索内部网络中的域,我理解只有在主 DNS 回退时才会发生这种情况,但如果无法访问网页,则可以强制使用其他 DNS?
答案1
唯一真正的解决方案是运行多个内部 DNS 服务器(如果您确实觉得需要冗余),作为您的主服务器和辅助服务器,并使用从您的 DNS 服务器配置的转发器到您想要使用的公共解析器。除非正常运行时间对您至关重要,否则您可能不需要多个内部 DNS 服务器。
这样,您的服务器将始终首先尝试解析您的本地域名,并且仅当您的本地服务器不托管您尝试解析的区域时才会向上游传递。
此外,Windows 不会针对每个解析检查多个 DNS 服务器。仅当第一个服务器无响应时才会使用辅助服务器,而不是在找不到域时使用。因此,它不会因为第一个服务器没有区域而尝试下一个服务器。
因此,让您的客户端指向您的 DNS,并让您的 DNS 将未解决的查询转发到 OpenDNS 服务器。
此外,您可以在客户端上设置辅助 DNS 以指向 OpenDNS,以防您的内部服务器出现故障并且您想要限制该故障的影响。您会失去本地域解析,但您的客户端不会完全失去与 Web 的连接。
如果您想添加广告/恶意软件拦截功能,还可以考虑将 PiHole 放在您的客户端和 DNS 服务器之间。
最后要说的是,我喜欢 Gibson Research 的 DNS 基准测试实用程序,它可以从我所在的特定位置找到最快的 DNS 服务器。我通常会找到几个比 OpenVPN 更快的服务器:https://www.grc.com/dns/benchmark.htm
答案2
tl;dr 答案:
当主 DNS 发生故障时,将使用辅助 DNS。空响应不代表故障,因此 Windows 信任它并且不会查询第二个服务器。
解决您的问题的方法是让您的主服务器将其无法响应的查询转发到另一个 DNS 服务器,例如 OpenDNS。
答案3
DNS 不知道也不关心您是否试图查看网页。DNS 只是获取您提供的名称并查找该名称的 IP 号码。如果 DNS 查找无法连接到主 DNS 服务器,则只有这样 DNS 才会尝试在辅助 DNS 服务器上进行查找。如果您查找的名称在主服务器中不存在,由于主服务器已启动,它将返回 DNS 记录不存在。此外,DNS 查找是根据您正在查找的域的 SOA 记录进行缓存的。
更改查询服务器的顺序不会影响互联网的“速度和质量”,除非您的主服务器无法访问且 DNS 查找必须查询辅助服务器(我们谈论的是毫秒级的差异)。