Netzwerk und Internet Service im eHome

07.07.2007

Breitband-DSL - Endlich ist der Betrieb von Servern im eigenen Haus möglich. Hier wird berichtet, wie man eine Server Infrastruktur im eigenen Keller betreibt. Mithilfe des Internet-Anschlusses sind Services wie e-Mail, File-Transfer oder sogar HTTP-Web-Services möglich.

Domain Name Service / DynDNS Service

Wer einen Breitband-DSL Anschluss betreibt, muss sich in der Regel keine Gedanken um die Umwandlung von Domain Namen in die relevanten IP Adressen. Erst wenn man im LAN hinter dem Anschluss verschiedene Server betreiben will, die aus dem Internet erreichbar sein sollen, wird das Thema DNS relevant.
Weil die IP-Adresse der WAN-Seite des Routers sich täglich durch die dynamische Vergabe ändert, muss man einen dynamischen DNS Eintrag bei einem geeigneten Provider einrichten. Weiterhin benötigt man einen DynDNS CLient, der bei jeder neuen WAN-IP Adresse sofort den öffentlichen DNS Eintrag ändert. Dieser Client läuft hier einerseits auf dem Router HUNDNET1 für die Hauptdomain "hund.homeip.net". Weitere Clients laufen auf HUNDHOME für weitere dynamische Domain Namen. Somit kann das Netzwerk ständig unter dem Namen "hund.homeip.net" erreicht werden. Der Router kann nun eingehende Requests über entsprechende Portforewarding Regeln auf die relevanten Server im LAN umleiten.
Komplizierter wird es, wenn im LAN die gleichen Domain Namen ebenfalls verwendet werden sollen. Wenn im LAN ein PC den Namen "hund.homeip.net" anfragt, würde ihm die WAN-IP Adresse des eigenen Routers zurückgemeldet werden. Ein Portforewarding vom LAN über die WAN-Seite zurück ins LAN ist aber nicht möglich und der Verbindungsaufbau zum eigentlichen Zielserver würde scheitern.
Damit die Domain "hund.homeip.net" im LAN direkt zum Server führt, muss im LAN ein lokaler DNS-Server betrieben werden. Dieser DNS Server läuft auf HUNDHOME und löst die eigenen Domain Namen intern auf (grüne Pfeile in der Abbildung). Alle anderen Domain Namen werden vom lokalen DNS Server über ein DNS Forewarding extern angefragt und zurückgeliefert (rote Pfeile in der Abbildung). Damit der lokale DNS Server auch bei allen Systemen als primärer DNS eingetragen ist, wird er im DHCP-Server als bevorzugter DNS verteilt.

Das Ergebnis ist: Alle DNS Anfragen bezüglich der eigenen Domain werden immer zum richtigen Server geleitet; egal ob die Anfrage aus dem Internet erfolgt oder aus dem LAN.

DHCP Service

Während die stationären PC-Systeme mit statischen IP-Adressen konfiguriert sind, ist für weitere unkonfigurierte Netzknoten ein DHCP Server auf HUNDHOME eingerichtet auf Basis des Windows 2000 Server DHCP Servers. Dort werden aus einem kleinen Pool an reservierten LAN IP Adressen dynamische Vergaben getätigt. Die konfigurierte Lease Time ist ein Tag.
Der Router HUNDNET1 hätte zwar auch einen eigenen DHCP-Service bereitstellen können, aber dort war es nicht möglich, den eigenen internen DNS Server zu vergeben. Deshalb wurde der DHCP Service auf HUNDHOME eingerichtet.

File Service

Das Ablegen von Daten und Medien ist eine wesentliche Aufgabe der Systeme im Heimnetzwerk. Um dieser Flut an Informationen Herr zu werden, ist es ratsam ein durchdachtes Datenhaltungskonzept für alle PCs im LAN anzuwenden:

  • Systemdaten:
    Alle Windows Systeme haben eine eigene physikalische Festplatte für die Systemdaten mit dem Laufwerksbuchstaben C:. Auf dieser Partition werden KEINE User-Daten abgelegt. Lediglich die User-spezifischen Systembereiche "C:\Dokumente und Einstellungen" bleiben erhalten, werden aber nicht zur Dateiablage benutzt. Weiterhin gibt es nur noch die Verzeichnisbäume "Programme" und "Windows".
  • User Daten:
    Alle User Daten liegen auf einer eigenen Festplatte auf einer Partition D: im Ordner "user". Dort ist für jeden user ein Unterordner angelegt. User kann in dem Fall ein Mensch mit Windows User Account sein, ein Funktions-Account oder ein System Account für die PCs selbst.
  • Media Daten:
    Alle Media Daten liegen auf der zweiten Festplatte im Verzeichnis D:\Media und dort in entsprechenden Unterverzeichnissen.
    Administrative Daten:
    Systemdaten wie Software, Manuals usw. liegen auf der zweiten Festplatte im Verzeichnis D:\system.

Backup Service

Weil digitale Bilder, Dokumente und Medien inzwischen nur noch elektronisch gespeichert werden, ist ein geregeltes Datensicherungskonzept unerlässlich.
Sicherung der Systemdaten:
Von allen PCs werden im Abstand von ca. 3 Monaten Vollsicherungen der C: Laufwerke gemacht in form von Partitionsimages. Diese image Dateien werden auf dem jeweiligen PC auf das user Verzeichnis des System-Accounts auf der D: Partition des PCs geschrieben.
Sicherung der Medien, User und administrativen Daten:
Alle Daten der Partitionen D: aller PCs werden mindestens einmal täglich gesichert. Dazu hat der Server HUNDHOME eine dritte Partition G:, die als File Share freigegeben ist und von jedem PC gemounted wird. Mit der Software "SecondCopy" werden automatische alle Partitionen D: auf die Backup Partition synchronisiert. Das ist somit die erste Sicherungsinstanz.
Einmal im Monat werden alle Daten der Backup Partition zusätzlich als zweite Sicherungsinstanz auf eine externe Festplatte an HUNDHOME gesichert.

Monitoring Service

Um den Betrieb sämtlicher Services zu überwachen, läuft auf dem Server HUNDHOME die Software "ServersAlive". Diese Software kan mit einfachen Mitteln Prozesse und Schnittstellen aller im LAN befindlichen Systeme prüfen und auf ihre FUnktion hin testen. Im Fehlerfalle werden Log-Einträge vorgenommen, das HomeCenter wird informiert und ggf. werden Alarm Mails oder SMS gesendet.

Mail Service

Auch der Betrieb eines Mail Servers hinter einem DSL-Anschluss ist möglich. Man muss dabei nur ein paar Dinge beachten.

  • Verwendung eines E-Mail Clients (Abbildung Punkte 1 und 2)
    Über die Domain "hundmail.homeip.net" kann man den Mail Server als SMTP, POP3 als auch IMAP4 Server ansprechen. Aufgrund des internen DNS Servers geht das auch im LAN. Beim Versenden von Mails werden diese nicht direkt vom eigenen Server ausgeliefert, sondern über den SMTP Relay der Telekom geleitet. Das ist erforderlich, weil externe SMTP Server Mails nur noch von bekannten Servern annehmen und nicht von Servern mit dynamischen IP Adressen.
  • Verwendung des Web-Interfaces mit einem Browser (Abbildung Punkt 3)
    Man kann e-Mails auch mittels einem Web-Interface abrufen und senden. Dazu hat der Mail Server einen eigenen Web Server. Dieser ist unter der Domain "hundmail.homeip.net" vom Internet als auch vom LAN aus zu erreichen.
  • Empfangen von Mails aus einer öffentlichen 2nd Level Domain (Abbildung Punkt 4)
    Das Versenden von Mails mit einer fremden Domain in der Absenderadresse ist kein Problem weil diese Daten von SMTP Server nicht geprüft werden. Aber das Empfangen von Mails die wie hier z.B. an @hundhome.de oder @mhund.de gesendet werden ist komplizierter weil diese Mails erst mal beim Mailserver des Domain Hosters landen.
    Dort ist dazu nur ein Postfach eingerichtet, welches als Sammelpostfach konfiguriert ist. Es werden also alle Mails die an diese Domain gehen dort hingeleitet. Das Programm EFS ruft diese Mails alle regelmäßig ab und leitet sie an den lokalen Mailserver weiter - und zwar ohne sie neu einzupacken (envelope). Der lokale Mailserver ist ebenfalls als Host für diese Mails konfiguriert und leitet die Mails an die entsprechenden lokalen Postfächer weiter. Damit werden alle Mails an hundhome.de oder mhund.de in die entsprechenden lokalen Postfächer eingestellt.
  • Empfangen von Mails aus Postfächern fremder Provider (Abbildung Punkt 5)
    Zusätzlich kann es gewünscht sein externe Postfächer bei gmx, arcor oder t-online auszulesen und die Mails in das eigene Postfach weiterzuleiten. Das erledigt das Programm ERC. Die Mails werden zyklisch abgeholt und einem bestimmten Postfach weitergeleitet.
  • Empfangen und senden von Faxen (Abbildung Punkt 6)
    Mails, die an "faxnummer@fax.fax" gesendet werden, leitet der SMTP Server weiter an die Software 602 LAN Suite. Dort werden die Mails einem Fax Gateway zugeführt. Dieses Gateway wandelt den Body inkl. der druckbaren Anhänge in ein Fax um und sendet das Fax über ein entsprechendes Modem über das Telefonnetz.
    Eingehende Faxe werden in eine Mail mit TIFF-Anhängen konvertiert und über den Mail Server einem Postfach zugeleitet.

FTP Service

Damit ein FTP Zugriff auf sämtliche Daten im Heimnetzwerk möglich ist, besteht auf HUNDHOME ein FTP Server. Dieser greift auf das Backup-Laufwerk zu und ist aufgrund des lokalen DNS von extern als auch im LAN über die gleiche Domain erreichbar.

Web Service

Ein Web Server in den eigenen vier Wänden bringt einige Vorteile: Man kann Portale nach aussen veröffentlichen die keine Kosten für einen Betreiber produzieren und dennoch sehr viel Speicherplatz zur Verfügung stellen. Außerdem kann man in Password-geschützten Bereichen persönliche Daten für den eigenen Zugriff von unterwegs bereitstellen.
Hier kommt ein Web-Server zum einsatz, der unter ein und derselben Adresse und dem gleichen Port dennoch mehrere Webs publiziert. Dazu deutet der Web Server die angefragte Domain als Unterscheidungskriterium.

Wird der Web Server unter der Domain "hund.homeip.net" angesprochen, so verweißt er Password-geschützt auf den HTML-basierten Zugriff auf das zentrale Datenlaufwerk.
Wird der Web Server unter der Domain "hundweb.homeip.net" angesprochen, dann wird ein öffentliches Web angesprochen und publiziert.
Über die Domain "hundmail.homeip.net" wird lediglich ein sogenannter Redirect aufgerufen. Dabei leitet der Web Server die Anfrage um auf das Web Interface des Mail Service.

Application Service

Für die Umsetzung von dynamischen Web-Applikationen benötigt man einen sogenannten Application Server. Dieser ist nach außen ein scheinbar normaler Web Server der normale HTML-Seiten an einen Browser publiziert. Wenn diese HTML-Seiten aber nicht aus statischem HTML-Content bestehen, sondern sich aus Informationen verschiedener Anwendungen zusammensetzen, dann reicht ein Web Server nicht mehr aus. Vielmehr müssen die Daten bei jedem Zugriff neu erfasst, aufbereitet und die Darstellung neu generiert werden. Das ausgelieferte HTML wird also in Echtzeit dynamisch errechnet.
Dazu besitzt der App Server einen Script Host. Der liesst die notwendigen Daten bei Zugriff aus und erstellt den HTML-Code sofort neu. Bei hundhome.de kommen zwei App Server Instanzen zum Einsatz: Auf dem Server hundhome werden alle Applikationen für den öffentlichen geschützten Zugriff bereit gestellt. Auf hundmedia laufen Anwendungen für den internen Gebrauch.

Beide App Server haben Zugriff auf lokale Dateien aber auch auf Anwendungen wie Heim-Automation, Mail Service, Wetter-Daten und viele andere. Dabei kommt jeweils eine Girder Installation zum Einsatz. Die Server-seitige Scripting-Sprache ist LUA.
Die Home Center Applikation ist zum Beispiel vollständig auf dieser Technologiebasis umgesetzt.

Internet Access Service

Der Internet Zugang im hundhome wird über einen gewöhnlichen DSL-Zugang der Telekom hergestellt. Der DSL Router HUNDNET1 terminiert die PPPoE Verbindung und hält sie dauerhaft aufrecht. Alle Knoten im LAN verwenden den Router HUNDNET1 als Gateway. Um der Zwangstrennung durch den Provider zuvor zukommen, wird nachts zu verkehrsschwachen Zeiten die Verbindung automatisch kurz getrennt und wieder hergestellt.
Bei der Verbindung wird dem Router jeweils eine neue dynamische IP-Adresse zugewiesen. Diese wird sofort über DynDNS öffentlich gemacht so dass alle Services quasi ohne Unterbrechung wieder erreichbar sind.

Remote Desktop Service

Alle PCs sind aus dem LAN und aus dem Internet zugreifbar über die Remote Desktop Anwendung RealVNC. Dabei wird der komplette Windows Desktop übertragen. Damit auch über die Internetschnittstelle die Geräte angesprochen werden können, müssen sie folgendermassen konfiguriert sein:
In jedem PC läuft ein VNC-Server mit einem im LAN einmaligen Port. Im Router HUNDNET1 ist für jeden Rechner im LAN eine eigene Port-Forewarding Regel einstellt, die abhängig von genau diesem Port den entsprechenden PC ansteuert.
Die Standard-Ports in VNC sind 5800 (HTTP-Schnittstelle) bzw. 5900 (VNC-Viewer). Man kann also für die verschiedenen Rechner dann 5801/5901, 5802/5902, ... einstellen und ebenso am Router.
Wenn man aus dem Internet darauf zugreift, muss man im VNC Viewer die Adresse www.xxx.yyy.zzz:number eingeben. Dabei ist number durch den Wert des Ports zu ersetzen abzüglich der 5800. Um also den Rechner mit dem Port 5802 zu erreichen, gibt man im Viewer "www.xxx.yyy.zzz:2" ein.

Remote Access Service

Auf dem Server HUNDHOME läuft der Microsoft Remote Access Server als VPN Server. Dieser erlaubt einen gesicherten VPN-Zugriff aus dem Internet heraus so dass man mit entsprechender Konfiguration auf die LAN-Systeme zugreifen kann. Dazu sind in der Firewall von HUNDNET1 die relevanten Ports freigeschaltet und auf HUNDHOME weitergeleitet.

Zurück