Selbstgehostetes DDNS als Teil eines Verbraucherproduktangebots (potenziell >>1000 Sub-Subdomains), wie?

Selbstgehostetes DDNS als Teil eines Verbraucherproduktangebots (potenziell >>1000 Sub-Subdomains), wie?

Ich entwickle ein Produkt, mit dem Benutzer zu Hause einen Dienst ausführen können, der Teil eines größeren Netzwerks ist. Dieser Dienst muss regelmäßig von einem Koordinierungsdienst kontaktiert werden, der in der Cloud (auf einem VPS) ausgeführt wird. Der hierfür implementierte Mechanismus basiert auf einer normalen Portweiterleitung auf dem internetfähigen Router des Benutzers, benötigt aber auch eine zuverlässige Möglichkeit, gefunden zu werden: Geben Sie DDNS ein.

Ich möchte einen DDNS-Dienst implementieren, der einfach von dem beim Benutzer ausgeführten Dienst konfiguriert werden kann (stellen Sie sich vor, der Dienst hätte lediglich die zusätzliche Funktionalität eines DDNS-Update-Clients). (Sie fragen sich vielleicht, warum der Dienst die Eigenschaft „externalIP“ nicht einfach dynamisch aktualisiert und den Koordinationsdienst informiert, aber aus mehreren Gründen ist es vorzuziehen, diese Konfiguration statisch zu halten und einen permanenten Kontaktalias für den Dienst hinter der Firewall des Benutzers zu haben.)

Auf der Serverseite hoffe ich, mit einer Lösung davonzukommen, die problemlos auf einem VPS ausgeführt werden kann und DDNS bereitstellt, wie someuniqueid.nodes.mydomain.com(das mydomain.commir gehört und auf den VPS verweist).

Die Lösung sollte potenziell Tausende von Clients (eindeutige IDs) zuverlässig unterstützen. (Aus Gründen der Zuverlässigkeit werden die Koordination, DDNS und Zusatzdienste wahrscheinlich mit k8s in einer HA-Konfiguration skaliert).

Irgendwelche Ideen für eine möglicherweise wirksame Lösung hierfür?

Antwort1

Die Annahme, dass

Dies beruht auf einernormalPortweiterleitung auf dem internetseitigen Router des Benutzers

für die Mehrheit Ihrer Benutzer ohne die Einschaltung eines „Experten“ zuverlässig funktioniert, ist wahrscheinlich fehlerhaft.

Die typische Lösunghttps://en.m.wikipedia.org/wiki/Universal_Plug_and_Playwird überhaupt nicht universell unterstützt.

Sofern Sie nicht erwarten, dass alle Ihre BenutzerstetsWenn Sie sich in „Heimnetzwerken“ befinden, in denen Sie die Portweiterleitung manuell einrichten können und diese nicht automatisch funktioniert, sollten Sie Ihr Design wirklich überdenken.

Im Allgemeinen sehen Sie, dass Clients einen zentralen Server/Dienst (über https auf dem Standard-https-Port) anstelle von Peer-to-Peer-Verbindungen verwenden und Sie dann keine DNS-Namen zuweisen müssen, um Ihre Benutzer zu finden. Ihre Benutzer werden Sie (oder vielmehr Ihre Server) finden.

was Ihre Frage und die beabsichtigte Lösung zu einem Weg macht, den Sie einfach nicht einschlagen sollten.

verwandte Informationen