Cloudflare Zero Trust Guide
Two glowing pink isometric server boxes joined by three neon cables on a dark background, with a bright light pulse midway suggesting a VPN tunnel link
cloudflare-warp

Best Region for Cloudflare VPN: Why WARP Picks for You

Cloudflare WARP has no region picker: anycast routes you to a nearby data center. How to check yours, and when egress IPs or --region us apply.

By Cloudflare Zero Trust Guide Editorial · · 8 min read

There is no “best region for cloudfare vpn” setting to find: Cloudflare WARP has no server list, and anycast routing connects you to a nearby WARP-enabled Cloudflare data center automatically. That default is the best region for latency. If you need a specific exit country, WARP is the wrong tool; Zero Trust Enterprise can pin egress with dedicated IPs.

“Region” means three different things across Cloudflare’s products, and only two of them come with a knob:

ProductCan you pick a region?The knob
1.1.1.1 with WARP (free or WARP+)NoNone; anycast and your ISP’s routing decide
Cloudflare One Client (Zero Trust)Egress location only, EnterpriseDedicated egress IPs plus egress policies
cloudflared (Cloudflare Tunnel)Connector region only--region us, or the global default

Can you choose a server location in Cloudflare WARP?

No. Neither free WARP nor WARP+ exposes a country or city list. The tunnel terminates on Cloudflare’s anycast network, and routing decides which data center answers. Anycast means the same addresses are announced from many locations, so the data center you land in is a routing outcome, not a destination you can type into a config. The managed Cloudflare One Client only gets a location choice if an Enterprise admin builds one, covered below.

Your apparent location follows you. Cloudflare’s WARP FAQ says the client replaces your original IP with a Cloudflare IP that approximates your location, and its known-issues list warns that apps relying on location to enforce content licensing may not work properly. Two leaks matter if you check “where am I” from a browser: WARP does not proxy WebRTC, and if you grant a site microphone or camera access, that traffic bypasses WARP and your original IP is visible.

WARP+ does not change the model. Cloudflare’s WARP for Desktop launch post says “With WARP+ we use Argo Smart Routing to devise the shortest path through our global network of data centers.” That is the path behind the edge, not where you appear on the internet. The WARP vs VPN breakdown covers why exit-IP relocation is the one VPN job WARP deliberately skips.

Why is WARP connecting to a far-away data center?

Because anycast follows the path your ISP and Cloudflare’s traffic engineering prefer, not the shortest line on a map. The WARP FAQ gives three causes: the nearest server may be having problems, “Your Internet provider may choose to route traffic along an alternate path,” and “Not all Cloudflare locations are WARP enabled.”

Cloudflare’s geographic routing note states the policy behind it: when performance and reliability conflict, its systems “prioritize a stable connection over a local one.” Landing one city over is the system working as designed.

No client setting fixes it. The levers are upstream:

  • Compare uplinks. Run the trace below on your fixed line, then again on an LTE hotspot. If the data center changes with the uplink, your ISP’s route selection toward Cloudflare is the variable. The evidence for an ISP ticket is that trace output plus mtr -r -c 50 1.1.1.1 with WARP disconnected.
  • Re-check later. A data center that is degraded or in maintenance sheds traffic temporarily, and routing returns when it recovers.
  • Measure before you blame WARP. A distant colo with a low connect time is not a problem worth solving.

How do you check which Cloudflare data center you are on?

Request /cdn-cgi/trace from any Cloudflare-served domain and read the colo line, the airport-style code of the data center that served the request. Cloudflare documents this endpoint as the way to “Identify the Cloudflare data center serving your request”, and the same output shows whether WARP carried it.

# Cloudflare's own enrollment check: prints warp=on, or nothing
curl --silent https://www.cloudflare.com/cdn-cgi/trace | grep '^warp=on$'

# Egress IP, data center, geolocated country, WARP state
curl --silent https://www.cloudflare.com/cdn-cgi/trace | grep -E '^(ip|colo|loc|warp)='

# Connect time and TTFB to the edge; run with WARP on, then off
for i in 1 2 3 4 5; do
  curl -o /dev/null -s -w 'connect=%{time_connect}s ttfb=%{time_starttransfer}s\n' \
    https://www.cloudflare.com/cdn-cgi/trace
done

colo=FRA is Frankfurt, colo=EWR is Newark. loc is the country the request geolocates to, and ip is the address the internet sees. Cloudflare’s manual deployment guide flags two false negatives: with Split Tunnels in Include mode, warp=off is expected for any destination outside the include list, and in DNS-only mode the check cannot pass because that mode carries no network traffic.

colo is where you entered Cloudflare. With dedicated egress IPs, the exit can be somewhere else.

When does picking an egress region matter in Zero Trust?

When a third party keys on your source IP or its geolocation: SaaS IP allow-lists, partner firewalls, region-specific QA. By default, Gateway traffic shares a source IP with other Cloudflare One Client users and “exits from the nearest Cloudflare data center”. Changing that takes Enterprise egress policies and dedicated egress IPs.

The mechanics, from Cloudflare’s dedicated egress IP docs and egress policy reference:

  • Each dedicated egress IP is an IPv4 address plus an IPv6 range, both tied to one data center. Accounts get at least two, in two different cities.
  • Egress policies match on identity, device posture, source or destination country and continent, and virtual network.
  • A secondary IPv4 is mandatory. Set it to 0.0.0.0 and Gateway routes to the location closest to the user.
  • Traffic matching no policy “attempts to use the closest dedicated egress IP location.” Put a catch-all at the bottom that sends everything else to the default Zero Trust range.
  • IPv4 to a destination Cloudflare does not proxy physically travels to the data center holding the IP. Proxied IPv4 and all IPv6 exit locally but still geolocate to the IP’s city.
  • Third-party geolocation databases can take at least six weeks to catch up after assignment.

The IPv4 haul is what decides the best region. A London team on a Washington, D.C. egress IP sends every non-proxied IPv4 flow across the Atlantic before it leaves Cloudflare. Put the primary IP in the city nearest most of your users, the secondary in a different city, and match only the destinations that need the fixed address. Expect the data center in the client’s preferences to disagree with the real exit; the docs call that expected.

To let people switch, the user-selectable egress tutorial creates one virtual network per egress IP (vnet-AMER, vnet-EMEA), assigns every virtual network to every tunnel, and writes one egress policy per virtual network. Users pick from the VNET dropdown in the client. Verify with curl -4 -s https://www.cloudflare.com/cdn-cgi/trace | grep '^ip=' before and after switching.

If you already own a static IP that partners allow-list, egress through Cloudflare Tunnel is the documented alternative to buying dedicated IPs: Gateway applies policy, then traffic for chosen public hostnames exits a cloudflared connector on your network with your IP. It needs cloudflared 2025.7.0 or later and the client in Traffic and DNS mode.

Regional Services is a different control. It decides where traffic is decrypted and processed, applies only in Traffic and DNS mode, and is verified through the IngressColoName field in Network Session logs, per the Data Localization Suite Zero Trust guide. That is compliance scope, not an exit picker.

Which region should a cloudflared tunnel use?

The global default: omit --region. The only alternative value is us, which the run parameters reference says routes all connections through data centers in the United States. Set it when a compliance requirement demands it, not for speed. FedRAMP High tunnels need no flag; the tunnel token routes them.

# CLI: tunnel-level flags go before "run"
cloudflared tunnel --region us run <UUID or NAME>

# systemd drop-in, via: sudo systemctl edit cloudflared
[Service]
Environment=TUNNEL_REGION=us

The firewall is where this breaks. The tunnel firewall reference lists separate US endpoints, reached on port 7844 over TCP and UDP:

HostnameIPv4IPv6
us-region1.v2.argotunnel.com198.41.218.1 to .102606:4700:a1::1 to ::10
us-region2.v2.argotunnel.com198.41.219.1 to .102606:4700:a9::1 to ::10

An egress alias built for the global 198.41.192.x and 198.41.200.x sets blocks a US-region connector outright. The default region1 and region2 hostnames are two address sets, not continents, so a UDP failure on region2 is an allow-list gap rather than a geography problem.

To see where the connector actually landed, read the location field that cloudflared’s connection package writes into its registration log lines:

journalctl -u cloudflared -b | grep 'Registered tunnel connection'

If the connector does not exist yet, the first tunnel walkthrough covers setup before any region decision.

So which region should you pick?

For most people, none: let WARP choose its data center, and leave cloudflared on the global region. Pick a location only when a third party checks your source IP or a regulation restricts where traffic is processed. Then the choice is an Enterprise egress IP or --region us, never a WARP setting.

You wantPick
Privacy on hotel or café Wi-FiDefault WARP; confirm warp=on
Another country’s streaming catalogueNot WARP; a VPN with selectable exit servers
Lower ping for a gameCompare colo and connect time with WARP on and off; if WARP adds latency, disconnect for that session
A fixed, allow-listed IP for SaaSEnterprise dedicated egress near most users plus a second city, or tunnel egress from your own static IP
A homelab or office tunnelGlobal region; --region us only for US data-residency rules
Retiring an inbound VPNRegion is irrelevant; design Access policies first, per the Zero Trust ingress guide

FAQ

does cloudflare warp change your location for netflix

No. WARP replaces your IP with a Cloudflare address that approximates your real location, so streaming services still see roughly where you are. Cloudflare’s known-issues list warns that apps enforcing content licensing by location may not work properly through WARP. For a different country’s catalogue you need a VPN with selectable exit servers.

is warp+ faster than free warp

It can be, but not because of location. WARP+ uses Argo Smart Routing to find a shorter path across Cloudflare’s network toward the destination, so any gain depends on how congested the default path is from where you are. It adds no location picker and does not change the country websites see.

what does colo mean in cloudflare cdn-cgi trace

colo is the airport-style code of the Cloudflare data center that answered your request, such as FRA for Frankfurt or LAX for Los Angeles. It shows where you entered Cloudflare’s network, not necessarily where your traffic exits. On Zero Trust accounts with dedicated egress IPs, IPv4 traffic to non-proxied sites leaves from the IP’s data center instead.

can cloudflare zero trust give me a static ip

Yes, on Enterprise plans, as a paid add-on. Each dedicated egress IP is an IPv4 address plus an IPv6 range tied to one Cloudflare data center, and accounts receive at least two in different cities. Without them, Gateway traffic exits the nearest data center on a source IP shared with other Cloudflare One Client users.

Sources

  1. Cloudflare WARP client docs: Known issues and FAQ
  2. Cloudflare Support docs: Geographic traffic routing
  3. Cloudflare Fundamentals docs: /cdn-cgi/ endpoint
  4. Cloudflare One docs: Manual deployment of the Cloudflare One Client
  5. Cloudflare One docs: Egress policies
  6. Cloudflare One docs: Dedicated egress IPs
  7. Cloudflare One docs: Use virtual networks to change user egress IPs
  8. Cloudflare One docs: Egress through Cloudflare Tunnel
  9. Cloudflare Data Localization Suite docs: Zero Trust
  10. Cloudflare One docs: Tunnel run parameters
  11. Cloudflare One docs: Tunnel with a firewall
  12. Cloudflare blog: Introducing WARP for Desktop and Cloudflare for Teams
  13. cloudflared source: connection package log fields
#cloudflare-warp #zero-trust #egress-ips #cloudflared #anycast

Related