Cloudflare Peering - Workarounds

Gelöst

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

2 AKZEPTIERTE LÖSUNGEN
Lösung
@der_Lutz  schrieb:
Der Beitrag gehört für mich ins Wiki 

 

Hallo @staengfoenster 

 

ich habe einen Wiki-Beitrag erstellt:

 

https://telekomhilft.telekom.de/t5/Sonstiges/Cloudflare-Peering-Workarounds/ta-p/7028687

 

Ich hoffe, dass ist in Ordnung.

Ganz unten die Quelle, und DU als Autor

 

 

Viele Grüße

Marcel

 

 

Lösung in ursprünglichem Beitrag anzeigen  

Lösung
@RoadrunnerDD  schrieb:
halte ich diesen Beitrag hier für nen echten Mehrwert.

Auf jeden Fall :daumen_hoch:

 

Der Beitrag gehört für mich ins Wiki 

Lösung in ursprünglichem Beitrag anzeigen  

Warum nun gegen VPN

Habt ihr lange Weile hier das forum voll zu spamen?

 

Nachtrag:

Meine Meinung geändert. 

Sorry von mir dazu.

 

Unabhängig der Diskussion übers Peering und Co. halte ich diesen Beitrag hier für nen echten Mehrwert. Von mir gibt's dafür einen :daumen_hoch:

Lösung
@RoadrunnerDD  schrieb:
halte ich diesen Beitrag hier für nen echten Mehrwert.

Auf jeden Fall :daumen_hoch:

 

Der Beitrag gehört für mich ins Wiki 

Lösung
@der_Lutz  schrieb:
Der Beitrag gehört für mich ins Wiki 

 

Hallo @staengfoenster 

 

ich habe einen Wiki-Beitrag erstellt:

 

https://telekomhilft.telekom.de/t5/Sonstiges/Cloudflare-Peering-Workarounds/ta-p/7028687

 

Ich hoffe, dass ist in Ordnung.

Ganz unten die Quelle, und DU als Autor

 

 

Viele Grüße

Marcel

 

 

@Marcel2605  schrieb:

 

Ich hoffe, dass ist in Ordnung.

Ganz unten die Quelle, und DU als Autor

Selbstverständlich! Herzlichen Dank! :daumen_hoch:

@staengfoenster 

Dir Danke, für diesen tollen Beitrag.:daumen_hoch:

Muss auch sagen, dass die Anleitung gut ist. Nach den gleichen Abläufen kann man idR. bei den meisten VPN Software-Installationen was ähnliches konfigurieren. 

Der Vollständigkeit halber hier noch die Konfiguration mit OpenWrt:

Nach der Konfiguration eines OpenVPN oder WireGuard Tunnels (gibt es diverse Anleitungen zu) das Paket "luci-app-pbr" installieren für Policy Based Routing.

Dann über "Services" -> "Policy Routing" die Einstellungen öffnen und unter "Policies" auf "Add", sollte dann so aussehen:

goldfishfrog_0-1732178299358.png

Bei "Remote addresses / domains" alle Cloudflare IPs mit Leerzeichen getrennt einfügen und bei Interface die VPN Verbindung auswählen.

Nach dem speichern unter "Basic Configuration" -> "Strict enforcement" im Dropdown auf "Do not enforce policies when their gateway is down" wechseln.

Das bewirkt das die VPN Verbindung umgangen wir wenn sie mal nicht funktionieren sollte, ansonsten geht Garnichts mehr was von Cloudflare kommt.

goldfishfrog_1-1732178633871.png

Am Ende noch kontrollieren das der Service auch aktiviert und gestartet ist:

goldfishfrog_2-1732178695994.png

 

@goldfishfrog  schrieb:
Der Vollständigkeit halber hier noch die Konfiguration mit OpenWrt

Hervorragend, dank Dir!

Warum kam ich nicht selber auf die Idee statt alles zu tunneln :strahlendes_Gesicht_mit_lächelnden_Augen:
Nutze es auf der UDM mit dem Wireguard Client und NordVPN :daumen_hoch: