In diesem How-To wird beschrieben, wie man einen DynDNS-Dienst für eine bei Cloudflare gehostete Domain einrichtet:

Vorraussetzungen:
– Linux Server mit installiertem Docker und Docker-Compose
– Docker Kenntnisse
– Eingerichtete Subdomain bei Cloudflare mit beliebiger IP-Adresse


Schritt 1:
Ein Cloudflare API-Token erstellen. Dazu im Cloudflare-Account auf folgenden Link klicken:

Jetzt die Vorlage zum „Zonen-DNS bearbeiten“ auswählen:

Anschließend mit den folgenden Einstellungen das API-Token erstellen:


Schritt 2:
Ein Docker-Compose Script erstellen:

mkdir ~/ddclient
cd /ddclient
nano docker-compose.yml

Folgenden Inhalt in die yml-Datei einfügen (Der Volumepfad und die Timezone können bei Bedarf angepasst werden):

---
services:
  ddclient:
    image: lscr.io/linuxserver/ddclient:latest
    container_name: ddclient
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    volumes:
      - /home/ddclient/config:/config
    restart: unless-stopped

Schritt 3:
Nun wird das Compose Script einmal gestartet:

sudo docker-compose up -d

Schritt 4:
Nun sollte im Config-Volume eine Config-Datei erstellt worden sein.

nano /home/ddclient/config/ddclient.conf

Nun kann der gesamte Inhalt der Datei gelöscht und durch folgende Zeilen ersetzt werden.
Die Zeilen „zone, password und die Domainnamen“ müssen natürlich angepasst werden.

daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
pid=/var/run/ddclient.pid # record PID in file
ssl=yes # use TLS
use=web # get IP with website below
web='https://cloudflare.com/cdn-cgi/trace'
web-skip='ip=' # IP address above is after 'ip='

protocol=cloudflare, \
zone=mydomain.tld, \
ttl=1,
password='cloudflare-api-token',
mydomain.tld,subdomain.mydomain.tld

Schritt 5:
Jetzt kann der Docker Container neugestartet werden

sudo docker-compose down
sudo docker-compose up -d

Jetzt sollte die richtige IP-Adresse in den Einstellungen der Subdomain stehen und bei jeder Aktualisierung angepasst werden.

Troubleshooting:
Falls die IP-Adresse nicht aktualisiert wird, könnt ihr euch mit diesem Befehl die ddclient-Logs ausgeben lassen:

sudo docker logs -f ddclient

Quellen:
https://hub.docker.com/r/linuxserver/ddclient
https://www.davidschlachter.com/misc/cloudflare-ddclient

Von NRTX

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert