Private DNS
By default, the WARP client sends DNS requests to 1.1.1.1, Cloudflare’s public DNS resolver, for resolution. With Cloudflare Tunnel, you can connect an internal DNS resolver to Cloudflare and use it to resolve non-publicly routed domains.
Configure private DNS
-
Connect your private network with Cloudflare Tunnel.
-
Under Networks > Routes, verify that the IP address of your internal DNS resolver is included in the tunnel.
-
Enable the Gateway proxy for TCP and UDP.
-
Next, create a Local Domain Fallback entry that points to the internal DNS resolver. For example, you can instruct the WARP client to resolve all requests for
myorg.privatecorp
through an internal resolver at10.0.0.25
rather than attempting to resolve this publicly.
- Finally, ensure that your tunnel uses QUIC as the default transport protocol. This will enable
cloudflared
to proxy UDP-based traffic which is required in most cases to resolve DNS queries.
The WARP client will now resolve requests through the internal DNS server you set up in your private network.
Test the setup
For testing, run a dig
command for the internal DNS service:
The dig
command will work because myorg.privatecorp
was configured above as a fallback domain. If you skip that step, you can still force dig
to use your private DNS resolver:
Both dig
commands will fail if the WARP client is disabled on your end user’s device.
Troubleshooting
Use the following troubleshooting strategies if you are running into issues while configuring your private network with Cloudflare Tunnel.
-
Ensure that
cloudflared
is connected to Cloudflare by visiting Networks > Tunnels in Zero Trust. -
Ensure that
cloudflared
is running with thequic
protocol (search forInitial protocol quic
in its logs). -
Ensure that the machine where
cloudflared
is running is allowed to egress via UDP to port 7844 to talk out to Cloudflare. -
Ensure that end-user devices are enrolled into WARP by visiting https://help.teams.cloudflare.com ↗.
-
Double-check the precedence of your application policies in the Gateway Network policies tab. Ensure that a more global Block or Allow policy will not supersede the application policies.
-
Check the Gateway Audit Logs Network tab to see whether your UDP DNS resolutions are being allowed or blocked.
-
Ensure that your Private DNS resolver is available over a routable private IP address. You can check that by trying the
dig
commands on your machine runningcloudflared
. -
Check your set up by using
dig ... +tcp
to force the DNS resolution to use TCP instead of UDP.