本指南可帮助您在部署 Cloudflare Tunnel 之前验证您的环境与 Cloudflare Tunnel 端点之间的连接性。您将在运行 cloudflared 的同一台主机上运行 DNS 和网络检查,以帮助您识别可能阻止 cloudflared 连接到 Cloudflare Tunnel 端点的问题。
在安装 cloudflared 之前运行这些检查,可以为您的成功部署奠定基础,并缩小后续任何连接问题的范围。
本指南的结构如下:
-
开始之前:阅读前提条件和术语。
-
使用 dig 进行 DNS 测试:确认 DNS 将 Cloudflare Tunnel 端点解析为预期的 IP。
-
测试网络连接性:验证您的防火墙是否允许端口
7844(TCP 和 UDP)上的出站流量。 -
获取帮助:测试失败时需要收集什么以及联系谁。
您必须拥有:
-
一台已连接到互联网且计划在其上运行
cloudflared的主机。测试必须在运行cloudflared的相同环境(相同的网络、相同的防火墙路径)中运行。 -
具有运行
dig和nc(netcat) 或类似软件权限的终端会话。
cloudflared 平台无关,支持广泛的操作系统。有关详细信息,请参阅隧道系统要求。
在排查与 Cloudflare 的连接故障时,区分以下概念非常重要:
-
主机:您将在其上运行
cloudflared的服务器或虚拟机(VM)。 -
环境:包含主机(网络和防火墙配置)的更广泛的设置。
Cloudflare Tunnel 错误可能源自环境(例如 DNS 或防火墙策略),即使它们在主机上表现为 cloudflared 错误。本指南重点关注环境,而非 cloudflared 本身。
cloudflared 通过端口 7844 建立指向 Cloudflare 全球网络的仅出站连接。具体的目标和端口在带有防火墙的隧道中有所记录。
Cloudflare Tunnel 需要能够出站连接到 region1.v2.argotunnel.com 和 region2.v2.argotunnel.com(或在使用美国区域时连接到等效的 us-region1 和 us-region2 端点,或者在使用 FedRAMP High 区域时连接到 fed-region1 和 fed-region2)。
为了实现成功且健康的部署,cloudflared 应该拥有四个活跃副本,并且能够连接到这两个区域(即同时连接到 region1.v2.argotunnel.com 和 region2.v2.argotunnel.com,或同时连接到 us-region1 和 us-region2)。
首先,您需要验证您的 DNS 解析器是否为 Cloudflare Tunnel 端点返回了预期的 IP 地址。
根据您测试的是全球区域还是美国区域,运行以下命令之一:
dig A region1.v2.argotunnel.com;; ANSWER SECTION:
region1.v2.argotunnel.com. 86400 IN A 198.41.192.167
region1.v2.argotunnel.com. 86400 IN A 198.41.192.67
region1.v2.argotunnel.com. 86400 IN A 198.41.192.57
region1.v2.argotunnel.com. 86400 IN A 198.41.192.107
region1.v2.argotunnel.com. 86400 IN A 198.41.192.27
region1.v2.argotunnel.com. 86400 IN A 198.41.192.7
region1.v2.argotunnel.com. 86400 IN A 198.41.192.227
region1.v2.argotunnel.com. 86400 IN A 198.41.192.47
region1.v2.argotunnel.com. 86400 IN A 198.41.192.37
region1.v2.argotunnel.com. 86400 IN A 198.41.192.77
...dig AAAA region1.v2.argotunnel.com;; ANSWER SECTION:
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::1
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::2
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::3
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::4
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::5
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::6
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::7
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::8
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::9
region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::10
...dig A region2.v2.argotunnel.com;; ANSWER SECTION:
region2.v2.argotunnel.com. 86400 IN A 198.41.200.13
region2.v2.argotunnel.com. 86400 IN A 198.41.200.193
region2.v2.argotunnel.com. 86400 IN A 198.41.200.33
region2.v2.argotunnel.com. 86400 IN A 198.41.200.233
region2.v2.argotunnel.com. 86400 IN A 198.41.200.53
region2.v2.argotunnel.com. 86400 IN A 198.41.200.63
region2.v2.argotunnel.com. 86400 IN A 198.41.200.113
region2.v2.argotunnel.com. 86400 IN A 198.41.200.73
region2.v2.argotunnel.com. 86400 IN A 198.41.200.43
region2.v2.argotunnel.com. 86400 IN A 198.41.200.23
...dig AAAA region2.v2.argotunnel.com;; ANSWER SECTION:
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::1
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::2
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::3
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::4
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::5
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::6
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::7
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::8
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::9
region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::10
...dig A us-region1.v2.argotunnel.com;; ANSWER SECTION:
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.1
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.2
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.3
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.4
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.5
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.6
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.7
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.8
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.9
us-region1.v2.argotunnel.com. 86400 IN A 198.41.218.10
...dig AAAA us-region1.v2.argotunnel.com;; ANSWER SECTION:
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::1
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::2
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::3
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::4
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::5
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::6
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::7
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::8
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::9
us-region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a1::10
...dig A us-region2.v2.argotunnel.com;; ANSWER SECTION:
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.1
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.2
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.3
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.4
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.5
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.6
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.7
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.8
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.9
us-region2.v2.argotunnel.com. 86400 IN A 198.41.219.10
...dig AAAA us-region2.v2.argotunnel.com;; ANSWER SECTION:
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::1
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::2
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::3
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::4
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::5
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::6
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::7
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::8
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::9
us-region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a9::10
...dig A fed-region1.v2.argotunnel.com;; ANSWER SECTION:
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.1
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.2
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.3
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.4
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.5
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.6
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.7
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.8
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.9
fed-region1.v2.argotunnel.com. 300 IN A 162.159.234.10
...dig AAAA fed-region1.v2.argotunnel.com;; ANSWER SECTION:
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::1
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::2
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::3
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::4
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::5
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::6
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::7
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::8
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::9
fed-region1.v2.argotunnel.com. 300 IN AAAA 2a06:98c1:4d::10
...dig A fed-region2.v2.argotunnel.com;; ANSWER SECTION:
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.1
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.2
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.3
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.4
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.5
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.6
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.7
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.8
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.9
fed-region2.v2.argotunnel.com. 300 IN A 172.64.234.10
...dig AAAA fed-region2.v2.argotunnel.com;; ANSWER SECTION:
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::1
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::2
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::3
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::4
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::5
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::6
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::7
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::8
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::9
fed-region2.v2.argotunnel.com. 300 IN AAAA 2606:4700:f6::10
...ANSWER SECTION(应答部分)应该包含 Cloudflare Tunnel 端点的预期 IP 地址。
如果您收到:
-
状态为
NOERROR且有有效的 IP 地址 - 您的 DNS 解析器成功返回了隧道主机名的地址。继续进行测试网络连接性。 -
状态为
SERVFAIL、NXDOMAIN或为空应答 - 您的 DNS 解析器无法解析隧道端点。继续进行与1.1.1.1进行对比。
如果您的原始 dig 响应为空或不匹配记录的 IP,请使用 Cloudflare 的公共解析器 1.1.1.1 再次测试:
dig A region1.v2.argotunnel.com @1.1.1.1如果 1.1.1.1 返回了正确的 IP,而您的原始解析器没有,则说明您的本地 DNS 解析器配置错误或被阻止。
要解决此问题:
- 配置主机使用
1.1.1.1作为其解析器。 - 如果您必须继续使用现有的解析器,请与您的系统管理员或 ISP 调查它为何返回不同的 IP。递归解析器应该返回与权威 DNS 服务器相同的响应。如果无法解决此问题,则问题出在您的本地环境中,在部署 Cloudflare Tunnel 之前必须予以解决。
如果您的原始解析器和 1.1.1.1 都没有返回应答,则说明您的防火墙可能正在阻止指向 Cloudflare Tunnel 端点的 DNS 查询。
要解决此问题:
- 检查是否存在完全阻止 DNS 流量(端口
53上的 UDP)的防火墙规则,或与 Cloudflare 相关的特定 DNS 查询。 - 如果您处于托管 DNS 或安全设备的保护之下,请联系该提供商以了解为什么对
region1.v2.argotunnel.com和其他 Cloudflare Tunnel 端点的查询会被阻止。
一旦 DNS 解析从您的 DNS 解析器返回了预期的 IP,请继续进行步骤 3 中的连接性测试。
确认您的 DNS 解析器返回正确的 IP 后,测试您的主机是否可以使用 UDP 和 TCP 向端口 7844 上的 Cloudflare 发送数据包。
从您的 dig 输出中选择一个 IP(例如,198.41.192.167),然后运行以下测试。
nc -uvz -w 3 198.41.192.167 7844示例输出:
Connection to 198.41.192.167 port 7844 [udp/*] succeeded!nc -vz -w 3 198.41.192.167 7844示例输出:
Connection to 198.41.192.167 port 7844 [tcp/*] succeeded!这些测试回答了两个关键问题:
- 主机能否向 Cloudflare Tunnel 端点发送 UDP 数据包?
- 主机能否向 Cloudflare Tunnel 端点发送 TCP 数据包?
如果其中任何一种协议成功,cloudflared 就可以使用该协议来建立隧道。
您已在前面的步骤中确认 DNS 正在工作。现在,这些连接性测试验证您的环境是否允许在端口 7844 上向 Cloudflare 发送流量。默认情况下,cloudflared 会自动回退到任何可用的协议。
如果某个协议被阻止,但您强迫 cloudflared 使用它(例如,在 UDP 被阻止时强制使用 QUIC),则隧道将无法连接。
您的防火墙允许端口 7844 上发往 Cloudflare 隧道端点的出站流量和返回流量。cloudflared 可以使用 quic (UDP) 或 http2 (TCP) 进行连接。如果 UDP 和 TCP 均成功,并且上一节中的 DNS 测试也成功,则您可以在此环境中成功部署 Cloudflare Tunnel。
允许出站 UDP,但端口 7844 上的 TCP 被阻止或受到检查。
cloudflared 将只能使用 quic 进行连接。如果在 TCP 被阻止时您在配置中强制使用 http2,隧道将失败。
要解决此问题:要么在您的本地网络防火墙上允许端口 7844 上的 TCP,要么停止强制使用 http2 以允许 cloudflared 改为通过 QUIC 进行连接。请参阅 Protocol 参数文档以获取更多信息。
允许出站 TCP,但端口 7844 上的 UDP 被阻止。
cloudflared 将只能使用 http2 进行连接。如果在 UDP 被阻止时您强制使用 quic,隧道将失败。
要解决此问题:要么在本地网络防火墙上允许端口 7844 上的 UDP,要么停止强制使用 QUIC 以允许 cloudflared 改为通过 HTTP/2 进行连接。请参阅 Protocol 参数文档以获取更多信息。
数据包在主机与 Cloudflare Tunnel 端点之间的某个位置被丢弃。
这通常表示存在防火墙策略或上游安全控制,不允许在端口 7844 上发送出站流量(或返回流量)。
要解决此问题:在本地网络防火墙上允许端口 7844 上的所有流量。如果这不能解决问题,请与您的 ISP 或服务提供商联系以排除故障。
如果 DNS 或网络测试失败,则可能是您的本地环境存在问题。您需要与您的管理员、ISP 或云提供商一起进行调试。如果您认为问题出在 Cloudflare 方面,请在联系支持人员时提供详细信息。
为了尽可能快地进行故障排除,请确保您的支持工单包含详尽的详细信息。您提供的上下文越多,识别和解决您问题的速度就越快。
为了确保在 联系支持人员 时能够高效解决问题,请在工单中包含尽可能多的相关细节: