{"id":663,"date":"2011-06-09T18:21:14","date_gmt":"2011-06-09T17:21:14","guid":{"rendered":"http:\/\/blog.bl-its.at\/?p=663"},"modified":"2018-06-19T18:35:00","modified_gmt":"2018-06-19T17:35:00","slug":"einrichten-einer-dynamischen-dns-aktualisierung-auf-dem-eigenen-dns-server","status":"publish","type":"post","link":"https:\/\/blog.bl-its.at\/?p=663","title":{"rendered":"Einrichten einer dynamischen DNS aktualisierung auf dem eigenen DNS-Server"},"content":{"rendered":"<h3>Problem:<\/h3>\n<p> In einer Au\u00dfenstelle ist ein Linux-Server der von Au\u00dfen erreichbar sein soll. Das Problem ist, dass diese Niederlassung einen &#8222;normalen&#8220; Internetanschlu\u00df, mit dynamischer IP-Adresse, hat. <\/p>\n<h3>L\u00f6sung:<\/h3>\n<p> <strong>auf dem DNS-Server:<\/strong> System: Debian Lenny Voraussetzung: BIND9 muss als DNS-Server laufen. Nicht jeder soll die IP-Adresse \u00e4ndern d\u00fcrfen, daher muss eine Authentifizierung eingerichtet werden. Die Authentifizierung soll \u00fcber einen Privaten und einen \u00f6ffentlichen Schl\u00fc\u00dfel passieren.  <a href=\"http:\/\/www.macpcguys.co.uk\/iphone-7-charging-case-rose-gold.html\">iphone 7 charging case rose gold<\/a> Zuerst m\u00fcssen wir die Schl\u00fc\u00dfel, f\u00fcr die Authentifizierung, erzeugen (<em>dies dauert je nach Hardware relativ lange<\/em>): Es gibt mehrere Verschl\u00fcsselungsvarianten hier wird RSASHA1 als Verschl\u00fcsselungsvariante verwendet. <code>cd \/var\/cache\/bind\/ dnssec-keygen -a RSASHA1 -b 1024 -k -n HOST hostname.domain.tld <\/code> <em>hostname<\/em> und <em>domain.tld<\/em> an die entsprechende Domain anpassen. Danach muss in der Zonendatei <em>\/var\/cache\/bind\/domain.tld.db<\/em> eine \u00c4nderung vorgenommen werden. <\/p>\n<pre><code>$ORIGIN . $TTL 600 domain.tld IN SOA ns.domain.tld.  <a href=\"http:\/\/www.the-guide-poker.co.uk\/gudetama-iphone-6-case.html\">gudetama iphone 6 case<\/a> 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. <span style=\"color: #ff0000;\">$INCLUDE \/etc\/bind\/Kzuhause.domain.tld+005+12345.key<\/span> www A 123.456.789.1 <\/code><\/pre>\n<p> und in der Datei <em>\/etc\/bind\/named.conf<\/em> muss folgendes f\u00fcr jede Domain ge\u00e4ndert, werden die per dynamischem DNS ge\u00e4ndert werden soll.  <a href=\"http:\/\/www.apex-cms.co.uk\/football-phone-cases-iphone-7.html\">football phone cases iphone 7<\/a> <\/p>\n<pre><code>\/\/ \/\/ 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\"; <span style=\"color: #ff0000;\"> update-policy { grant .domain.tld.  <a href=\"http:\/\/www.macpcguys.co.uk\/mobile-case-iphone-7.html\">mobile case iphone 7<\/a> name .domain.tld. A TXT; };<\/span> }; <\/code><\/pre>\n<p> Der angegebene Host darf nun die beiden Eintr\u00e4ge A und TXT \u00e4ndern. Der Server ist nun vorbereitet, jetzt kommt die Hostkonfiguration. <strong>auf dem Client-Host:<\/strong> Voraussetzungen: Installierte Packete: bind-utils, lynx Als erstes m\u00fcssen die vorher erstellen Schl\u00fc\u00dfeldateien auf den Host-Computer kopiert werden. Mit diesem Script erledigt man das Update der IP-Adresse auf dem DNS-Server automatisch. <\/p>\n<pre><code>#!\/bin\/sh # ddns.sh # Update des DNS via nsupdate # Usage: ddns.sh TTL=3600 SERVER=&lt;DNS-Server-IP&gt; 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 &gt; \/dev\/null &lt;&lt; EOF server $SERVER update delete $HOSTNAME A update add $HOSTNAME $TTL A $IP send exit <\/code><\/pre>\n<p> Die Appostroph-Zeichen &#8222;`&#8220;<span style=\"color: #ff0000;\"><strong> m<\/strong><strong>\u00fcssen nach rechts geneigt sein<\/strong><\/span> ansonsten funktioniert das Script nicht. Auf der Seite &#8222;www.bl-its.at&#8220; wir unter anderem auch die IP-Adresse des anfragenden Hosts angezeigt. Es kann nat\u00fcrlich jede beliebige Seite verwendet werden, die die \u00f6ffentliche IP-Adresse anzeigt. Anschlie\u00dfend noch einen CRON-Job anlegen und alle x-Minuten (in meinem Fall alle 30 Minuten) wird die aktuelle \u00f6ffentliche IP-Adresse im DNS-Server eingetragen. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem: In einer Au\u00dfenstelle ist ein Linux-Server der von Au\u00dfen erreichbar sein soll. Das Problem ist, dass diese Niederlassung einen &#8222;normalen&#8220; Internetanschlu\u00df, mit dynamischer IP-Adresse, hat. L\u00f6sung: auf dem DNS-Server: System: Debian Lenny Voraussetzung: BIND9 muss als DNS-Server laufen. Nicht &hellip; <a href=\"https:\/\/blog.bl-its.at\/?p=663\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,73,36,20],"tags":[194,34,198,197,196,195,284],"class_list":["post-663","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-betriebessystem","category-linux","category-server","tag-bind","tag-debian","tag-dns","tag-dynamischer-dns","tag-dyndns","tag-lenny","tag-linux"],"_links":{"self":[{"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=\/wp\/v2\/posts\/663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=663"}],"version-history":[{"count":31,"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=\/wp\/v2\/posts\/663\/revisions"}],"predecessor-version":[{"id":1003,"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=\/wp\/v2\/posts\/663\/revisions\/1003"}],"wp:attachment":[{"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bl-its.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}