Ich habe bei Strato einen DynDNS auf einer Kauf-Domain eingerichtet. Die Weiterleitung auf meinen NextCloud-Webserver (192.168.10.78) läuft problemlos. Jetzt möchte ich aber weitere Server mit anderen Kauf-Domains und internen IP-Adressen (etwa 192.168.10.80) über diesen einen DynDNS-Zugang betreiben. Versuche mit CNAME-Einträgen und Subdomains bringen nicht das gewünschte Ergebnis. Wie kann ich das lösen?
Es gibt mehr als eine Lösung, aber leider keine einfache. Die genannten IP-Adressen gehören zum privaten Bereich, werden also im Internet nicht geroutet. Sie sind daher auch nicht direkt aus dem Internet erreichbar. Seit Jahrzehnten setzt man daher NAT (Network Address Translation) und Port-Weiterleitungen ein. Dabei landen eingehende Anfragen aus dem Internet an Ihrer öffentlichen WAN-IP-Adresse (beispielsweise 91.34.34.31). Abhängig von der Port-Nummer werden die Daten gemäß im Router hinterlegter Regeln an eine interne Adresse weitergeleitet. Bei HTTP-Verkehr ist das der Port 80, bei HTTPS-Verkehr Port 443.
Die Crux ist: Jeden Port kann man nur an ein Ziel weiterleiten. Man möchte aber möglichst die Webseiten auf allen Servern über Port 443 ansprechen, um die HTTPS-Verschlüsselung zu nutzen. Dazu gibt es mehrere nicht ganz triviale Lösungen.
Die in unseren Augen eleganteste: Sie richten alle Domains und Dienste auf einem einzigen Server ein, leiten den Port 443 auf diesen Server weiter und verzweigen in der Konfiguration des Webservers auf die jeweilige Webseite. Man richtet dabei "virtual hosts" ein und die verschiedenen Webseiten liegen dann auf einem Linux-Server im Pfad /var/www/vhosts in separaten Ordnern mit Namen wie xyz.example.de oder abc.example.com. Eine passende Anleitung für den Apache-Webserver finden Sie auf der Apache Website.
Der Webserver erkennt anhand der Anfrage, welche Webseite gemeint ist, und liefert diese aus. Das klappt beispielsweise mit Lets-Encrypt-Zertifikaten und vereinfacht die Wartung und das Backup, weil Sie sich um nur eine Maschine kümmern müssen.
Eine Alternative: Nutzen Sie IPv6. Damit fällt die Port-Weiterleitung zugunsten der Port-Freigabe weg und jeder Webserver kann (wenn Sie es wollen) eine eigene öffentlich erreichbare IPv6-Adresse bekommen (globale IPv6-Adresse). Dann richten Sie die zwei Webserver auf zwei verschiedenen Geräten ein und konfigurieren für jeden Webserver eine eigene DynDNS-Domain, die per IPv6 erreichbar ist. In der DNS-Verwaltung Ihres Domain-Hosters verweisen Sie dann auf die jeweilige DynDNS-Adresse des IPv6-Webservers. Das setzt allerdings voraus, dass die Clients IPv6-Konnektivität haben. Zudem müssen Sie sich etwas einarbeiten, um DynDNS-Clients für IPv6 zu konfigurieren.
Es gibt mehr als eine Lösung, aber leider keine einfache. Die genannten IP-Adressen gehören zum privaten Bereich, werden also im Internet nicht geroutet. Sie sind daher auch nicht direkt aus dem Internet erreichbar. Seit Jahrzehnten setzt man daher NAT (Network Address Translation) und Port-Weiterleitungen ein. Dabei landen eingehende Anfragen aus dem Internet an Ihrer öffentlichen WAN-IP-Adresse (beispielsweise 91.34.34.31). Abhängig von der Port-Nummer werden die Daten gemäß im Router hinterlegter Regeln an eine interne Adresse weitergeleitet. Bei HTTP-Verkehr ist das der Port 80, bei HTTPS-Verkehr Port 443.
Die Crux ist: Jeden Port kann man nur an ein Ziel weiterleiten. Man möchte aber möglichst die Webseiten auf allen Servern über Port 443 ansprechen, um die HTTPS-Verschlüsselung zu nutzen. Dazu gibt es mehrere nicht ganz triviale Lösungen.
Die in unseren Augen eleganteste: Sie richten alle Domains und Dienste auf einem einzigen Server ein, leiten den Port 443 auf diesen Server weiter und verzweigen in der Konfiguration des Webservers auf die jeweilige Webseite. Man richtet dabei "virtual hosts" ein und die verschiedenen Webseiten liegen dann auf einem Linux-Server im Pfad /var/www/vhosts in separaten Ordnern mit Namen wie xyz.example.de oder abc.example.com. Eine passende Anleitung für den Apache-Webserver finden Sie auf der Apache Website.
Der Webserver erkennt anhand der Anfrage, welche Webseite gemeint ist, und liefert diese aus. Das klappt beispielsweise mit Lets-Encrypt-Zertifikaten und vereinfacht die Wartung und das Backup, weil Sie sich um nur eine Maschine kümmern müssen.
Eine Alternative: Nutzen Sie IPv6. Damit fällt die Port-Weiterleitung zugunsten der Port-Freigabe weg und jeder Webserver kann (wenn Sie es wollen) eine eigene öffentlich erreichbare IPv6-Adresse bekommen (globale IPv6-Adresse). Dann richten Sie die zwei Webserver auf zwei verschiedenen Geräten ein und konfigurieren für jeden Webserver eine eigene DynDNS-Domain, die per IPv6 erreichbar ist. In der DNS-Verwaltung Ihres Domain-Hosters verweisen Sie dann auf die jeweilige DynDNS-Adresse des IPv6-Webservers. Das setzt allerdings voraus, dass die Clients IPv6-Konnektivität haben. Zudem müssen Sie sich etwas einarbeiten, um DynDNS-Clients für IPv6 zu konfigurieren.