默认情况下,Cloudflare Zero Trust 会排除用于本地解析的常见顶级域名,使其不被发送到 Gateway 进行处理。这些顶级域名由为设备在其主接口上配置的本地 DNS 解析器进行解析。
您可以将其他域添加到“本地域回退”列表中,并指定一个 DNS 服务器来代替 Gateway 解析器。Cloudflare One Client(前称 WARP)将直接把这些请求代理到配置的回退服务器。
本地域回退仅适用于运行 Cloudflare One Client 的设备。
因为受本地域回退限制的 DNS 请求会绕过 Gateway 解析器,所以它们不受 Gateway DNS 策略或 DNS 日志记录的约束。如果您想将 DNS 查询路由到自定义解析器并应用 Gateway 过滤,请使用 解析器策略。如果为同一台设备同时配置了本地域回退和解析器策略,Cloudflare 将首先应用客户端的本地域回退规则。
避免将您的 Local Domain Fallback 或 解析器策略 (Resolver Policy) 配置为通过 AWS Route 53 Resolver 指导所有的 *.amazonaws.com DNS 解析。
某些 AWS 端点(例如 ssm.us-east-1.amazonaws.com)是公共 AWS 端点,无法通过内部 VPC 解析来解析。这可能会损坏在 Cloudflare One Client 上的用户的 AWS 控制台功能。
仅通过内部 VPC 解析器路由特定的 Route 53 区域或 VPC 端点(例如 vpce.amazonaws.com)。
要查看受本地域回退限制的域:
- 在 Cloudflare 仪表板 ↗ 中,前往 Zero Trust > Team & Resources(团队和资源) > Devices(设备) > Device profiles(设备配置文件) > General profiles(常规配置文件)。
- 找到您要查看或修改的 设备配置文件,然后选择 Configure(配置)。
- 向下滚动到 Local Domain Fallback(本地域名回退) 并选择 Manage(管理)。
在此页面上,您将看到从 Gateway 中排除的域列表。您可以随时在此列表中 添加 或 删除 域。
要查看应用到设备的回退域,您可以:
- 在 Cloudflare 仪表板 ↗ 中,转到 Zero Trust > Team & Resources(团队和资源) > Devices(设备) > 找到目标设备和 Last active device profile(最后活动设备配置文件) > 按照 上述步骤 操作。
- (仅限桌面端)在目标设备的终端中运行
warp-cli settings,并查看输出的 回退域(fallback domains) 部分。 - (仅限桌面端)收集设备的 客户端诊断日志 并查看
warp_settings.txt中的 回退域(fallback domains) 部分。
要将域添加到 Local Domain Fallback 列表中:
- 在 Cloudflare 仪表板 ↗ 中,前往 Zero Trust > Team & Resources(团队和资源) > Devices(设备) > Device profiles(设备配置文件) > General profiles(常规配置文件)。
- 找到您要查看或修改的 设备配置文件,然后选择 Configure(配置)。
- 向下滚动到 Local Domain Fallback(本地域名回退) 并选择 Manage(管理)。
-
在 **Domain(域名)**中,输入您想使用私有 DNS 服务器解析的顶级域(
example.com)。该顶级域下的所有前缀都将受到 Local Domain Fallback 的约束(换句话说,example.com被解释为*.example.com)。 -
在 **DNS Servers(DNS 服务器)**中,输入应解析该域名的 DNS 服务器的 IP 地址。Cloudflare 建议将列表限制在最多八个服务器,以避免性能问题。
-
输入可选的描述,然后选择 Save domain(保存域名)。
Local Domain Fallback 列表的范围限定为特定的设备配置文件。如果设备配置文件没有对应的 Local Domain Fallback 资源,这些设备将使用步骤 2 中显示的默认本地域。
-
向您的
cloudflare_api_token↗ 添加以下权限:Zero Trust Write
-
(可选)创建一个可以在多个设备配置文件中重复使用的域名列表。例如,您可以在与设备配置文件相同的模块中声明本地值:
local-domains.local.tftf locals { default_local_domains = [ # Cloudflare 推荐的默认 Local Domain Fallback 条目 { suffix = "corp" }, { suffix = "domain" }, { suffix = "home" }, { suffix = "home.arpa" }, { suffix = "host" }, { suffix = "internal" }, { suffix = "intranet" }, { suffix = "invalid" }, { suffix = "lan" }, { suffix = "local" }, { suffix = "localdomain" }, { suffix = "localhost" }, { suffix = "private" }, { suffix = "test" } ] } -
要为默认设备配置文件配置 Local Domain Fallback,请使用
cloudflare_zero_trust_device_default_profile_local_domain_fallback↗ 资源。要为自定义设备配置文件配置 Local Domain Fallback,请使用cloudflare_zero_trust_device_custom_profile_local_domain_fallback↗。例如:device-profiles.tftf resource "cloudflare_zero_trust_device_custom_profile_local_domain_fallback" "example" { account_id = var.cloudflare_account_id policy_id = cloudflare_zero_trust_device_custom_profile.example.id domains = concat( # 全局条目 local.default_local_domains, # 特定于配置文件的条目 [ { suffix = "example.com" description = "本地开发域名" dns_server = ["1.1.1.1", "192.168.0.1"] } ] ) }
对于 suffix,指定您想使用私有 DNS 服务器解析的顶级域(example.com)。该顶级域下的所有前缀都将受到 Local Domain Fallback 的约束(换句话说,example.com 被解释为 *.example.com)。对于 dns_server,输入应解析该域名的 DNS 服务器的 IP 地址。Cloudflare 建议将列表限制在最多八个服务器,以避免性能问题。
Cloudflare One 客户端尝试所有服务器,并始终使用最快的响应,即使该响应是 no records found。我们建议为每个域名指定至少一个 DNS 服务器。如果未指定值,Cloudflare One 客户端将尝试识别在启动前设备上使用的 DNS 服务器,并在 Local Domain Fallback 列表中为每个域名使用该服务器。
Cloudflare One 客户端根据您的 Split Tunnel 配置将 DNS 流量路由到您的 Local Domain Fallback 服务器。为确保查询能够到达您的私有 DNS 服务器:
-
如果您的 DNS 服务器仅在 WARP 隧道内可达(例如,通过
cloudflared或 Cloudflare WAN):-
转到 Networking(网络)> **Routes(路由)**并验证 DNS 服务器已连接到 Cloudflare。要连接 DNS 服务器,请参阅私有网络。
-
在您的 Split Tunnel 配置中,验证 DNS 服务器的 IP 路由是否通过 WARP 隧道。
-
-
如果您的 DNS 服务器仅在 WARP 隧道外可达(例如,通过第三方 VPN),请验证 DNS 服务器的 IP 已从 WARP 隧道中排除。
欲了解更多信息,请参阅 Cloudflare One 客户端如何处理 DNS 请求。
- 在 Cloudflare 仪表板 ↗ 中,前往 Zero Trust > Team & Resources(团队和资源) > Devices(设备) > Device profiles(设备配置文件) > General profiles(常规配置文件)。
- 找到您要查看或修改的 设备配置文件,然后选择 Configure(配置)。
- 向下滚动到 Local Domain Fallback(本地域名回退) 并选择 Manage(管理)。
- 在列表中找到该域,然后选择 Delete(删除)。
该域将不再从 Gateway DNS 策略中排除,立即生效。
默认情况下,WARP 会将 反向 DNS 查询 ↗ 发送到公共 DNS 服务器。要查找与内部 IP 地址关联的域名,请为指向您内部 DNS 服务器 IP 的 in-addr.arpa(IPv4)和/或 ip6.arpa(IPv6)添加本地域回退条目。in-addr.arpa 和 ip6.arpa 是 预留 ↗ 用于反向 DNS 查询的顶级域名。通过为这些域添加本地域回退条目,所有反向 DNS 查询(例如 dig -x 1.1.1.1)现在都将通过您的本地 DNS 服务器进行解析。
- 分割隧道(Split Tunnels) - 通过包含或排除特定的 IP 或域,控制哪些流量通过 Cloudflare One Client。
- 防火墙后的 Cloudflare One Client - 了解要允许哪些 IP、域和端口,以便用户在防火墙后成功部署和连接 Cloudflare One Client。