私有网络路由允许您将公共主机名的 HTTP/HTTPS 流量代理到私有网络中的源站。在 DNS 记录上启用此设置后,Cloudflare 会通过您配置的隧道路由流量,而不是通过公共互联网。
有关使用 Cloudflare WAN(原 Magic WAN)IPsec 的端到端设置演练,请参阅通过 Cloudflare WAN 设置私有源站。
在启用私有网络路由之前,请考虑以下事项:
- 您需要通过受支持的接入方法之一与 Cloudflare 建立活动的隧道连接。更多指导请参阅 Cloudflare WAN。
- 私有网络路由仅适用于
A(IPv4)和AAAA(IPv6)记录。记录必须为已代理。 - 如果同一名称上有多条
A或AAAA记录,且其中至少一条启用了私有网络路由,则该名称上的所有记录都将使用私有网络路由。这与这些情况下的代理状态行为一致。
系统会自动检测以下私有地址范围:
| 范围 | 说明 |
|---|---|
10.0.0.0/8 |
私有(RFC 1918 ↗) |
172.16.0.0/12 |
私有(RFC 1918 ↗) |
192.168.0.0/16 |
私有(RFC 1918 ↗) |
fc00::/7 |
私有(RFC 4193 ↗) |
100.64.0.0/10 |
CGNAT(RFC 6598 ↗) |
当您使用这些范围中的 IP 地址时,Use private network routing(使用私有网络路由) 开关会自动打开。您也可以为仅能通过隧道访问的公共 IP 地址手动打开它。
-
在 Cloudflare 仪表板中,前往 DNS Records(DNS 记录) 页面。
Go to Records ↗ -
选择 Add record(添加记录),或在现有的
A或AAAA记录上选择 Edit(编辑)。 -
输入源站 IP 地址。
-
确认 Proxy status(代理状态) 已启用(橙色云)。
-
打开 Use private network routing(使用私有网络路由)。
对于私有 IP 地址(例如
10.0.0.50),开关会自动打开。对于与私有基础设施一起使用的公共 IP 地址,请手动打开开关。 -
选择 Save(保存)。
要创建启用了私有路由的记录,请使用 POST 请求,并将 private_routing 设为 true:
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"type": "A",
"name": "app.example.com",
"content": "10.0.0.50",
"proxied": true,
"private_routing": true
}'要在现有记录上启用私有路由,请使用 PATCH 请求:
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"private_routing": true
}'如果您使用 API 创建或编辑带有私有网络路由的 DNS 记录,请考虑以下事项:
| 场景 | private_routing 值 |
|---|---|
使用私有 IP 的已代理 A/AAAA 记录 |
自动设为 true |
使用公共 IP 的已代理 A/AAAA 记录 |
默认为 false |
非 A/AAAA 记录类型 |
不支持该字段 |
此外,如果您在使用私有 IP 的已代理 A/AAAA 记录上手动设置 private_routing: false,API 将返回错误。