Alle hier kennen wohl das Problem: Man hat im lokalen Netzwerk eines oder mehrere Geräte (z.B. IPS-Server, Netzwerkfestplatte / NAS, IP-Kamera etc.) auf die man gern von innen (zu Hause, im LAN bzw. WLAN) und auch von außen (über das Internet) zugreifen möchte. Das ist generell natürlich möglich und mit einem zeitgemäßen Router (Fritzbox etc.) gar keine große Schwierigkeit mehr. Da es zu diesem Thema auch schon unzählige Anleitungen gibt, sei der Vorgang hier nur kurz zusammengefasst.
Man nehme einen Router wie z.B. Fritzbox, der Dynamische-DNS-Dienste wie z.B. no-ip.com unterstützt. Bei diesem Dienst holt man sich eine dynamische Domain, z.B. meinhaus.no-ip.com. Dann richtet man diese Adresse mit den entsprechenden Zugangsdaten auf dem Router ein, gibt die entsprechenden Ports frei (z.B. 80 auf den IPS-Rechner, 20 und 21 für die NAS) und sorgt dafür dass die entsprechenden Geräte im LAN auch eine feste IP-Adresse haben, zu denen man die Ports dann durchleitet.
Wem dieser Vorgang noch nicht klar ist, der wende sich an eine der unzähligen Anleitungen zu diesem Thema. Worum es hier gehen soll sind nämlich nicht die Allgemeinplätze der Portfreigabe und dynamischen-DNS-Dienste, sondern einige Tricks mit denen man seine Freigaben wesentlich eleganter und benutzerfreundlicher gestalten kann.
Hierzu lohnt es, sich zunächst die Nachteile einer dynamischen Domain mit Portfreigabe vor Augen zu führen. Als da wären:
[ul]
[li]Der Domainname ist nicht frei wählbar. Es handelt sich bei einer dynamischen Domain nämlich nicht um eine „normale“, sog. Second-Level-Domain, wie z.B. meinhaus.de eine wäre, sondern um eine Third-Level-Domain, die zwingend auf eine nicht frei bestimmbare Second-Level-Domain des Dynamic-DNS-Dienstanbieters enden muss, z.B. no-ip.com. Das ist nicht nur hässlich, es erschwert auch das Merken des Domainnamens gerade für Laien, außerdem ist eine solche Adresse natürlich recht lang.
[/li][li]Man kann von zu Hause aus nicht immer auf die selbe Weise auf sein Gerät zugreifen wie von unterwegs. Meist, aber nicht immer, ist es prinzipiell möglich, den „externen“ Domainnamen mit dem man von außen auf Geräte zugreifen kann, auch zu Hause zu verwenden. Wenn das geht ist es schon mal bequemer als dass man zu Hause einen gesonderten Link benutzen muss. Allerdings läuft die Verbindung dann eben auch tatsächlich einmal über den Router, quasi „zum Internet und zurück“. Die Folge ist eine deutlich geringere Zugriffsgeschwindigkeit als sie im LAN prinzipiell möglich wäre, außerdem funktioniert der Zugriff bei Ausfall der Internetverbindung nicht mehr, obwohl man im selben LAN sitzt.
[/li][/ul]
Die gute Nachricht ist: Mit einigen Tricks und der richtigen „Ausstattung“ ist es keine große Schwierigkeit, beide Probleme elegant zu umgehen.
Einen eigenen, frei wählbaren Domainnamen verwenden
Manch einer ist bereits im Besitz einer eigenen Second-Level-Domain. Domains gibt es bei vielen verschiedenen Anbietern und für ca. 2 Euro im Monat ist man dabei.
Unter der eigenen Domain befindet sich möglicherweise die private Homepage mit Fotos vom Hund, oder sogar ein Link auf die Dyn-DNS-Adresse des Homeservers so dass Interessierten beispielsweise der Zugang zur Wetterstation offen steht. Mit einem entsprechenden Kennwort kommt man dann auch ins Webfront und kann auf seine Automation zugreifen.
In diesem Fall ist der „hässliche“ dynamische Domainname bereits recht wirksam unter den Teppich gekehrt, denn er versteckt sich in einem Link und ist nur beim Anklicken desselben in der Browserzeile sichtbar.
Das ist schon eine brauchbare Lösung für die meisten, aber so ganz elegant ist sie natürlich nicht. Wenn man nämlich die Adresse eingibt, bspw. meinhaus.de, dann kommt man eben nicht direkt ins Webinterface, sondern muss einmal extra klicken.
Als Abhilfe könnte man sich unterhalb der eigenen Second-Level-Domain eine Subdomain anlegen, die per HTTP-Weiterleitung auf die DynDNS-Domain verweist. Beispielsweise haus.meinehomepage.de, die dann auf meinhaus.no-ip.org weiter leitet. Ich gehe davon aus, dass viele es so machen, ich selbst habe das auch lange getan. Die meisten Webhoster erlauben eine solche Konfiguration und sie ist in vielen Fällen schon komplett ausreichend.
Aber es ist eben noch immer nicht „the real deal“ denn die HTTP-Weiterleitung nutzt rein gar nichts, um z.B. auf den FTP-Dienst zugreifen zu können. Da muss man dann doch wieder die hässliche Dyn-DNS-Adresse bemühen.
Doch ich würde diesen Beitrag natürlich nicht schreiben, wenn es nicht einen eleganteren Weg gäbe den ich gern vorstellen möchte. Das Zauberwort heißt CNAME-Eintrag und z.B. der verbreitete Webhoster 1&1 erlaubt eine solche Konfiguration. (Bei anderen Hostern dürfte es ähnlich sein, ich gehe hier mal von 1&1 aus.)
Ein CNAME-Eintrag konfiguriert eine Domain als Alias, so dass diese automatisch zum selben Host führt, wie eine andere Domain, ohne dass es sich aber um eine Weiterleitung zu dieser handelt. Die Domain mit dem CNAME-Eintrag kann ganz normal benutzt weden wie jede andere Domain auch, und es ist im Betrieb weder sichtbar noch von Bedeutung, dass im Hintergrund nach wie vor die dynamische DNS werkelt. Das ist genau was man haben will - ein frei wählbarer Domainname der direkt und ohne Weiterleitungen, Frames oder ähnliche „Workarounds“ nach Hause führt.
Man kann entweder seiner Second-Level-Domain direkt einen solchen CNAME-Eintrag verpassen, oder falls diese schon eine Funktion erfüllt wie z.B. Privathomepage, geht das auch mit einer eigens angelegten Subdomain.
Man legt also z.B. wenn einem meinehomepage.de bereits gehört, die Subdomain haus.meinehomepage.de an. Dann wählt man aus dass diese nicht zum Webspace des Hosters führen soll, sondern verpasst ihr einen DNS-Eintrag, mit der Einstellung CNAME bzw. Alias.
Als Alias wählt man dann seine ungeliebte dynamische DNS-Adresse aus und fertig ist die Laube, man muss sich fortan nicht mehr erinnern, ob es nun no-ip.org, no-ip.com oder no-ip.de war…
Auf Geräte von innen wie von außen zugreifen
Wenn man mehrere Geräte betreibt, auf die von außen aus zugegriffen werden soll, dann ist die Unterscheidung von außen nur anhand der Portnummer möglich. Haben beispielsweise zwei Geräte ein Webinterface, so muss man eines davon, zumindest von außen aus, auf einem anderen Port als dem Standard-Port 80 betreiben.
Das ist natürlich um so verwirrender, als dass man auf ein und das selbe Gerät möglicherweise von innen aus mit dem lokalen Namen, z.B. meinenas und Port 80, von außen aber unter haus.meinehomepage.de und Port 81 zugreifen muss. Solche Unterscheidungen sind nicht nur Dritten schwer begreiflich zu machen, auch für einen selbst ist es lästig, jeden Link immer doppelt im Browser abzulegen und zu pflegen.
Doch auch hier geht es besser und intuitiver. Wie möchten gern von innen und außen den selben Domainnamen benutzen um ins Interface zu kommen. Auch möchten wir z.B. nicht zwei Webfront-Konfigurationen parallel pflegen müssen, bloß weil eine bestimmte Unterseite einen Link auf eine Webcam enthält. Ich weiß dass viele es bislang so machen, aber notwendig ist das gottlob nicht. Jedenfalls nicht mit einem modernen Router wie z.B. einer Fritzbox.
Der Trick besteht darin, zunächst einmal jedem Dienst der von außen zugänglich sein muss, eine eindeutige Portnummer zuzuweisen. Dies ist nämlich die Voraussetzung, um intern wie extern über denselben Link zugreifen zu können. Die meisten Geräte erlauben eine Port-Wahl. Außerdem kommen sich viele Geräte allein aufgrund der unterschiedlichen Dienste die sie anbieten, kaum ins Gehege.
Wenn man nun jedem freizugebenden Gerät einen netzwerkweit „einzigartigen“ Port zugewiesen hat, kommt der nächste Schritt: Eindeutige Domainnamen.
Hierzu erzeugt man pro Gerät wiederum bei seinem Webhoster eine eindeutige Subdomain, ebenso wie oben unter der letzten Überschrift beschrieben. Beispielsweise haus.meinehomepage.de für den IPS-Rechner mit dem Webfront, nas.meinehomepage.de für die NAS, cam.meinehomepage.de für die Webcam etc. Alle diese Domains werden genau wie oben beschrieben mit CNAME-Eintrag angelegt, der auf die dynamische DNS-Adresse verweist.
Anschließend öffnet man das Konfigurationsmenü seines Routers, bei der Fritzbox beispielsweise den Punkt „Heimnetz“ und sorgt dafür dass die freizugebenden Geräte jeweils eine feste IP zugewiesen bekommen. Als Hostnamen trägt man nun für jedes der Geräte den vollen externen Domainnamen ein. Also wiederum für die NAS den Namen nas.meinehomepage.de usw…
Dann muss man natürlich noch die entsprechenden Portfreigaben anlegen und den entsprechenden Netzwerkgeräten zuführen.
Mit dieser Konfiguration hat man nun im lokalen Netzwerk den gleichen Link für sein Gerät wie über das Internet. Macht man z.B. im LAN per Kommandozeile ein Ping auf einen der Hostnamen, so erkennt man, dass dieser zu einer LAN-IP führt. Tut man das selbe von außen, so führt der selbe Hostname zur externen IP des Internetanschlusses.
Ich würde diese Konfiguration natürlich nicht vorschlagen, wenn ich sie nicht selbst intensiv getestet hätte. Ich nehme täglich mein Notebook mit zur Arbeit und zurück und ich hatte nie Probleme mit z.B. DNS-Caches. Sollten bei euch dennoch Probleme auftauchen wäre ich natürlich sehr interessiert, darüber zu erfahren und sie ggf. mit euch zu lösen.