- Mitglied seit
- 17. Dez 2013
- Beiträge
- 597
- Punkte für Reaktionen
- 0
- Punkte
- 42
Hallo,
ich hatte mir mal vor einigen Jahren mehr mit Unwissen als Wissen über BIND und PHP einen eigenen DDNS Dienst gebaut. Dank fester IP sollte er ein paar spezielle DDNS Einträge setzen. Das funktionierte via DSM6 sehr gut. Hier der php Code.
<?php
# update delete $hostSRV1.$zone A
# update add $hostSRV1.$zone 3600 A $ip
# CONFIGURATION BEGINS -------------------------------------------------------
# define host and passwords here
$hosts = array(
'client' => 'secret',
'host2' => 'secret2',
);
$zone = "meinezone.org"; # the dynamic DNS zone
$dnsserver = "10.0.30.6"; # authorative DNS server for the zone above
# CONFIGURATION ENDS ---------------------------------------------------------
$ip = $_SERVER['REMOTE_ADDR'];
$host = $_GET['host'];
$pass = $_GET['pass'];
$hostSRV1 = "pass." . $host;
echo ($hostSRV1 . "." . $zone . " = " . $ip . ' <br />');
$tmpfile = trim(`mktemp /tmp/nsupdate.XXXXXX`);
$nsucmd = "server $dnsserver
key rndc-key $pass
zone $zone
update delete $host.$zone A
update delete $hostSRV1.$zone A
update add $host.$zone 3600 A $ip
update add $hostSRV1.$zone 3600 A $ip
send
";
$fp = fopen($tmpfile, 'w');
echo ($fp);
fwrite($fp, $nsucmd);
fclose($fp);
`/volume1/@appstore/DNSServer/bin/nsupdate $tmpfile`;
unlink($tmpfile);
echo ("OK");
?>
Im DSM unter Externer Zugriff und DDNS Anbieter anpassen habe ich dann diese URL eingetragen:
http://meinezone.org/update.php?host=__HOSTNAME__&pass=__PASSWORD__
Im DSM unter Externer Zugriff habe diesen Anbieter dann ausgewählt und hostname den Subdomain-Name meiner "meinezone.org" angelegt und unter Passwort den Wert des rndc-key.
Und das ist nun ein Problem seit DSM7. Nach jede Reboot wird der rndc-key neu generiert und die bei den DDNS nutzenden Maschinen ist der alte Key hinterlegt. Wie kann ich dem DNS Server beibringen nur einen bestimmten neuen Key zu nutzen?
ich hatte mir mal vor einigen Jahren mehr mit Unwissen als Wissen über BIND und PHP einen eigenen DDNS Dienst gebaut. Dank fester IP sollte er ein paar spezielle DDNS Einträge setzen. Das funktionierte via DSM6 sehr gut. Hier der php Code.
<?php
# update delete $hostSRV1.$zone A
# update add $hostSRV1.$zone 3600 A $ip
# CONFIGURATION BEGINS -------------------------------------------------------
# define host and passwords here
$hosts = array(
'client' => 'secret',
'host2' => 'secret2',
);
$zone = "meinezone.org"; # the dynamic DNS zone
$dnsserver = "10.0.30.6"; # authorative DNS server for the zone above
# CONFIGURATION ENDS ---------------------------------------------------------
$ip = $_SERVER['REMOTE_ADDR'];
$host = $_GET['host'];
$pass = $_GET['pass'];
$hostSRV1 = "pass." . $host;
echo ($hostSRV1 . "." . $zone . " = " . $ip . ' <br />');
$tmpfile = trim(`mktemp /tmp/nsupdate.XXXXXX`);
$nsucmd = "server $dnsserver
key rndc-key $pass
zone $zone
update delete $host.$zone A
update delete $hostSRV1.$zone A
update add $host.$zone 3600 A $ip
update add $hostSRV1.$zone 3600 A $ip
send
";
$fp = fopen($tmpfile, 'w');
echo ($fp);
fwrite($fp, $nsucmd);
fclose($fp);
`/volume1/@appstore/DNSServer/bin/nsupdate $tmpfile`;
unlink($tmpfile);
echo ("OK");
?>
Im DSM unter Externer Zugriff und DDNS Anbieter anpassen habe ich dann diese URL eingetragen:
http://meinezone.org/update.php?host=__HOSTNAME__&pass=__PASSWORD__
Im DSM unter Externer Zugriff habe diesen Anbieter dann ausgewählt und hostname den Subdomain-Name meiner "meinezone.org" angelegt und unter Passwort den Wert des rndc-key.
Und das ist nun ein Problem seit DSM7. Nach jede Reboot wird der rndc-key neu generiert und die bei den DDNS nutzenden Maschinen ist der alte Key hinterlegt. Wie kann ich dem DNS Server beibringen nur einen bestimmten neuen Key zu nutzen?