Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Comprehensive Cloudflare platform skill covering Workers, D1, R2, KV, AI, Durable Objects, and security.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/tunnel/networking.md
1# Tunnel Networking23## Connectivity Requirements45### Outbound Ports67Cloudflared requires outbound access on:89| Port | Protocol | Purpose | Required |10|------|----------|---------|----------|11| 7844 | TCP/UDP | Primary tunnel protocol (QUIC) | Yes |12| 443 | TCP | Fallback (HTTP/2) | Yes |1314**Network path:**15```16cloudflared → edge.argotunnel.com:7844 (preferred)17cloudflared → region.argotunnel.com:443 (fallback)18```1920### Firewall Rules2122#### Minimal (Production)23```bash24# Outbound only25ALLOW tcp/udp 7844 to *.argotunnel.com26ALLOW tcp 443 to *.argotunnel.com27```2829#### Full (Recommended)30```bash31# Tunnel connectivity32ALLOW tcp/udp 7844 to *.argotunnel.com33ALLOW tcp 443 to *.argotunnel.com3435# API access (for token-based tunnels)36ALLOW tcp 443 to api.cloudflare.com3738# Updates (optional)39ALLOW tcp 443 to github.com40ALLOW tcp 443 to objects.githubusercontent.com41```4243### IP Ranges4445Cloudflare Anycast IPs (tunnel endpoints):46```47# IPv448198.41.192.0/2449198.41.200.0/245051# IPv6522606:4700::/3253```5455**Note:** Use DNS resolution for `*.argotunnel.com` rather than hardcoding IPs. Cloudflare may add edge locations.5657## Pre-Flight Check5859Test connectivity before deploying:6061```bash62# Test DNS resolution63dig edge.argotunnel.com +short6465# Test port 7844 (QUIC/UDP)66nc -zvu edge.argotunnel.com 78446768# Test port 443 (HTTP/2 fallback)69nc -zv edge.argotunnel.com 4437071# Test with cloudflared72cloudflared tunnel --loglevel debug run my-tunnel73# Look for "Registered tunnel connection"74```7576### Common Connectivity Errors7778| Error | Cause | Solution |79|-------|-------|----------|80| "no such host" | DNS blocked | Allow port 53 UDP/TCP |81| "context deadline exceeded" | Port 7844 blocked | Allow UDP/TCP 7844 |82| "TLS handshake timeout" | Port 443 blocked | Allow TCP 443, disable SSL inspection |8384## Protocol Selection8586Cloudflared automatically selects protocol:8788| Protocol | Port | Priority | Use Case |89|----------|------|----------|----------|90| QUIC | 7844 UDP | 1st (preferred) | Low latency, best performance |91| HTTP/2 | 443 TCP | 2nd (fallback) | QUIC blocked by firewall |9293**Force HTTP/2 fallback:**94```bash95cloudflared tunnel --protocol http2 run my-tunnel96```9798**Verify active protocol:**99```bash100cloudflared tunnel info my-tunnel101# Shows "connections" with protocol type102```103104## Private Network Routing105106### WARP Client Requirements107108Users accessing private IPs via WARP need:109110```bash111# Outbound (WARP client)112ALLOW udp 500,4500 to 162.159.*.* (IPsec)113ALLOW udp 2408 to 162.159.*.* (WireGuard)114ALLOW tcp 443 to *.cloudflareclient.com115```116117### Split Tunnel Configuration118119Route only private networks through tunnel:120121```yaml122# warp-routing config123warp-routing:124enabled: true125```126127```bash128# Add specific routes129cloudflared tunnel route ip add 10.0.0.0/8 my-tunnel130cloudflared tunnel route ip add 172.16.0.0/12 my-tunnel131cloudflared tunnel route ip add 192.168.0.0/16 my-tunnel132```133134WARP users can access these IPs without VPN.135136## Network Diagnostics137138### Connection Diagnostics139140```bash141# Check edge selection and connection health142cloudflared tunnel info my-tunnel --output json | jq '.connections[]'143144# Enable metrics endpoint145cloudflared tunnel --metrics localhost:9090 run my-tunnel146curl localhost:9090/metrics | grep cloudflared_tunnel147148# Test latency149curl -w "time_total: %{time_total}\n" -o /dev/null https://myapp.example.com150```151152## Corporate Network Considerations153154Cloudflared honors proxy environment variables (`HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY`).155156If corporate proxy intercepts TLS, add corporate root CA to system trust store.157158## Bandwidth and Rate Limits159160| Limit | Value | Notes |161|-------|-------|-------|162| Request size | 100 MB | Single HTTP request |163| Upload speed | No hard limit | Governed by network/plan |164| Concurrent connections | 1000 per tunnel | Across all replicas |165| Requests per second | No limit | Subject to DDoS detection |166167**Large file transfers:**168Use R2 or Workers with chunked uploads instead of streaming through tunnel.169