Dynamisches DNS (DDNS): Unterschied zwischen den Versionen
Geli (Diskussion | Beiträge) |
Geli (Diskussion | Beiträge) |
||
Zeile 16: | Zeile 16: | ||
IPADDR="$(wget -qO- eth0.me)" | IPADDR="$(wget -qO- eth0.me)" | ||
IPADDR="$(wget -qO- ident.me)" | IPADDR="$(wget -qO- ident.me)" | ||
IPADDR="$(wget -qO- | IPADDR="$(wget -qO- icanhazip.com)" | ||
LASTIP=`nslookup mydomain.dtdns.net | grep -A1 mydomain | grep Address | awk '{ print $2 }'` | LASTIP=`nslookup mydomain.dtdns.net | grep -A1 mydomain | grep Address | awk '{ print $2 }'` | ||
Die Dienste eth0.me, ident.me und | Die Dienste eth0.me, ident.me und icanhazip.com können so auch in der Adresszeile eines Browsers eingegeben werden. |
Version vom 25. Juli 2017, 17:56 Uhr
Für Zugriffe aus dem externen Internet wird, sofern man über keine statische IP-Adresse verfügt, DDNS verwendet. Für diesen Dienst gibt es verschiedene Anbieter. Ein relativ bekannter Provider ist DtDNS.com (https://dtdns.com), der als zuverlässig gilt und zudem kostenlos ist.
Für die Übertragung der jeweils aktuellen (externen) IP-Adresse kann zwar das Modem entsprechend konfiguriert werden, die Übermittlung funktioniert aber erfahrungsgemäß nicht ausreichend zuverlässig. Man muss diese Aufgabe aber nicht dem Modem überlassen, sondern kann sie auch auf den Server, der von extern angesprochen wird, verlagern.
Dazu verwendet man am einfachsten ein Bash-Skript, welches man periodisch über einen cronjob startet.
Spezifikationen
Die Spezifikationen für Update Clients findet man hier: https://www.dtdns.com/dtsite/updatespec
Beispiele für Clients findet man hier https://www.dtdns.com/dtsite/updateclients
Diese sind aber nicht unmittelbar ohne Modifikationen verwendbar.
Bash Skript
Zuerst wird die eigene IP-Adresse ermittelt - unter Inanspruchnahme externer Dienste. Danach wird die IP-Adresse festgestellt, die der eigenen Domain zugeordnet ist. Falls nslookup nicht installiert ist, muss dnsutils installiert werden.
sudo apt-get update sudo apt-get install dnsutils
Damit können wir mit unserem Skript beginnen (die Befehle können auch in der Shell eingegeben werden).
#!/bin/bash IPADDR="$(wget -qO- eth0.me)" IPADDR="$(wget -qO- ident.me)" IPADDR="$(wget -qO- icanhazip.com)" LASTIP=`nslookup mydomain.dtdns.net | grep -A1 mydomain | grep Address | awk '{ print $2 }'`
Die Dienste eth0.me, ident.me und icanhazip.com können so auch in der Adresszeile eines Browsers eingegeben werden.