Eigener DynDNS mit Bind und PHP

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.

dnsupdate.php

Der Aufruf sieht dann z.B. so aus:

http://webserver.tld/archive/dnsupdate.php?value=192.168.2.1&type=A&domain=ws

links

social