Benutzer-Werkzeuge

Webseiten-Werkzeuge


dyndns

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dyndns [13.11.2016 08:52] – [Dyndns selber aufsetzen] thoogedyndns [06.08.2017 09:46] (aktuell) thooge
Zeile 4: Zeile 4:
   * Diese Anleitung ist noch nicht vollständig!   * Diese Anleitung ist noch nicht vollständig!
   * IPv6 fehlt noch   * IPv6 fehlt noch
 +  * Weitere Details zum DNS gibt es auch im [[https://wiki.pinneberg.freifunk.net/dns|Wiki von Freifunk Pinneberg]]
  
 Es wird ein Server im Internet mit einem laufenden Nameserver "bind" benötigt. Es wird ein Server im Internet mit einem laufenden Nameserver "bind" benötigt.
 Zusätzlich ist ein laufender Webserver erforderlich, der für die Adreßermittlung Zusätzlich ist ein laufender Webserver erforderlich, der für die Adreßermittlung
-zuständig ist.+zuständig ist, sowie eine Domäne, für die eine Subdomäne mit NS-Records 
 +angelegt werden kann.
  
 ===== Server ===== ===== Server =====
Zeile 14: Zeile 16:
 werden, z.B. ''dyn.example.com'': werden, z.B. ''dyn.example.com'':
  
 +In der übergeordneten Zone
 +<file conf /etc/bind/example.com.zone>
 +[...]
 +dyn NS ns1.example.com.
 + NS ns2.example.com.
 +</file>
 +
 +Zonendatei für die Subdomain
 <file conf /etc/bind/dyn.example.com.zone> <file conf /etc/bind/dyn.example.com.zone>
 $ORIGIN dyn.example.com. $ORIGIN dyn.example.com.
 $TTL 90 ; seconds $TTL 90 ; seconds
-       IN      SOA     ns1.rowa-group.com. hostmaster.example.com. (+@ IN SOA ns1.example.com. hostmaster.example.com. (
                         2015122401      ; serial                         2015122401      ; serial
-                        3600            ; refresh +                        1h              ; refresh 
-                        1800            ; retry +                        20m             ; retry 
-                        4W              ; expire +                        4d              ; expire 
-                        1800            minimum cache TTL+                        15m             nxdomain ttl
                         )                         )
 + NS ns1.example.com.
 + NS ns2.example.com.
 + TXT "Dynamic Domain Example/Pinneberg, Germany"
 </file> </file>
  
Zeile 31: Zeile 44:
 </code> </code>
  
-Bekanntmachen der neuen Zone für den Nameserver in ''named.conf.local'':+Bekanntmachen der neuen Zone für den Nameserver in ''named.conf.local'' und 
 +Updates für die A- und AAAA-Records in der Subdomain ''dyn'' zulassen:
 <file conf named.conf.local> <file conf named.conf.local>
 // DynDNS in spezieller Subdomain bereitstellen // DynDNS in spezieller Subdomain bereitstellen
Zeile 39: Zeile 53:
     notify no;     notify no;
     update-policy {     update-policy {
-        grant ddns-key.example.com subdomain dyn.example.com. A;+        grant ddns-key.example.com subdomain dyn.example.com. A AAAA;
     };     };
 }; };
 </file> </file>
  
-Schlüssel anlegen+Schlüssel anlegen, daß die ''dyn''-Subdomain hier nicht enthalten ist, soll wirklich so sein!
 <code> <code>
   ddns-confgen -z example.com   ddns-confgen -z example.com
Zeile 54: Zeile 68:
   chmod 640 dyndns.keys   chmod 640 dyndns.keys
  
-Die Datei mut den Schlüsseldefinitionen muß vom Nameserver gelesen werden, dazu+Die Datei mit den Schlüsseldefinitionen muß vom Nameserver gelesen werden, dazu
 muß in der Datei ''named.conf'' folgende Anweisung enthalten sein: muß in der Datei ''named.conf'' folgende Anweisung enthalten sein:
   include "/etc/bind/dyndns.keys";   include "/etc/bind/dyndns.keys";
Zeile 62: Zeile 76:
 [[http://www.example.com/myip.php]] ein entsprechendes Programm  [[http://www.example.com/myip.php]] ein entsprechendes Programm 
 abgelegt. Die Funktion ist ''checkip.dyndns.org'' nachempfunden. abgelegt. Die Funktion ist ''checkip.dyndns.org'' nachempfunden.
-<code php>+<file php /var/www/myip.php>
 <html><head><title>Current IP Check</title></head><body><?php <html><head><title>Current IP Check</title></head><body><?php
 echo "Current IP Address: ", $_SERVER['REMOTE_ADDR']; echo "Current IP Address: ", $_SERVER['REMOTE_ADDR'];
 ?></body></html> ?></body></html>
-</code>+</file> 
 + 
 +==== Protokollierung ==== 
 + 
 +Zur Verbesserung der Übersicht können die Änderungsanforderungen in eine  
 +spezielle Logdatei geschrieben werden: ''var/log/named/update.log''
 + 
 +<file conf /etc/bind/named.conf.local> 
 +logging { 
 +[...] 
 +        channel update_file { 
 +                file "/var/log/named/update.log" versions 3 size 30m; 
 +                severity info; 
 +                print-time yes; 
 +        }; 
 +[...] 
 +        category update { 
 +                update_file;  
 +        }; 
 +        category update-security { 
 +                update_file;    
 +        }; 
 +[...] 
 +
 +</file> 
  
 ===== Client ===== ===== Client =====
  
-  * ''curl'' benötigt+Der Client besteht lediglich aus einem Bash-Script, welches aufgrund Informationen 
 +aus verschiedenen Quellen zusammengestellt wurde. 
 +Die Funktionsweise ist ähnlich dem Programm ''ddclient'', es wird eine Cache-Datei 
 +mit (hoffentlich) kompatiblem Aufbau verwendet.
  
-  Programm: ''/usr/local/bin/ddns-update'' +Voraussetzungen 
-  * Konfiguration: ''/etc/dyndns/ddns.key'' -> Ausgabe von ''ddns-confgen -z'' +  * ''curl''  
-  * ''chmod 600 /etc/dyndns/ddns.key'' +  * ''nsupdate''  aus dem paket ''dnsutils'' 
-  * ''/etc/dyndns/ddns.conf''+  * Programm: ''/usr/local/bin/ddns-update'' (Bash-Script)
  
-<file conf /etc/dyndns/ddns.conf>+Die Konfiguration erfolgt über das Verzeichnis ''/etc/dyndns'' 
 +  * Konfiguration: ''/etc/dyndns/ddns.key'' -> Ausgabe von ''ddns-confgen -z'', wie auf dem Server ausgeführt 
 +  * ''chmod 600 /etc/dyndns/ddns.key'' 
 +  * Hauptkonfigurationsdatei:<file conf /etc/dyndns/ddns.conf>
 # #
 # Configuration for ddns-update script # Configuration for ddns-update script
Zeile 86: Zeile 131:
 TIMEOUT=90 TIMEOUT=90
 MAXAGE=86400 MAXAGE=86400
-MYIPURL=www.example.com/myip.php+IPV4=1 
 +IPV6=0 
 +MYIPURL=https://www.example.com/myip.php
 CACHEFILE=/var/cache/ddclient/ddclient.cache CACHEFILE=/var/cache/ddclient/ddclient.cache
 +</file>
 +  * Die Aktualisierung sollte regelmäßig, aber nicht zu oft stattfinden, wir realisieren das über einen  Cronjob:<file conf /etc/cron.d/dyndns>
 +# /etc/cron.d/ddns: crontab fragment for ddns-update
 +
 +# Renew dynamic IP address every 15 minutes
 +05,20,35,50 *     * * *     root   /usr/local/bin/ddns-update > /dev/null 2>&1
 </file> </file>
  
dyndns.1479023530.txt.gz · Zuletzt geändert: 13.11.2016 08:52 von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki