Dyndns bei cloudflare ?

glaskugel

New Member
Ich habe noch nicht herausgefunden, ob cloudflare dyndns unterstützt? Wenn ja hat wer eine Beispielkonfiguration mit dem ddclient (3.8.0-11.4)
 
Ich antworte mir selber ;-)

http://www.cloudflare.com/wiki/DDClient
A port of ddclient (http://sourceforge.net/projects/ddclient/) this includes support for using the CloudFlare dynamic DNS updating system. The underlaying API this client works with is described on the Client Interface API page.

We are working to integrate the CloudFlare patch into the project's main branch, but this has not happened yet. In the meantime, download the port here.


http://www.cloudflare.com/wiki/Talk:DDClient
Please make clear that the auth token is your API key, that you find in your account info. This cost me almost an hour of error searching in other areas because you can't get you terms consistent.

2012-07-17: The current patched version from Ian Pye seems to be broken, and unable to get the update status from Cloudflare. I have fixed this, and created a patch that can be used on DDClient's 3.8.1 release. It is available here: http://robertianhawdon.me.uk/2012/07/17/fixing-ddclient-to-work-with-cloudflare/
 
Ich habe für meine Suche ein paar Sekunden länger gebraucht, aber dann das bereits zitierte gefunden. Kurz: zur Zeit nicht brauchbar.
 
1. Dyndns.org Account server.dyndns.org
2. CNAME Record: dynip.meinedomain.de > server.dyndns.org
3. DynIP Updater oder Router mit dyndns.org konfigurieren
4. Party!
 
Nein ich will nicht von hinten in die Brust. Wenn schon cloudflare, dann will ich auch die Sicherheitsfeatures nutzen.

Der Link zu CloudFlare-Dynamic-IP-Updater (github) ist tot. Aber das ist ein interessanter Beitrag:

http://kromey.us/2011/08/dynamic-dns-with-linode-and-cloudflare-459.html

Für das Verständnis hilft schon das viel weiter, habe es aber noch nicht probiert.

Code:
https://www.cloudflare.com/api.html?a=DIUP&hosts=dyn.example.com&u=user@example.com&tkn=your-cloudflare-api-key&ip=123.123.123.123

wget -qO- https://www.cloudflare.com/api.html?a=DIUP\&hosts=dyn.example.com\&u=user@example.com\&tkn=your-cloudflare-api-key\&ip=`wget -qO- http://automation.whatismyip.com/n09230945.asp`

Die 2. Zeile gefällt mir noch nicht, ich will die IP anders abfragen, aber die 1. Zeile zeigt wie es grundsätzlich läuft.
 
Noch ein überlegenswerter Ansatz:

http://jimdrash.com/node/5

Code:
#!/bin/bash

# set your user, token (key) name server and a comma-separated list of A records you want to change
CFU=joe@doe.com
CFP=435345245345346656
CFNS=jill.ns.cloudflare.com
CFHOSTS=me.doe.com

# get your current external ip address
CFIP=$(curl -s http://myip.dnsomatic.com/)

# build the url you need to do the update
CFURL="https://www.cloudflare.com/api.html?a=DIUP&hosts=$CFHOSTS&u=$CFU&tkn=$CFP&ip=$CFIP"

# find out the ip address listed in DNS for the first host in your list
CFHOSTIP=$(nslookup $(echo $CFHOSTS | cut -d ',' -f1) $CFNS | \
     grep Address | tail -1 | cut -d ' ' -f2)

# if your current external IP are different from what shows in DNS do the update
if [ "$CFIP" != "$CFHOSTIP" ]
then
     # use curl to do the dynamic update
     /usr/bin/curl -s $CFURL
fi

und hier eine Diskusstion via Openwrt:

http://serverfault.com/questions/352734/using-dd-wrt-dynamic-dns-client-with-cloudflare

Jetzt muss ich mir überlegen, ob ich es lieber mit Openwrt mache (permanent an) oder dem Heimserver, der nicht immer an ist.
 
Last edited by a moderator:
Ich denke die Syntax hat sich geändert, weil o.a. Beispiele nicht funktionieren.

Ich habe aber was authoritatives gefunden:

http://www.cloudflare.com/docs/client-api.html#s3.3.9

Code:
curl https://www.cloudflare.com/api_json.html \
  -d 'a=DIUP' \
  -d 'tkn=8afbe6dea02407989af4dd4c97bb6e25' \
  -d 'email=sample@example.com' \
  -d 'ip=0.0.0.0' \
  -d 'hosts=example.com,www.example.com,test.example.com'

Man muss also "nur" mehr die IP in eine Variable packen und daran arbeite ich noch, wie ich das lokal hinbekomme.
 
Back
Top