跳转到内容
搜索文档

私有 DNS

最后更新 查看 MarkdownAgent 设置

默认情况下,用户设备上的所有 DNS 请求都由 Cloudflare 的公共 DNS 解析器解析,但用于本地解析的常用顶级域(例如 localhost)除外。您可以将内部 DNS 解析器连接到 Cloudflare,并使用它来解析非公开路由的域。

配置私有 DNS

要解析私有 DNS 查询:

  1. 使用 Cloudflare Tunnel 连接您的私有网络

  2. Networks(网络) > **Routes(路由)**下,验证您的内部 DNS 解析器的 IP 地址是否已包含在隧道中。

    Go to Routes ↗
  3. 使用以下选项之一将特定的 DNS 查询路由到您的内部 DNS 解析器:

    • 创建本地域回退(Local Domain Fallback)条目,该条目指向内部 DNS 解析器。例如,您可以指示 Cloudflare One 客户端通过 10.0.0.25 的内部解析器解析 myorg.privatecorp 的所有请求,而不是尝试进行公开解析。
    • 或者,创建解析器策略以指向内部 DNS 解析器。

      解析器策略提供与本地域回退(Local Domain Fallback)类似的功能,但发生在 Cloudflare Gateway 中,而不是在本地设备上。如果您想要对私有 DNS 解析进行更精细的控制,建议使用此选项。例如,您可以确保特定地理区域的所有用户都使用离他们最近的私有 DNS 服务器,确保在解析私有 DNS 流量之前满足特定条件,并将 Gateway DNS 策略应用于私有 DNS 流量。

  4. 为 TCP 和 UDP 启用 Gateway 代理

  5. 最后,确保您的隧道使用 QUIC 作为默认的传输协议。这将使 cloudflared 能够代理基于 UDP 的流量,这在大多数情况下是解析 DNS 查询所必需的。

Cloudflare One 客户端现在会将 DNS 查询发送到您的内部 DNS 解析器进行解析。若要了解更多信息,请参阅 Cloudflare One 客户端如何处理 DNS 请求

测试设置

要进行测试,请针对内部 DNS 服务运行 dig 命令:

dig AAAA www.myorg.privatecorp

dig 命令将起作用,因为 myorg.privatecorp 在上文中被配置为了回退域。如果您跳过了该步骤,您仍可以强制 dig 使用您的私有 DNS 解析器:

dig @10.0.0.25 AAAA www.myorg.privatecorp

如果终端用户的设备上禁用了 Cloudflare One 客户端,两个 dig 命令都将失败。

故障排除

如果您在通过 Cloudflare Tunnel 配置私有 DNS 时遇到问题,请使用以下故障排除策略。

  • 在 Cloudflare 仪表板中访问 Networks(网络) > Tunnels(隧道),确保 cloudflared 已连接到 Cloudflare。

  • 确保 cloudflared 正在使用 quic 协议运行(在其日志中搜索 Initial protocol quic)。

  • 确保允许运行 cloudflared 的机器通过 UDP 出站到端口 7844 以与 Cloudflare 通信。

  • 访问 https://help.teams.cloudflare.com 确保终端用户设备已注册到 Cloudflare One 客户端。

  • 仔细检查您的 Gateway 网络策略优先顺序。确保更全局的 Block(阻止)或 Allow(允许)策略不会取代特定于应用程序的策略。

  • 检查您的 Gateway 网络日志以查看您的 UDP DNS 解析是被允许还是被阻止。

  • 确保您的内部 DNS 解析器在可路由的私有 IP 地址上可用。您可以通过在运行 cloudflared 的机器上尝试 dig 命令来进行检查。

  • 通过使用 dig ... +tcp 强制 DNS 解析使用 TCP 而不是 UDP,以此检查您的设置。

这篇文档对您有帮助吗?