Einrichten einer dynamischen DNS aktualisierung auf dem eigenen DNS-Server

Problem:

In einer Außenstelle ist ein Linux-Server der von Außen erreichbar sein soll. Das Problem ist, dass diese Niederlassung einen „normalen“ Internetanschluß, mit dynamischer IP-Adresse, hat.

Lösung:

auf dem DNS-Server: System: Debian Lenny Voraussetzung: BIND9 muss als DNS-Server laufen. Nicht jeder soll die IP-Adresse ändern dürfen, daher muss eine Authentifizierung eingerichtet werden. Die Authentifizierung soll über einen Privaten und einen öffentlichen Schlüßel passieren. iphone 7 charging case rose gold Zuerst müssen wir die Schlüßel, für die Authentifizierung, erzeugen (dies dauert je nach Hardware relativ lange): Es gibt mehrere Verschlüsselungsvarianten hier wird RSASHA1 als Verschlüsselungsvariante verwendet. cd /var/cache/bind/ dnssec-keygen -a RSASHA1 -b 1024 -k -n HOST hostname.domain.tld hostname und domain.tld an die entsprechende Domain anpassen. Danach muss in der Zonendatei /var/cache/bind/domain.tld.db eine Änderung vorgenommen werden.

$ORIGIN . $TTL 600 domain.tld IN SOA ns.domain.tld.  gudetama iphone 6 case hostmaster.domain.tld. ( 200804111 ; serial 28800 ; refresh (8 hours) 7200 ; retry (2 hours) 2419200 ; expire (4 weeks) 86400 ; minimum (1 day) ) NS ns.domain.tld. NS ns.andere-domain.tld. MX 10 mail1.domain.tld. MX 20 mail2.domain.tld. $ORIGIN domain.tld. $INCLUDE /etc/bind/Kzuhause.domain.tld+005+12345.key www A 123.456.789.1 

und in der Datei /etc/bind/named.conf muss folgendes für jede Domain geändert, werden die per dynamischem DNS geändert werden soll. football phone cases iphone 7

// // Do any local configuration here // // vi: ts=4 sw=4 // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "domain.tld" { type master; notify no; file "/etc/bind/db.domain.tld";  update-policy { grant .domain.tld.  mobile case iphone 7 name .domain.tld. A TXT; }; }; 

Der angegebene Host darf nun die beiden Einträge A und TXT ändern. Der Server ist nun vorbereitet, jetzt kommt die Hostkonfiguration. auf dem Client-Host: Voraussetzungen: Installierte Packete: bind-utils, lynx Als erstes müssen die vorher erstellen Schlüßeldateien auf den Host-Computer kopiert werden. Mit diesem Script erledigt man das Update der IP-Adresse auf dem DNS-Server automatisch.

#!/bin/sh # ddns.sh # Update des DNS via nsupdate # Usage: ddns.sh TTL=3600 SERVER=<DNS-Server-IP> HOSTNAME=.domain.tld KEYFILE=K.domain.tld.+005+12345.key IP=`lynx -dump www.bl-its.at | grep "Ihre IP Adresse" -A 1 | tail -n 1` nsupdate -v -k $KEYFILE > /dev/null << EOF server $SERVER update delete $HOSTNAME A update add $HOSTNAME $TTL A $IP send exit 

Die Appostroph-Zeichen „`“ müssen nach rechts geneigt sein ansonsten funktioniert das Script nicht. Auf der Seite „www.bl-its.at“ wir unter anderem auch die IP-Adresse des anfragenden Hosts angezeigt. Es kann natürlich jede beliebige Seite verwendet werden, die die öffentliche IP-Adresse anzeigt. Anschließend noch einen CRON-Job anlegen und alle x-Minuten (in meinem Fall alle 30 Minuten) wird die aktuelle öffentliche IP-Adresse im DNS-Server eingetragen.

Schreibe einen Kommentar

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

*