Gelöst

Cloudflare Peering - Workarounds

vor einem Jahr

Als Workaround für Probleme mit z.B. Cloudflare Peering wird hier öfter auf VPNs verwiesen. Das hat auf den ersten Blick den Nachteil, dass man sämtlichen Traffic durchs VPN leitet. Was suboptimal erscheint, denn die schöne neue Glasfaserleitung wird durch das VPN ja nicht gerade schneller.

 

Ideal wäre also, nur Cloudflare durch das VPN , und den restlichen Traffic über den normalen Weg via Glasfaser zu leiten:

 

Split-Tunneling oder Policy Based Routing FTW.

 

Das Wichtigste, die Cloudflare IPs. Gibt es hier zum Rauskopieren:

https://www.cloudflare.com/ips-v4/#

 

Split-Tunneling Ansatz

 

Für ein Split-Tunnel VPN habe ich mir beim VPN -Provider eine Wireguard Config für einen Router erstellt. Frankfurt erschien als gute Wahl für den VPN Server.

 

Dann die Wireguard Config mit einem Text-Editor öffnen & anpassen. Bei “AllowedIPs” 0.0.0.0/0 entfernen, und die Cloudflare IPs, sowie die DNS Server einfügen. Würde dann mit u.g. vorgegebenen DNS-Servern und CF-IPs beispielhaft so aussehen:

 

[Interface]

PrivateKey = <redacted>

Address = 100.64.19.242/32

DNS = 198.18.0.1,198.18.0.2




[Peer]

PublicKey = <redacted>

AllowedIPs = 198.18.0.1,198.18.0.2,173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22

Endpoint = <redacted>:51820

 

Wer experimentieren mag, eventuell kann man das auch so in eine FritzBox importieren.

 

Ohne VPN sieht ein mtr so aus:

Screenshot 2024-11-20 at 07.44.24.png

Wenn man mit dieser Config dann die VPN -Vebindung startet:

Screenshot 2024-11-20 at 07.45.11.png

Kannten wir alles schon.

 

Der eigentlich Vorteil ist aber nun, dass, egal ob mit oder ohne VPN , Ziele ausserhalb der oben eingepflegten Netze direkt erreichbar sind. Hier ein Beispiel mit verbundenem VPN -Client:

Screenshot 2024-11-20 at 07.45.36.png

heise.de wird direkt, ohne VPN angesprochen, obwohl das VPN verbunden ist.

 

 

Policy-Based Routing Ansatz

 

Hier ein alternativer Lösungsansatz - nicht beschränkt auf einen einzelnen Client, sondern für das ganze Heimnetz - via Policy Based Routing. Für Nutzer mit z.B. einer freien Firewallsoftware wie OPNsense oder z.B. einem GL-Inet / UniFi Gateway.

Ziel für die Umleitung des Traffics kann ein VPN , ein Mobilfunkrouter oder wenn vorhanden zweiter ISP sein.

 

IPv6 kann man auch umleiten, aber das ist komplexer und würde diesen kurzen Guide sprengen: daher IPv6 abschalten.

 

Mit OPNsense könnte man das mit diesem Guide erledigen, ungetestet: https://docs.opnsense.org/manual/how-tos/wireguard-selective-routing.html

 

Da hier einige mit UniFi Gateway unterwegs sind, exemplarisch eine Anleitung dafür. Erfolgreicher Test läuft schon seit ein paar Tagen:

 

Unter “ VPN -> VPN Client” eine VPN Config einspielen und warten, bis sie grün wird.

Unter “Routing -> Policy-Based Routes” die Cloudflare Netze (oder andere problematische Netze/IPs) als Batch Import einpflegen:

Screenshot 2024-11-20 at 08.17.32.png

 

Sobald das aktiv ist, ist der o.g. Cloudflare Testhost für alle Clients mit guter Latenz aus dem ganzen LAN via VPN erreichbar:

Screenshot 2024-11-20 at 08.19.01.png

 

Und wieder das Beispiel heise.de, welches trotzdem direkt angesteuert wird.

 

Screenshot 2024-11-20 at 08.19.19.png

Letzte Aktivität

vor 12 Stunden

von

Gelöschter Nutzer

2514

55

    • Akzeptierte Lösung

      akzeptiert von

      vor 11 Tagen

      Cloudflare Speed/Stabilität erhöhen (mit kostenlosem VPN )


      Cloudflare mit Cloudflare beschleunigen und stabilisieren, geht tatsächlich und sieht dann so aus wie im Bild unten.

      Vergleich (identische Cloudflare IP), links direkt geroutet, rechts via Cloudflare WARP Wireguard VPN .



      Das ganze klappt, weil Cloudflare offenbar schnelle und weniger schnelle/überlastete Wege ins Telekom Netz unterhält, und der kostenlose WARP-Dienst wird offensichtlich (zumindest aktuell) über einen schnellen & stabilen Weg geroutet.

      Was braucht man dazu, ausser einem WireGuard Client bzw. WireGuard-Client-fähigen Router?


      Nur das Tool hier (gibt’s für Windows, macOS und Linux/Unix. Um alle Downloads zu sehen, Assets-Seite aufklappen mit “Show all X assets”) https://github.com/ViRb3/wgcf/releases
      Wie in https://github.com/ViRb3/wgcf/blob/master/README.md beschrieben registrieren (keine E-Mail oder sonstige Daten erforderlich) und eine WireGuard config erzeugen:

       wgcf register
       
      wgcf generate


      Dann die eben generierte Config-Datei wgcf-profile.conf anpassen, und nur die Cloudflare IP Ranges ( https://www.cloudflare.com/ips-v4/# ) via VPN routen (Split-Tunneling).


      So geht der Nicht-Cloudflare Traffic weiterhin direkt via Telekom (ohne VPN ) ins Internet, der problematische Cloudflare Traffic aber via VPN - und dank Cloudflare als VPN Provider direkt und ohne Umwege in den Cloudflare-Backbone.


      VPN Client Config:

      Wir passen nur die “AllowedIPs =" Sektion an, der Rest bleibt wie mit dem Tool generiert.

      Beispiel:

       [Interface]
      PrivateKey = <redacted>
      Address = 172.16.<redacted>/32, 2606:4700:<redacted>/128
      DNS = 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001
      MTU = 1280
      [Peer]
      PublicKey = <redacted>
      AllowedIPs = 173.245.48.0/20, 103.21.244.0/22, 103.22.200.0/22, 103.31.4.0/22, 141.101.64.0/18, 108.162.192.0/18, 190.93.240.0/20, 188.114.96.0/20, 197.234.240.0/22, 198.41.128.0/17, 162.158.0.0/15, 104.16.0.0/13, 104.24.0.0/14, 172.64.0.0/13, 131.0.72.0/22
      Endpoint = engage.cloudflareclient.com:<redacted>
      
       


      Special Ubiquiti Router (damit arbeite ich):

      UniFi Gateway Nutzer löschen die IPv6-Adressen aus der Datei (sonst meckert die GUI ), und importieren die generierte Datei ansonsten unverändert unter “ VPN Client”. Beispiel:

       [Interface]
      PrivateKey = <redacted>
      Address = 172.16.<redacted>/32
      DNS = 1.1.1.1, 1.0.0.1
      MTU = 1280
      [Peer]
      PublicKey = <redacted>
      AllowedIPs = 0.0.0.0/0
      Endpoint = engage.cloudflareclient.com:<redacted>
      
       

      Dann einfach eine Policy Based Route erstellen, und dort die oben verlinkten CF IP Ranges ausnehmen:


      Der VPN -Tunnel ist sogar angenehm schnell:

      21

      von

      vor 23 Stunden

      Folgende Konfig funktioniert mit cloudflare WARP und FritzBoxen. (Die IP des WARP-Endpoints darf nicht in den AllowedIPs sein).

      [Interface]
      PrivateKey = 
      Address = 172.16.0.2/32
      DNS = 1.1.1.1, 1.0.0.1
      MTU = 1420

      [Peer]
      PublicKey = 
      AllowedIPs = 103.21.244.0/22, 103.22.200.0/22, 103.31.4.0/22, 104.16.0.0/13, 104.24.0.0/14, 108.162.192.0/18, 131.0.72.0/22, 141.101.64.0/18, 162.158.0.0/16, 162.159.0.0/17, 162.159.128.0/18, 162.159.192.0/32, 162.159.192.2/31, 162.159.192.4/30, 162.159.192.8/29, 162.159.192.16/28, 162.159.192.32/27, 162.159.192.64/26, 162.159.192.128/25, 162.159.193.0/24, 162.159.194.0/23, 162.159.196.0/22, 162.159.200.0/21, 162.159.208.0/20, 162.159.224.0/19, 172.64.0.0/13, 173.245.48.0/20, 188.114.96.0/20, 190.93.240.0/20, 197.234.240.0/22, 198.41.128.0/17, 2400:cb00::/32, 2405:8100::/32, 2405:b500::/32, 2606:4700::/32, 2803:f800::/32, 2a06:98c0::/29, 2c0f:f248::/32
      Endpoint = engage.cloudflareclient.com:2408

      von

      vor 17 Stunden

      dirrgang

      Die IP des WARP-Endpoints darf nicht in den AllowedIPs sein

      Folgende Konfig funktioniert mit cloudflare WARP und FritzBoxen. (Die IP des WARP-Endpoints darf nicht in den AllowedIPs sein).

      [Interface]
      PrivateKey = 
      Address = 172.16.0.2/32
      DNS = 1.1.1.1, 1.0.0.1
      MTU = 1420

      [Peer]
      PublicKey = 
      AllowedIPs = 103.21.244.0/22, 103.22.200.0/22, 103.31.4.0/22, 104.16.0.0/13, 104.24.0.0/14, 108.162.192.0/18, 131.0.72.0/22, 141.101.64.0/18, 162.158.0.0/16, 162.159.0.0/17, 162.159.128.0/18, 162.159.192.0/32, 162.159.192.2/31, 162.159.192.4/30, 162.159.192.8/29, 162.159.192.16/28, 162.159.192.32/27, 162.159.192.64/26, 162.159.192.128/25, 162.159.193.0/24, 162.159.194.0/23, 162.159.196.0/22, 162.159.200.0/21, 162.159.208.0/20, 162.159.224.0/19, 172.64.0.0/13, 173.245.48.0/20, 188.114.96.0/20, 190.93.240.0/20, 197.234.240.0/22, 198.41.128.0/17, 2400:cb00::/32, 2405:8100::/32, 2405:b500::/32, 2606:4700::/32, 2803:f800::/32, 2a06:98c0::/29, 2c0f:f248::/32
      Endpoint = engage.cloudflareclient.com:2408
      dirrgang

      Die IP des WARP-Endpoints darf nicht in den AllowedIPs sein

      Komisch, hat die FritzBox auch mit AllowedIPs= 0.0.0.0/0 Probleme? Da ist ja ebenfalls das Remote-Gateway enthalten.

      0

      von

      vor 12 Stunden

      Komisch, hat die FritzBox auch mit AllowedIPs= 0.0.0.0/0 Probleme? Da ist ja ebenfalls das Remote-Gateway enthalten.

      Ich verstehe es auch nicht ganz; da es ja u.A. scheinbar auch mit Wireguard-Konnektoren anderer Hersteller funktioniert, vermute ich hier irgendeine AVM-Eigene (Un)-Logik.

      Da IPv6 über WireGuard auch noch nicht unterstützt wird, muss man das auch ausschalten - sonst geht IPv6 wieder direkt, und man hat dieselben Probleme.

      0

      Uneingeloggter Nutzer

      von

    Das könnte Ihnen auch weiterhelfen

    in  

    1356

    13

    2

    vor 4 Jahren

    in  

    1408

    0

    3

    Gelöst

    in  

    501

    5

    63

    in  

    6661

    0

    31

    in  

    3880

    2

    3

    Beliebte Tags letzte 7 Tage

    Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...