Eigener DynDNS (DDNS) Dienst mit BIND9

Heute möchte ich euch zeigen, wie ihr euren eigenen DynDNS Dienst betreiben könnt.

1. – Subdomain anlegen

Es wäre am besten wenn ihr euch eine Subdomain für das Projekt anlegt, zum Beispiel

xyz.example.com

!!! xyz.example.com & xyz.example müssen entsprechend angepasst werden. !!!

2. – Key generieren

Wir werden den schlüssel mit dem „dnssec-keygen“ tool erstellen.

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3″]dnssec-keygen -a HMAC-MD5 -b 512 -n HOST xyz.example.com[/otw_shortcode_info_box]

3. – Key in Bind9 einfügen

Jetzt werden wir eine neue Datei mit dem Namen named.conf.keys anlegen, wo wir dann den Key einfügen werden.

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3″]
key xyz.example {
algorithm HMAC-MD5;
secret „Z9YJ8uwXXXXXXXXXXXeYUYSR4bT520WQAq6q+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+hSPIQ6h0C/zgA==“;
};
[/otw_shortcode_info_box]

Jetzt müssen wir Bind9 noch sagen wo die Datei ist, in der Datei named.conf schreiben wir folgendes.

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3″]include „/etc/bind/named.conf.keys“;[/otw_shortcode_info_box]

4. – DNS Subdomain auf dem Nameserver einrichten

In der Datei named.conf.local legen wir folgendes an.

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3″]zone „xyz.example.com“ in {
type master;
file „/var/cache/bind/xyz.example.com.zone“;
update-policy {
grant xyz.example name xyz.example.com A;
};
};[/otw_shortcode_info_box]

Jetzt richten wird die xyz.example.com.zone in /var/cache/bind/ ein

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3″]$TTL 60 ; 1 minute
xyz.example.com IN SOA xyz.example.com. hostmaster.example.com.$
2017042900 ; serial
21600 ; refresh (6 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS xyz.example.com.
A IP.des.DDNS.Servers
AAAA IPv6:des:DDNS:Servers:falls:vorhanden[/otw_shortcode_info_box]

5. – IP abruf Script

Erstellt in eurem Web Verzeichnis eine ip.php

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3]
<?php
$ip = getenv(„REMOTE_ADDR“) ;
echo $ip;
?>
[/otw_shortcode_info_box]

6. – Client Script

[otw_shortcode_info_box border_type=“bordered“ border_style=“bordered“ rounded_corners=“rounded-3″]server=xyz.example.com
zone=xyz.example.com
host=abc
secret=“Z9YJ8uwXXXXXXXXXXXeYUYSR4bT520WQAq6q+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+hSPIQ6h0C/zgA==“

ip=$(wget -q -O – http://xyz.example.com/ip.php)

cat < server $server
zone $zone.
key $host.$zone $secret
update delete $host.$zone.
update add $host.$zone. 60 A $ip
send
EOF[/otw_shortcode_info_box]

Optional könnt ihr das Script dann regelmäßig als Cronjob ausführen lassen.

 

Das war’s jetzt auch schon viel Spaß mit eurem eigenen DDNS Dienst.

Ein besonderen Dank an Martin Müller von www.thesysadmin.net für die Inspiration für dieses Tutorial.

Das könnte Sie auch interessieren …

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert