Eigene Domain mit dynamischen IPs – DynDNS und CNAME

Privatkundeninternetanschlüsse bieten üblicherweise keine statischen IPs – dies erschwert den Zugriff auf im eigenen Netzwerk gehostete Dienste vom NAS bis zum Homelab. Um ohne den oft kostspieligen Wechsel in einen Geschäftskundentarif auf elegante Weise die eigenen Systeme zu erreichen, bietet sich DynDNS in Verbindung mit CNAME-Records auf einer eigenen Domain an.

DynDNS dient dazu, Änderungen der IPs eines Hosts schnell ins Domain Name System zu übernehmen. Dazu kontaktiert der Host (z.B. Router oder Server mit Reverse Proxy) einen Dienst, um seine aktuellen IPs mitzuteilen. Im Falle einer Änderung wird diese für den DNS-Namen übernommen. Die Time to Live (kurz TTL), also die Zeit, wie lange DNS-Einträge zwischengespeichert werden, ist bei diesen Diensten besonders kurz, um schnell auf die Änderung zu Reagieren und alle Aufrufe zügig zur neuen Adresse zu leiten.

Einige Router, wie z.B. die in Deutschland verbreitete FritzBox bringen bereits einen DynDNS-Dienst mit einfacher Einrichtung mit – die Adresse entspricht dann dem Format „123xyz.myfritz.net“. Doch auch Routerunabhängig lassen sich DynDNS-Namen auf dem Router oder direkt auf einem Host konfigurieren. Kostenlos und mit fertigen Konfigurationsparametern zum kopieren ist hier beispielsweise dynv6.com – wie der Name vermuten lässt auch mit IPv6-Unterstützung.

Konfiguration eines DynDNS-Namens mit dynv6
Konfiguration eines DynDNS-Namens mit dynv6
Einrichtung des DynDNS-Namens im ddclient-Plugin auf OPNsense Firewall
Einrichtung des DynDNS-Namens im ddclient-Plugin auf OPNsense Firewall

Auch wenn „opnsense-bllmnn.v6.rocks“ gut zu meinen Ansichten über IPv6 passt, möchte ich lieber den gesamten Namen frei wählen können. Dazu brauche ich eine Domain meiner Wahl. Um diese mit einer dynamischen IP zu verwenden, werden nun statt A- und AAAA-Records sogenannte CNAME-Records eingerichtet. Diese stellen einen Alias dar, welcher auf die DynDNS-Adresse verweist – der angefragte Hostname bleibt jedoch erhalten, wodurch ein Reverse Proxy unter einer IP diverse Dienste über unterschiedliche Subdomains bereitstellen kann.

Laufen alle Dienste über einen Host (Beispiel: Reverse Proxy) bereitgestellt oder soll gar nur einer freigegeben werden, wird nur ein DynDNS-Name benötigt. Sollen unterschiedliche Hosts erreichbar sein, benötigt jeder Host einen DynDNS-Namen mit seinen individuellen Adressen, unter Linux ist dies mit ddclient umsetzbar, NAS-Systeme von Synology haben ebenfalls einen DynDNS-Client integriert. Statt abweichender A- und AAAA-Records werden nun für eine Subdomain CNAME-Records auf den weiteren DynDNS-Namen eingerichtet.

Subdomains als CNAME-Records auf DynDNS-Adressen im Netcup Customercontrolpanel
Subdomains als CNAME-Records auf DynDNS-Adressen im Netcup Customercontrolpanel

Natürlich muss auf der Firewall des Routers eine Freigabe bzw. für IPv4 mit NAT Port Forwarding für die zu nutzenden Ports eingerichtet werden. Einige Internetdienstanbieter setzen aufgrund des Mangels an IPv4-Adressen NAT bereits auf Providerseite ein, an diesen Anschlüssen kann die Erreichbarkeit nur über IPv6 realisiert werden und bedarf der Konfiguration des DynDNS-Client auf dem Host selbst, da jeder Host über eine eigene Adresse verfügt.