Cloudflare DDNS: Die Lösung für Hosting mit dynamischer IP-Adresse
Wenn man einen Homeserver betreibt, steht man irgendwann vor einem typischen Problem: Die öffentliche IP des Anschlusses ändert sich regelmäßig. Das bedeutet, dass die eigenen Dienste von außen plötzlich nicht mehr erreichbar sind, bis die DNS-Einträge aktualisiert werden. In diesem Artikel zeige ich, wie ich das mit Cloudflare DDNS zuverlässig löse.
Cloudflare DDNS ist ein Docker-Container, der im 5-Minunten-Rhytmus die öffentliche IP-Adresse abfragt und mit den DNS-Einträgen über die Cloudflare-API abgleicht. Treten durch eine Änderung der dynamischen IP-Adresse Differenzen auf, wird die im DNS-Eintrag hinterlegte Adresse automatisch geupdatet.
Voraussetzungen:
- Domain bei Cloudflare
- Docker-Compose
Für die Einrichtung muss zunächst ein API-Token in Cloudflare erstellt werden. Am einfachsten geht das über die Schnellsuche im Dashboard: Dort einfach nach API-Tokens suchen und einen neuen Token mit der Vorlage "Zonen-DNS bearbeiten" erstellen.
Anschließend wird der erzeugte API-Token im docker-compose.yaml hinterlegt. Zusätzlich müssen dort die Domains eingetragen werden, die automatisch aktualisiert werden sollen. Mehrere Domains können dabei einfach durch Kommas getrennt angegeben werden.
services:
cloudflare-ddns:
image: favonia/cloudflare-ddns:latest
network_mode: host
restart: unless-stopped
user: 1000:1000
read_only: true
cap_drop:
- all
security_opt:
- no-new-privileges:true
environment:
- CLOUDFLARE_API_TOKEN=dein-api-token
- DOMAINS=deinedomain.com,sub1.deinedomain.com,sub2.deinedomain.com
- IP6_PROVIDER=none
networks: {}compose.yaml
Nach dem Anpassen und Speichern des Compose-Files unter dem Namen compose.yaml könnt ihr den Docker-Container starten. Navigiert dazu in der Kommandozeile in das Verzeichnis, in dem das Compose-File liegt, und führt folgenden Befehl aus:
docker compose up -d