任何人(包括互联网服务提供商 (ISP) 和大型组织)都可以免费使用 Google 公共 DNS,但为了保护我们的服务,我们会对每个客户端施加速率限制。如果来自单个 IPv4 地址(或 IPv6 /64 网络前缀)的高查询量超出这些限制,则可能会受到限制。
使用 Google 公共 DNS 前的准备工作
如果您计划让客户端直接向 Google 公共发送查询,并且不使用运营商级 NAT (CG-NAT) 将客户端映射到 IPv4 地址,则可以跳过这些步骤,然后按照直接使用 Google 公共 DNS 部分中的说明操作。
找到峰值 DNS 每秒查询次数 (QPS) 速率。
您可以使用来自网络设备的 NetFlow 或 sFlow 数据,或者使用解析器的统计信息或查询日志来衡量此指标。如果您无法执行其中某些操作,只需估算 DNS 查询率。
这些峰值速率不应统计瞬时高峰,而应统计一天中最繁忙时段一两秒内的平均流量。 Google 公共 DNS 允许短暂超出限制的短时流量爆发。
确定发送 DNS 查询的可路由 IP 地址的数量。
如果您使用共享解析器汇总(也可能缓存)DNS 查询,只需计算解析器使用的外部 IP 地址数量即可。
如果设备将直接将 DNS 查询发送到 Google 公共 DNS,请计算设备将使用的外部 IP 地址数量,并考虑任何 NAT 或运营商级 NAT 地址映射。
比较每个 IP 地址的费率与默认速率限制。
理想情况下,您应该为每个 IP 地址设置特定的速率,但也可以直接将总体 QPS 速率除以 IP 地址数量。
您每个 IP 地址的 QPS 比率低于 1500 QPS
您可以随意配置 Google 公共 DNS,而无需申请提高速率限制。
您每个 IP 地址的 QPS 比率超过 1500 QPS
如果您网络中的设备可以直接查询 Google 公共 DNS,并且这样做会将每个 IP 地址的 QPS 速率降至限额以下,您可以选择使用该方法,而不提高速率限制。
否则,您需要申请提高速率限制。
配置 Google 公共 DNS 的使用
您可以使用下一部分中的方法之一。
配置 Google 公共 DNS
直接使用 Google 公共 DNS
ISP 可以配置 DHCP 之类的网络配置基础架构,以返回 Google 公共 DNS 地址(8.8.8.8、8.8.4.4 和 IPv6),以便其网络上的客户端直接使用 Google 公共 DNS。这是最简单、最可靠的方法。 通过让网络客户端直接将 DNS 查询发送到 Google 公共 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 可以执行的其他操作
请求提高速率限制
使用共享缓存解析器或具有 CG-NAT 的 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 网络(包括 Google 公共 DNS IP 地址)之间的连接或可达性问题,您可以使用该关系上报。