I've checked a bit the script you posted, but it doesnt look so good for me, it need to know the old ip, i think is more like a local webserver that call the remote DA server for an update.
A nice one would be a PHP script that get the IP from the client connected on HTTP protocol and "inform" DA via API's about the new IP for e defined zone authenticated via User/Pass.
Example:
http://MYOWNDYNDNSSERVER/index.php?user=USERNAME?pass=PASSWORD?zone=myzone
The PHP script would use those information taking them from a DB for authenticate and autorize the user, and than use the DA API to delete old A record and create a new one with the new IP.
Regarding the older script posted by Kiekeboe100, as i wrote before, the script work fine, but there are few (major) issue:
1 - DA cant read the .jnl file so he cant read actual DNS and edit them for an entire zone
2 - Since DA cant read the zone, the multi-server setup will not be able to propagate that zone to slaves
Files:
rw-r--r-- 1 named named 852 Apr 30 2014 /var/named/dyndns.crazynetwork.it.db
-rw-r--r-- 1 named named 1.1K Dec 4 2013 /var/named/dyndns.crazynetwork.it.db.jnl
Zone transfer error:
Named::writeDB: error writing zone for dyndns.crazynetwork.it: email='' or ns1='' is empty. Ensure the zone is not corrupted.
>dig @localhost ufficio.dyndns.crazynetwork.it
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> @localhost ufficio.dyndns.crazynetwork.it
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43371
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;ufficio.dyndns.crazynetwork.it. IN A
;; ANSWER SECTION:
ufficio.dyndns.crazynetwork.it. 300 IN A 93.63.162.59
;; AUTHORITY SECTION:
dyndns.crazynetwork.it. 3600 IN NS ns1.crazynetwork.it.
dyndns.crazynetwork.it. 3600 IN NS ns2.crazynetwork.it.
dyndns.crazynetwork.it. 3600 IN NS ns3.crazynetwork.it.
;; ADDITIONAL SECTION:
ns1.crazynetwork.it. 9821 IN A 93.63.162.56
ns2.crazynetwork.it. 2621 IN A 93.63.162.57
ns3.crazynetwork.it. 2621 IN A 77.43.71.14
;; Query time: 80 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 10 23:55:49 2014
;; MSG SIZE rcvd: 166
As you can see DA (and dataskq) "think" that the zone file is corrupted (while is not as you can see from dig command) and the zone is not transfered to slaves servers.
The implementation of the first script is pretty easy, can for sure be improoved on auth-side, but definitly a fix from DA Staff would be needed to be able to keep using DA to manage the zone and the Multi-Server function to propagate the zone to slave(s)
Regards