cloudflare / cloudflare/cloudflared

💡 Please consider "dual / both / mixed" option for edge-ip-version

Open
#1,141 2 comments 3 reactions 0 assignees View on GitHub
Priority: Normal Type: Feature Request
Dominant language
Go
Stars
15.6k
Forks
1.4k
PR merge metrics
No merged PRs in 30d

Description

**Describe the feature you'd like**

Please consider introducing an additional option to `edge-ip-version` to prefer connecting to the edge with both IPv4 and IPv6 connections, ideally one of each to each distinct data centre, falling back to all 4 or 6 in the event of a loss/absence of connectivity on the other. Doing so would provide increased resilience in the event of a loss of connectivity affecting only one version.

**Describe alternatives you've considered**

Run two instances, one with `edge-ip-version` set to `4` and the other to `6`. Happy to do so, but it would seem useful to manage it in one instance, if possible.

**Additional context**
Earlier today one of my tunnels 'collapsed' completely when the route to Cloudflare suddenly lost IPv6 connectivity (logs below), after-which the tunnel reconnected over IPv4.

```
Jan 05 07:09:32 cloudflared[6359]: 2024-01-05T07:09:32Z WRN Failed to serve quic connection error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=0 event=0 ip=2606:4700:a0::10
Jan 05 07:09:32 cloudflared[6359]: 2024-01-05T07:09:32Z WRN Serve tunnel error error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=0 event=0 ip=2606:4700:a0::10
Jan 05 07:09:32 cloudflared[6359]: 2024-01-05T07:09:32Z WRN Connection terminated error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=0
Jan 05 07:09:33 cloudflared[6359]: 2024-01-05T07:09:33Z ERR writing release: timeout: no recent network activity
Jan 05 07:09:33 cloudflared[6359]: 2024-01-05T07:09:33Z WRN Failed to serve quic connection error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=3 event=0 ip=2606:4700:a8::3
Jan 05 07:09:33 cloudflared[6359]: 2024-01-05T07:09:33Z WRN Serve tunnel error error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=3 event=0 ip=2606:4700:a8::3
Jan 05 07:09:33 cloudflared[6359]: 2024-01-05T07:09:33Z WRN Connection terminated error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=3
Jan 05 07:09:34 cloudflared[6359]: 2024-01-05T07:09:34Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=2 event=0 ip=2606:4700:a0::3
Jan 05 07:09:34 cloudflared[6359]: 2024-01-05T07:09:34Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=2 event=0 ip=2606:4700:a0::3
Jan 05 07:09:34 cloudflared[6359]: 2024-01-05T07:09:34Z WRN Connection terminated error="timeout: no recent network activity" connIndex=2
Jan 05 07:09:35 cloudflared[6359]: 2024-01-05T07:09:35Z ERR Failed to serve quic connection error="timeout: no recent network activity" connIndex=1 event=0 ip=2606:4700:a8::5
Jan 05 07:09:35 cloudflared[6359]: 2024-01-05T07:09:35Z ERR Serve tunnel error error="timeout: no recent network activity" connIndex=1 event=0 ip=2606:4700:a8::5
Jan 05 07:09:35 cloudflared[6359]: 2024-01-05T07:09:35Z ERR Connection terminated error="timeout: no recent network activity" connIndex=1
Jan 05 07:09:45 cloudflared[6359]: 2024-01-05T07:09:45Z WRN Failed to create new quic connection error="failed to dial to edge with quic: timeout: no recent network activity" connIndex=0 event=0 ip=2606:4700:a0::10
Jan 05 07:09:45 cloudflared[6359]: 2024-01-05T07:09:45Z WRN Failed to create new quic connection error="failed to dial to edge with quic: timeout: no recent network activity" connIndex=3 event=0 ip=2606:4700:a8::3
Jan 05 07:09:46 cloudflared[6359]: 2024-01-05T07:09:46Z WRN Connection terminated error="failed to dial to edge with quic: timeout: no recent network activity" connIndex=3
Jan 05 07:09:48 cloudflared[6359]: 2024-01-05T07:09:48Z WRN Connection terminated error="failed to dial to edge with quic: timeout: no recent network activity" connIndex=0
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.