DynDNS


bananapache

DynDNS und Apache

Hinweis! Mittlerweile sieht die Seite von dyndns.org ein wenig anders aus, als in den Screenshots. Die Vorgehensweise bleibt jedoch gleich. Diese Anleitung wird bei Gelegenheit noch angepasst.

Vorwort

Flatrates werden immer preiswerter und die Internetzugänge immer schneller.
Warum also nicht einen eigenen Webserver betreiben?
Eigentlich benötigt man dafür eine feste IP-Adresse, aber auch mit einer dynamisch zugeteilten IP-Adresse, wie es bei den meisten Providern der Fall ist, kann man einen eigenen Webserver betreiben.
Die Lösung dafür lautet DynDNS.

Es gibt mehrere Anbieter sogenannter DynDNS Dienste, die einige ihrer Dienste kostenlos anbieten.
Als Beispiel wird in diesem Tutorial der Anbieter DynDNS.org genutzt, der bis zu 5 DynDNS Einträge kostenlos anbietet.
Eine Liste mit weiteren DynDNS Anbietern findet sich u.a. unter http://www.technopagan.org/dynamic/. In der kostenlosen Variante kann man sich einen Domainnamen in der Form subdomain.dyndns.org auswählen.
Eine echte eigene Domain geht natürlich auch, aber dies ist dann nicht mehr kostenlos, dafür bekommt man dann allerdings auch zusätzliche Leistungen geboten.
In der folgenden Beispielkonfiguration wird die kostenlose Variante eingesetzt.



DynDNS.org

Um den DynDNS Dienst nutzen zu können, müssen wir uns erstmal bei solch einem Dienst anmelden.
Bei DynDNS.org geht das unter http://www.dyndns.org/account/create.html relativ flott, es werden nur sehr wenige Daten abgefragt und nach der Aktivierung des DynDNS Accounts kann man auch schon fast loslegen.

Fast, denn erst müssen wir natürlich noch den oder die benötigten Hosts bei DynDNS.org eintragen.
Dazu loggen wir uns mit unserem frisch erstellten Account bei DynDNS.org ein.
Jetzt klicken wir auf Account.
Hier können wir diverse Einstellungen des Accounts ändern und unsere gewünschten Hosts eintragen.

Account Settings

Uns interessiert hier erstmal nur der Link Dynamic DNS (Add Host)

Add Host

Ein Klick auf Add Host bringt uns zu der Eingabemaske, wo wir unsere(n) gewünschten Host(s) eintragen können.

New Dynamic DNS Host

Es sind nur wenige Einträge notwendig.

Unter Hostname: wird der gewünschte Subdomainname eingetragen. Über das daneben liegende Auswahlfeld kann aus einer Liste von verfügbaren Domainnamen ausgewählt werden.
Wenn die gewünschte Namenskombination schon vergeben sein sollte, muss man sich halt einen anderen ausdenken.
An der angezeigten IP Adresse ändern wir nichts, das ist die IP Adresse, die wir genau in diesem Moment von unserem Provider zugewiesen bekommen haben.

New Dynamic DNS Host

Über Add Host speichern wir nun unsere Angaben.
Auf diese Art können wir bis zu 5 Host Namen anlegen.


DynDNS Client

Da sich ja unsere Ip Adresse bei jeder Einwahl bei unserem Provider ändert, muss dem DynDNS Dienst diese neue IP Adresse mitgeteilt werden, wenn unser Webserver ereichbar sein soll.
Man kann diese IP Adresse natürlich jedesmal von Hand über die Account Settings erledigen, was aber erstens viel zu umständlich und zweitens wenig praktikabel ist.
Zum Glück gibt es für sowas sogenannte DynDNS Client Software, die das automatisch erledigen kann.

Unter http://www.dyndns.org/services/dyndns/clients.html findet sich eine Auswahl von DynDNS Clients, einige davon sind kostenlos.
Als Beispiel für alle anderen wird hier nur der DynDNS Updater von Kana Solution vorgestellt.
Dieser ist kostenlos und relativ einfach zu konfigurieren.

Nach dem Runterladen der Software, wird diese ganz normal wie jedes andere Windows Programm auch über einen Installer installiert.
Während der Installation gibt es nicht viel zu beachten, man kann hier ruhig den Installer-Vorgaben folgen.

Nach der Installation und dem Start des DynDNS Updaters erscheint im Tray unserer Taskleiste ein neues Symbol in Form eines Häkchens.
Ein rechter Mausklick auf dieses Symbol bringt ein Menü zum Vorschein. Aus diesem Menü wählen wir Settings aus.
Im folgenden Dialog können wir unsere Hosts von DynDNS.org eintragen und einige nötige Einstellungen vornehmen.

Accounts
Wir klicken auf den Button Add um unseren Host hinzuzufügen




















Add New Account
In diesem Fenster geben wir die Daten unseres DynDNS.org Accounts ein.
Unter Name: den kompletten Namen von unserem DynDNS Host, z.B. subdomain.dyndns.org.
Bei Type: wählen wir Dynamic aus.
Unter User ID: wird der Username eingetragen, den wir bei der Anmeldung bei DynDNS.org angegeben haben.
Als Password: kommt ebenfalls unser DynDNS.org Account Passwort zum Einsatz.

Ein Klick auf den Add Button übernimmt unsere Eingaben und mit einem Klick auf OK schliessen wir dieses Fenster





Connections
Zurück bei den Settings wählen wir den Kartenreiter Connections aus.
Hier kann die Vorgabeeinstellung soweit übernommen werden.


















IP Address
In den Einstellungen unter dem Kartenreiter IP Address wählen wir Detect IP address automatically aus.
Unter Detected IP address(es) werden uns alle IP Adressen angezeigt, die auf diesem Rechner konfiguriert sind.
In dem Bild sind u.a. mehrere Lokale Adressen zu erkennen. Wenn dort mehrere Adressen zu sehen sind, werden alle zum lokalen Netzwerk gehörenden Adressen über dern Button Add to local einer Ausschlussliste zugefügt, damit nicht eine von diesen versehentlich an den DynDNS Dienst übermittelt werden kann.








Soweit ist fast alles konfiguriert, nur noch ein paar Kleinigkeiten trennen uns vom Ziel.

Wir klicken das Traysymbol nocheinmal mit der rechten Maustaste an. Im aufklappenden Menü wählen wir Show main window aus.


Info
Das Fenster Info zeigt uns ein paar aktuelle Infos, wie z.B. die aktuelle IP Adresse.
Über der Button Update kann die aktuell zugewiesene IP Adresse an den DynDNS Dienst manuell ü,bertragen werden, falls Current IP: und Updated IP: nicht übereinstimmen sollten.
















Options
Der Update Vorgang soll aber automatisiert werden, deshalb wählen wir den Kartentreiter Options aus.
Hier machen wir ein Häkchen bei Enable automatic update.
Checking interval: kann auf der Vorgabe von 5 Minuten stehen bleiben.
Force update within: kann man eventuell auf 1 Tag setzen, da DSL Provider wie T-Online alle 24 Stunden eine Zwangstrennung durchführen.
Notwendig ist dies aber nicht unbedingt, da nach erneuter, eventuell automatischer Einwahl, die dann aktuelle Adresse in den meisten Fällen sowieso automatisch vom DynDNS Updater an DynDNS.org übermittelt wird.
Mit einem Klick auf OK werden alle Einstellungen übernommen und der Dialog geschlossen.





Was jetzt noch fehlt, sind die Änderungen in der Apache httpd.conf, damit dieser auch über den DynDNS Dienst erreichbar ist.



Apache Konfiguration

In der Apache Konfigurationsdatei muss eigentlich nicht allzuviel geändert werden.
Apache 1.3.x
In der httpd.conf nach dieser Zeile suchen: #BindAddress *
und die # vor der Zeile entfernen:
BindAddress *
Eine IP Adresse sollte dort nicht stehen.
Nun die Zeile mit der Listen Direktive suchen und durch folgendes ersetzen:
Listen 80
Apache 2
In der httpd.conf des Apache 2 gibt es die BindAddress Direktive nicht mehr.
Hier reicht es, die Listen Direktive zu ersetzen:
Listen 80

Eigentlich ist hiermit der Zugriff auf den Webserver über den DynDNS Dienst schon konfiguriert.
Wir wollen aber mehr, schliesslich möchten wir ja auch ein paar Namensbasierte Virtuelle Hosts verwenden, oder nicht? ;-)


DynDNS und virtuelle Hosts

Für die Verwendung von Virtuellen Hosts mit dem DynDNS Dienst, müssen diese entsprechend konfiguriert werden.
In der httpd.conf nach dieser Zeile suchen:
#NameVirtualHost *
und wieder die Raute vor der Zeile entfernen:
NameVirtualHost *
Eine IP Adresse wird auch hier nicht eingetragen, stattdessen bleibt das * als Wildcard stehen.

Jetzt fehlen noch die Virtuellen Hosts.
Zum Test habe ich zwei virtuelle Hosts angelegt, entsprechend den zwei DynDNS Adressen die ich bei DynDNS.org angelegt habe:
<VirtualHost *>
DocumentRoot F:/Apache/Apache2/htdocs/is-a-geek.org/
ServerName bananajoe.is-a-geek.org
ErrorLog logs/bananajoe.is-a-geek.org-error_log
CustomLog logs/bananajoe.is-a-geek.org-access_log combined
</VirtualHost>

<VirtualHost *>
DocumentRoot F:/Apache/Apache2/htdocs/gotdns.org/
ServerName bananajoe.gotdns.org
ErrorLog logs/bananajoe.gotdns.org-error_log
CustomLog logs/bananajoe.gotdns.org-access_log combined
</VirtualHost>
Im Unterschied zur Beschreibung unter http://www.bananajoe.de/virtual_apache.html wird hier in der VirtualHost Direktive kein Domainname und auch keine IP Adresse angegeben, sondern nur das * als Wildcard.
<VirtualHost *>
Das hat den Grund, dass wir ja bei jeder Einwahl eine neue IP Adresse dynamisch zugeteilt bekommen.
Mit dem * wird dem Apache grob gesagt mitgeteilt, dass er auf alle IP Adressen horchen soll.
In der hosts Datei muss dazu auch nichts mehr eingetragen werden, denn die Namenszuweisung übernimmt in diesem Fall der DynDNS Dienst.
Nach einem Neustart des Apache steht dem Einsatz nichts mehr im Wege.


DynDNS und virtuelle Hosts hinter einem Router

Wenn wir ein internes Netzwerk betreiben, dass über einen Router an den Provider angebunden ist, kann möglicherweise aus dem internen Netzwerk nicht mit den DynDNS Adressen auf den Webserver zugegriffen werden.
Um das zu ermöglichen muss man wieder zur hosts Datei greifen, wie das geht, steht u.a. hier.
Der Router selber muss natürlich auch entsprechend konfiguriert werden, damit Anfragen die über das Internet an den Webserver kommen, auch in das interne Netzwerk weitergeleitet werden.
Wie das geht, sollte der Anleitung des Routers, oder den Supportseiten des Herstellers zu entnehmen sein.