在设备上部署 Cloudflare One Client(前称 WARP)后,默认情况下 Cloudflare 将处理所有的 DNS 查询和网络流量。然而,在某些情况下,您可能需要从 Cloudflare One Client 中排除特定的 DNS 查询或网络流量。例如,您可能需要使用私有 DNS 解析器而不是 Cloudflare 的 公共 DNS 解析器 来解析内部主机名。
Cloudflare 建议企业用户配置 Gateway 解析器策略 以使用自定义解析器解析流量。Cloudflare One Client 将向 Gateway 发送私有 DNS 查询,然后 Gateway 将根据匹配的策略将查询发送给自定义解析器。
此外,您还可以配置三个选项来从 Cloudflare One Client 中排除流量:
-
本地域回退(Local Domain Fallback):将针对特定域名的 DNS 请求发送到 Cloudflare Gateway 以外的解析器。当您有无法在公共互联网上解析的私有主机名(例如,内部公司域名)时,请使用此选项。
-
分割隧道(Split Tunnels) 排除(Exclude)模式:从 WARP 隧道中排除特定的 IP 地址或域名。被排除的流量会绕过 Cloudflare One Client,并由本地计算机处理。当您希望大多数流量通过 Gateway,但因应用程序兼容性或要与 第三方 VPN 并行运行而需要排除某些路由时,请使用此模式。
-
分割隧道(Split Tunnels) 包含(Include)模式:仅通过 WARP 隧道路由流向特定 IP 地址或域名的流量。所有其他流量都会绕过 Cloudflare One Client。当您只想让 Gateway 处理特定流量时(例如流向 Cloudflare Tunnel 后面资源的流量),请使用此模式。
当您将 Cloudflare One Client 与 cloudflared Tunnel 或第三方 VPN 结合使用时,Cloudflare 会评估每个请求并根据以下流量流向进行路由:
flowchart TD
%% Accessibility
accTitle: Cloudflare One Client 如何处理 DNS 请求
accDescr: 流程图描述了在使用本地域回退、分割隧道和 Gateway 解析器策略时,Cloudflare One Client 如何路由 DNS 查询。
A(["用户请求资源"]) --> B["Cloudflare One Client 代理所有 DNS 流量"]
B --> LDFCHK{"Cloudflare One Client 检查域名是否在本地域回退策略中列出"}
%% Left branch (LDF exists)
LDFCHK -- 域名存在于本地域回退策略中 --> C["本地域回退"]
C --> ST["分割隧道处理"]
ST --> STCHK{"根据分割隧道配置,解析器 IP 是否包含在 WARP 隧道中"}
STCHK -- 解析器 IP 包含在 WARP 隧道中 --> QW["查询通过 WARP 隧道发送以进行解析"]
STCHK -- 解析器 IP 未包含在 WARP 隧道中 --> QO(["查询发送到 WARP 隧道外的解析器 IP"])
%% Gateway evaluation after query via WARP
QW --> GWALLOW{"由 Gateway 允许"}
GWALLOW -- 由 Gateway 允许 --> OR["由 Cloudflare 接入(on-ramp)路由评估"]
GWALLOW -- 被 Gateway 网络或 HTTP 策略阻止 --> BLK(["流量被 Cloudflare 阻止"])
OR --> ORCHK{"接入路由是否包含解析器 IP"}
ORCHK -- 接入路由不包含解析器 IP --> GP(["Gateway 通过正常的 Cloudflare One Client 出站路由将查询代理到解析器 IP"])
ORCHK -- 接入路由包含解析器 IP --> ADV["Cloudflare 接入公布包含解析器 IP 的路由"]
ADV --> PR(["私有解析器向 Cloudflare One Client 返回 IP 地址"])
%% Right branch (no LDF match)
LDFCHK -- 域名不存在于本地域回退策略中 --> GWR{"Gateway 检查解析器策略(仅限 Enterprise)"}
GWR -- 解析器策略未匹配 --> C1111a(["1.1.1.1"])
GWR -- 解析器策略已匹配 --> MATCH(("解析器策略将查询定向到以下之一"))
MATCH --> IDNS(["内部 DNS"])
MATCH --> C1111b(["1.1.1.1"])
MATCH --> CUST(["自定义解析器"])
CUST --> PNS(["私有网络服务<br>(Cloudflare Tunnel, Cloudflare WAN, Cloudflare Mesh)"])
- 接入(On-ramp):了解更多关于 接入(On-ramps) 的信息。
- Cloudflare Tunnel
- Cloudflare Mesh
- Cloudflare WAN
要将 DNS 后缀搜索列表部署到 设备配置文件(device profile) 中的所有设备,请在 Cloudflare One Client 设置中配置 DNS 搜索后缀。
对于较旧的客户端版本,您可以使用以下说明在设备级别手动配置 DNS 后缀。
要在 macOS 上手动配置 DNS 后缀:
- 打开 系统设置(或旧版 macOS 版本上的 系统偏好设置)。
- 转到 Network(网络) 并选择您的活动连接(Wi-Fi 或 Ethernet(以太网))。
- 选择 Details(详细信息)(或 Advanced(高级))。
- 转到 DNS 选项卡。
- 在 搜索域 下,选择
+按钮并添加您的 DNS 后缀。 - 选择 OK(好),然后选择 Apply(应用)。
要在 Windows 上手动配置 DNS 后缀:
- 打开 Windows 中的 Search(搜索) 栏,键入 View network connections(查看网络连接),然后选择 Open(打开)。
- 右键单击要修改的网络适配器(Wi-Fi 或 Ethernet(以太网)),然后选择 Properties(属性)。(需要管理员权限。)
- 双击 Internet 协议版本 4 (TCP/IPv4)。
- 在 Internet Protocol (TCP/IP) Properties(Internet 协议 (TCP/IP) 属性) 窗口中,选择 Advanced(高级)。
- 转到 DNS 选项卡。
- 选择 Append these DNS suffixes (in order)(附加这些 DNS 后缀(按顺序))。
- 选择 Add(添加),输入您的 DNS 后缀,然后选择 Add(添加)。
- 在所有窗口上选择 OK(确定) 以应用更改。