Cloudflare, Timme Hosting, LetsEncrypt und das Problem mit IPv6

Mit einem meiner Projekte bin ich zu Timme Hosting gewechselt, weil mich beim Support von raidboxes geärgert hat, dass fast alle Probleme zuerst aufseiten des Nutzers gesucht wurden „Du hast zu viele Plugins“. Das ist für mich aber nie eine richtige Lösung und als zahlender Kunde wird man am Ende wieder allein gelassen. Timme Hosting war hier von Anfang auch so höflich und hilsbereit wie raidboxes, aber hier bin ich mir nach langen Gesprächen mit einigen Leuten sicher, dass sie auch so bleiben werden. (fingers crossed)

Timme Hosting und LetsEncrypt funktionieren mit Cloudflare nur, wenn Sie IPv6 deaktivieren

Netter Kundendienstmitarbeiter von Timme Hosting

Meine erste Frage war dann:

Wie kann jemand herausfinden, ob Cloudflare IPv6 nutzt oder nicht?

Du kannst das die Antwort auf die Frage entweder bei Cloudflare selbst finden oder aber per DNS Check den AAAA-Eintrag überprüfen. Sollte dieser nämlich vorhanden sein, dann wird IPv6 verwendet.

Klicke auf „Network“, wenn du eingeloggt bist und die entsprechende Domain ausgewählt hast.

Anschließend siehst du ungefähr in der Mitte des darauffolgenden Fensters die Einstellung „IPv6 Compatibility“:

Dieser ist auf „ON“ eingestellt und wie du auch schon am Screenshot erahnen kannst, lässt sich der Schalter auch nicht einfach so auf „OFF“ stellen. Das liegt daran, dass Cloudflare inzwischen dem User diese Entscheidung nicht mehr überlassen möchte. Wahrscheinlich wird es diesen Schalter in absehbarer Zeit also gar nicht mehr geben.

Doch:

Wie lässt sich IPv6 nun bei Cloudflare ausschalten?

Das funktioniert mit folgendem curl-Command:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/ipv6" \
     -H "X-Auth-Email: user@example.com" \
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type: application/json" \
     --data '{"value":"off"}'

Die zu editierenden Zeilen im Detail:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/ipv6" \

Ersetze hier 023e105f4ecef8ad9ca31a8372d0c353 durch deine Zone ID 
(Diese findest du im Fenster Overview/Übersicht, wenn du bei Cloudflare eingeloggt bist. Unten rechts unter Zone-ID/Zonen-ID steht die Nummer, die du per Klick auf "Zum Kopieren klicken" kopieren kannst)
     -H "X-Auth-Email: user@example.com" \

Schreibe hier deine E-Mail-Adresse rein, mit der du bei Cloudflare angemeldet bist
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \

Ersetze c2547eb745079dac9320b638f5e225cf483cc5cfdda41 durch dein API-Key:
Den kannst du auch im Bereich "Overview/Übersicht" anfordern:

Klicke für den API-Key auf „Ihr API-Token erhalten“ und dann anschließend auf „Anzeigen“ bei Global API Key:

Im Popup klickst du auf „Anzeigen“ (2), dann erscheint dein Key in (3). Diesen kopierst du heraus und fügst ihn in den Code ein.

Schreibe am Besten alles so in einen Text-Editor wie Sublime Text 3:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/ipv6" \
     -H "X-Auth-Email: user@example.com" \
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type: application/json" \
     --data '{"value":"off"}'

Besitzt du Linux, dann kannst du im Terminal

sudo apt install curl

eingeben und nach der Installation kannst du den Block einfach einfügen und bestätigen.

Aber wie kann ich Curl auf Windows nutzen?

Das ist eine gute Frage.

Dafür musst du erst das Windows-Subsystem für Linux installieren:

Anschließend installieren wir Linux.

Hier habe ich Debian aus dem Microsoft Store genommen:

https://apps.microsoft.com/store/detail/debian/9MSVKQC78PK6?hl=de-de&gl=de

Nach der Installation startest du den Rechner neu und öffnest anschließend die Eingabeaufforderung durch das Startmenü oder indem du Windows-Taste+R aufrufst und dann „cmd“ eingibst und ausführst.

dort gibst du dann

bash

ein und führst das aus.

Anschließend wirst du nach einem Nutzernamen und Passwort gefragt. Frei wählbar.

danach gibst du den Code ein:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/ipv6" \
     -H "X-Auth-Email: user@example.com" \
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type: application/json" \
     --data '{"value":"off"}'

Sollte es einen Fehler geben in Bezug auf SSL oder Ähnliches, dann ändere die erste Zeile um in:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/ipv6" --ssl-no-revoke \ 

So solltest du am Ende eine Antwort des Servers erhalten, wie aus dem Beispiel von Cloudflare:

{
  "success": true,
  "errors": [],
  "messages": [],
  "result": {
    "id": "ipv6",
    "value": "off",
    "editable": true,
    "modified_on": "2014-01-01T05:20:00.12345Z"
  }
}

Nun kannst du bei Timme Hosting im Kundencenter unter

Webseiten – > Domain auswählen -> SSL

Dein Zertifikat neu erstellen lassen und er sollte dann auch die Domains mit aufnehmen, die über Cloudflare im CDN laufen.

Viel Erfolg!