面向 ISP 的 Google 公共 DNS

任何人(包括互联网服务提供商 (ISP) 和大型组织)均可免费使用 Google 公共 DNS,但我们会对每位客户端设置速率限制,以保护我们的服务。如果单个 IPv4 地址(或 IPv6 /64 网络前缀)的查询量超出这些限制,它们可能会受到限制。

开始使用 Google 公共 DNS 之前

如果您计划客户端直接向 Google Public 发送查询,并且未使用运营商级 NAT (CG-NAT) 将客户端映射到 IPv4 地址,则可以跳过这些步骤,然后按照直接使用 Google 公共 DNS 部分中的说明操作。

  1. 查找您的 DNS 每秒查询次数 (QPS) 峰值。

    您可以使用网络设备的 NetFlow 或 sFlow 数据,或者解析器的统计信息或查询日志来衡量这一点。如果您无法执行上述任何操作,只需估算 DNS 查询率即可。

    峰值速率不应计入瞬时爆发,而应考虑一天中最繁忙时段在一两秒内的平均流量。Google 公共 DNS 允许短时间的突发流量短于限制。

  2. 查找发送 DNS 查询的可路由 IP 地址的数量。

    如果您使用共享解析器来汇总(可能还缓存)DNS 查询,只需计算解析器使用的外部 IP 地址数量即可。

    如果设备将 DNS 查询直接发送到 Google 公共 DNS,请计算设备将要使用的外部 IP 地址的数量,并考虑任何 NAT 或运营商级 NAT 地址映射。

  3. 将您的每个 IP 地址的速率与默认速率限制进行比较。

    理想情况下,您应该为每个 IP 地址设置特定的速率,但只需将总体 QPS 速率除以 IP 地址数量即可。

    • 您的每个 IP 地址的 QPS 速率低于 1500 QPS

      您可以随意配置 Google 公共 DNS;您无需申请提高速率限制。

    • 您的每个 IP 地址的 QPS 速率超过 1500 QPS

      如果您网络中的设备可以直接查询 Google 公共 DNS,并且这样做会使 IP 地址的 QPS 速率降至该上限以下,您可以选择在不增加速率限制的情况下使用该方法。

      否则,您需要申请提高速率限制

  4. 配置 Google 公共 DNS 的使用

    请使用下一部分中的某个方法。

配置 Google 公共 DNS

直接使用 Google 公共 DNS

ISP 可以将网络配置基础架构(如 DHCP)配置为返回 Google 公共 DNS 地址(8.8.8.8、8.8.4.4 和 IPv6),以便其网络上的客户端直接使用 Google 公共 DNS。这是最简单可靠的方法。通过让网络客户端直接向 Google 公共 DNS 发送 DNS 查询,每个客户端都会受到单独的速率限制,并且非滥用客户端极不可能受到限制的影响。

使用来自本地解析器的 Google 公共 DNS

ISP 还可以使用本地解析器进行客户端查询,并让本地解析器将查询转发到 Google 公共 DNS。出于监管原因或运营 ISP 要求,您可能需要这样做。

家用路由器或其他网络设备

大多数本地解析器都在由 ISP 管理的路由器、防火墙或 DSL/有线调制解调器上运行。如果这些客户端针对单个客户,并且有自己的 IP 地址,则其工作方式与直接使用 Google 公共 DNS 的客户端类似。

共享缓存解析器

为了缩短 DNS 查询的延迟时间,尤其是对于远离 Google 解析器位置的 ISP,ISP 可以使用为许多客户端提供服务的缓存 DNS 解析器。这样可以减少发送到 Google 公共 DNS 的 DNS 查询量,但将其集中到几个 IP 地址会增加其受到限制。具有共享解析器将查询转发到 Google 公共 DNS 的 ISP 应监控 DNS 查询速率,如果速率超出其限制或者有超过 1% 的查询未收到响应,则应请求提高速率限制

ISP 可采取的其他措施

申请提高速率限制

使用共享缓存解析器或 IPv4 地址的 ISP 可能需要更高的速率限制,以确保提供一致的服务。在请求增加配额之前,具有缓存解析器的 ISP 应检查其查询日志,而使用 CG-NAT 的 ISP 应检查其网络流量日志,以确认请求中 IP 地址的 QPS 是否超过 1500。

您可以通过 Google 公共 DNS 问题跟踪器提交速率限制提高请求

Google 公共 DNS 可以配置为在具有更高速率限制的客户端受到限制时返回 REFUSED 错误。如果您需要此信号,请在提高速率限制的请求中提及。

将备用解析器与 Google 公共 DNS 结合使用

ISP 还可以将 Google 公共 DNS 配置为客户端或共享缓存解析器的若干解析器服务之一。这样可提高 DNS 可靠性并消除单点故障。常见问题解答突出显示了配置多个 DNS 解析器时要考虑的问题。

使用 Google 公共 DNS 作为紧急后备

ISP 可以将 Google 公共 DNS 配置为紧急回退,但如果 DNS 查询量较高,且在切换到每个客户端 IP 的持续查询量超过默认速率限制 (1500 QPS) 的情况下,切换到 Google 公共 DNS 时,查询可能会受到限制。

为了正确预配 Google 公共 DNS 服务以处理激增的需求,我们依靠准确的基准流量水平。如果客户端发送的流量没有达到默认速率限制,那么我们无法提高速率限制。

对于查询量较大,希望仅将 Google 公共 DNS 用作紧急回退的 ISP,更好的方法是将 Google 公共 DNS 解析器和几个备用解析器地址配置为备用。如果启用回退,则您的 DNS 流量会分散到多个提供商,从而降低达到速率限制的风险。

与 Google 建立对等互连

使用 Google 公共 DNS 进行 DNS 解析的大中型 ISP 应与 Google 建立网络对等互连。这样做会与 Google NOC 建立一种关系,如果 ISP 网络(包括 Google 公共 DNS IP 地址)出现连接问题或网络可达性问题,Google NOC 可用于上报问题。