Eigener DynDNS mit Bind und PHP
Bind
Key erzeugen
Erzeugen eines symmetrischen Keys
dnssec-keygen -a HMAC-MD5 -b512 -n HOST home.key
named.conf
key "home.key" {
algorithm hmac-md5;
secret "totalsuppergeheimessecret"; # Entnommen aus Keyfile
};
zone "home.domain.tld" {
type master;
file "dyn/home.domain.tld";
allow-update { key "home.key"; };
};
Zone
Abgelegt in /etc/bind/dyn
$ORIGIN .
$TTL 60 ; 1 minute
home.domain.tld IN SOA ns.domain.tld. zonemaster.email.tld. (
2013090401 ; serial
15 ; refresh (15 seconds)
30 ; retry (30 seconds)
60 ; expire (1 minute)
10 ; minimum (10 seconds)
)
NS ns.domain.tld.
$ORIGIN home.domain.tld.
NS Eintrag in eigener Domain
home.domain.tld. 60 IN NS ns.domain.tld.
PHP
PHP Skript zum Update
Das verlinkte PHP-Skript verläßt sich für die Authentifizierung auf eine Authentifizierung durch den Webserver, konkret .htaccess + .htpasswd. Außerdem muss die Key Datei für den Webserver lesbar sein. Die Benutzer müssen außerdem im Skript einer Sub-Domain zugewiesen werden.
Der Aufruf sieht dann z.B. so aus:
http://webserver.tld/archive/dnsupdate.php?value=192.168.2.1&type=A&domain=ws