Skip to content

Commit 6a7b4ed

Browse files
ranbelMaddy-Cloudflare
authored andcommitted
[ZT] DNS in WARP tunnel (#22030)
* remove DoH IPs from learning path * warp with firewall * update WARP architecture * mobile devices footnote * Update src/content/docs/cloudflare-one/connections/connect-devices/warp/deployment/firewall.mdx
1 parent 87fb5c5 commit 6a7b4ed

File tree

4 files changed

+32
-30
lines changed

4 files changed

+32
-30
lines changed

src/content/docs/cloudflare-one/connections/connect-devices/warp/configure-warp/route-traffic/warp-architecture.mdx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ The WARP client allows organizations to have granular control over the applicati
1818

1919
| Connection | Protocol | Purpose |
2020
| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
21-
| Device orchestration | HTTPS | Perform user registration, check device posture, apply WARP profile settings. |
22-
| [DoH](https://www.cloudflare.com/learning/dns/dns-over-tls/) | HTTPS | Send DNS requests to Gateway for DNS policy enforcement. |
2321
| WARP tunnel ([via WireGuard or MASQUE](/cloudflare-one/connections/connect-devices/warp/configure-warp/warp-settings/#device-tunnel-protocol)) | UDP | Send IP packets to Gateway for network policy enforcement, HTTP policy enforcement, and private network access. |
22+
| [DoH](https://www.cloudflare.com/learning/dns/dns-over-tls/) | HTTPS | Send DNS requests to Gateway for DNS policy enforcement. The DoH connection is maintained inside of the WARP tunnel.[^1] |
23+
| Device orchestration | HTTPS | Perform user registration, check device posture, apply WARP profile settings. |
24+
25+
[^1]: DoH is currently outside of the tunnel on iOS and Android/ChromeOS.
2426

2527
```mermaid
2628
flowchart LR
@@ -32,17 +34,22 @@ end
3234
subgraph Cloudflare
3335
A[Zero Trust account]
3436
subgraph Gateway
35-
G[DNS resolver]
3637
N[L3/L4 firewall]
38+
G[DNS resolver]
39+
end
3740
end
41+
W<--"Device
42+
orchestration"-->A
43+
subgraph tunnel["WARP tunnel"]
44+
ip@{ shape: text, label: "Network traffic" }
45+
dns@{ shape: text, label: "DNS traffic" }
3846
end
39-
W<--Device orchestration-->A
40-
D<--DoH-->G
41-
V<--WARP tunnel-->N
47+
V --- ip-->N
48+
D --- dns-->G
4249
N --> O[(Application)]
4350
```
4451

45-
Your [Split Tunnel](/cloudflare-one/connections/connect-devices/warp/configure-warp/route-traffic/split-tunnels/) configuration determines what traffic is sent down the WARP tunnel. Your [Local Domain Fallback](/cloudflare-one/connections/connect-devices/warp/configure-warp/route-traffic/local-domains/) configuration determines which DNS requests are sent to Gateway via DoH. Traffic to the [DoH endpoint](/cloudflare-one/connections/connect-devices/warp/deployment/firewall/#doh-ip) and [device orchestration API](/cloudflare-one/connections/connect-devices/warp/deployment/firewall/#client-orchestration-api) endpoint do not obey Split Tunnel rules, since those connections always operate outside of the WARP tunnel.
52+
Your [Split Tunnel](/cloudflare-one/connections/connect-devices/warp/configure-warp/route-traffic/split-tunnels/) configuration determines what IP traffic is sent down the WARP tunnel. Your [Local Domain Fallback](/cloudflare-one/connections/connect-devices/warp/configure-warp/route-traffic/local-domains/) configuration determines which DNS requests are sent to Gateway via DoH. Traffic to the [device orchestration API](/cloudflare-one/connections/connect-devices/warp/deployment/firewall/#client-orchestration-api) endpoint does not obey Split Tunnel rules since the connection always operates outside of the WARP tunnel.
4653

4754
Next, you will learn how WARP configures your operating system to apply your Local Domain Fallback and Split Tunnel routing rules. Implementation details differ between desktop and mobile clients.
4855

@@ -68,7 +75,7 @@ Browsers with DoH configured will bypass the local DNS proxy. You may need to di
6875

6976
Based on your Local Domain Fallback configuration, WARP will either forward the request to Gateway for DNS policy enforcement or forward the request to your private DNS resolver.
7077

71-
- Requests to Gateway are sent over our [DoH connection](#overview) (outside of the WARP tunnel).
78+
- Requests to Gateway are sent over our [DoH connection](#overview) inside the WARP tunnel.
7279
- Requests to your private DNS resolver are sent either inside or outside of the tunnel depending on your Split Tunnel configuration. For more information, refer to [How the WARP client handles DNS requests](/cloudflare-one/connections/connect-devices/warp/configure-warp/route-traffic/#how-the-warp-client-handles-dns-requests).
7380

7481
```mermaid

src/content/docs/cloudflare-one/connections/connect-devices/warp/deployment/firewall.mdx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,14 @@ The WARP client connects to Cloudflare via a standard HTTPS connection outside t
1717

1818
## DoH IP
1919

20-
All DNS requests through WARP are sent outside the tunnel via DoH (DNS over HTTPS). In your organization's firewall, you must allow the following host: `<ACCOUNT_ID>.cloudflare-gateway.com`. WARP will connect to the following IPs, which must be reachable for DNS to work correctly.
20+
:::note
21+
Only required for [Gateway with DoH](/cloudflare-one/connections/connect-devices/warp/configure-warp/warp-modes/#gateway-with-doh) mode.
22+
:::
23+
24+
In [Gateway with DoH](/cloudflare-one/connections/connect-devices/warp/configure-warp/warp-modes/#gateway-with-doh) mode, the WARP client sends DNS requests to Gateway over an HTTPS connection outside the tunnel. For DNS to work correctly, you must allow `<ACCOUNT_ID>.cloudflare-gateway.com` which will lookup the following IPs:
2125

22-
<Render file="warp/doh-ips" />
26+
- IPv4 DoH Addresses: `162.159.36.1` and `162.159.46.1`
27+
- IPv6 DoH Addresses: `2606:4700:4700::1111` and `2606:4700:4700::1001`
2328

2429
### Android devices
2530

src/content/partials/cloudflare-one/warp/doh-ips.mdx

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/content/partials/learning-paths/zero-trust/install-agent.mdx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,23 @@ Most admins test by manually downloading the WARP client and enrolling in your o
1010
## Install WARP
1111

1212
1. First, uninstall any existing third-party VPN software if possible. Sometimes products placed in a disconnected or disabled state will still interfere with the WARP client.
13-
2. If you are running third-party firewall or TLS decryption software, verify that it does not inspect or block traffic to these IP addresses:
14-
* Client orchestration IPs: <Render file="warp/client-orchestration-ips" product="cloudflare-one" />
15-
* Gateway DoH IPs: <Render file="warp/doh-ips" product="cloudflare-one" />
16-
For more information, refer to [WARP with firewall](/cloudflare-one/connections/connect-devices/warp/deployment/firewall/).
17-
3. Manually install WARP on the device.
18-
13+
2. If you are running third-party firewall or TLS decryption software, verify that it does not inspect or block traffic to the WARP client orchestration IPs:
14+
<Render file="warp/client-orchestration-ips" product="cloudflare-one" />
1915

20-
<Details header="Window, macOS, and Linux">
21-
22-
<Render file="warp/enroll-desktop" product="cloudflare-one" />
16+
For more information, refer to [WARP with firewall](/cloudflare-one/connections/connect-devices/warp/deployment/firewall/).
2317

18+
3. Manually install WARP on the device.
2419

25-
</Details>
20+
<Details header="Window, macOS, and Linux">
2621

22+
<Render file="warp/enroll-desktop" product="cloudflare-one" />
2723

28-
<Details header="iOS, Android, and ChromeOS">
24+
</Details>
2925

30-
<Render file="warp/enroll-ios-android" product="cloudflare-one" />
26+
<Details header="iOS, Android, and ChromeOS">
3127

28+
<Render file="warp/enroll-ios-android" product="cloudflare-one" />
3229

33-
</Details>
30+
</Details>
3431

3532
The WARP client should show as **Connected**. {props.one}

0 commit comments

Comments
 (0)