Score:0

Self-hosted DDNS as part of a consumer product offering (potentially >>1000 sub-subdomains), how?

tr flag

I'm developing a product that enables users to run a service at home which is part of a larger network. This service needs to be contacted regularly by a coordination service running in the cloud (on a VPS). The mechanism implemented for this relies on a normal port-forward on the user's internet-facing router, but also needs a reliable way to be found: enter DDNS.

What I'd like to implement is a DDNS service which can be easily configured by the service running at the user's (think of the service to just have the additional functionality of a DDNS update client). (You may ask why wouldn't the service just dynamically keep the property "externalIP" updated and inform the coordination service, but for several reasons it is preferred to keep that config static and have a permanent contact alias for the service behind the user's firewall)

On the server-side I'm hoping to get away with a solution that can easily run on a VPS and provide DDNS like someuniqueid.nodes.mydomain.com (where mydomain.com is owned by me and points to the VPS).

The solution should reliably support potentially thousands of clients (unique ID's). (For reliability the coordination, DDNS and auxiliary services will probably be scaled with k8s in a HA configuration).

Any ideas about a possibly effective solution for this?

djdomi avatar
za flag
Requests for product, service, or learning material recommendations are off-topic because they attract low quality, opinionated and spam answers, and the answers become obsolete quickly. Instead, describe the business problem you are working on, the research you have done, and the steps taken so far to solve it.
Score:2
bn flag

The assumption that

this relies on a normal port-forward on the user's internet-facing router

will work reliably without “expert” intervention for the majority of your users is probably flawed.

The typical solution https://en.m.wikipedia.org/wiki/Universal_Plug_and_Play is not universally supported at all.

Unless you expect that all your users will always be on “home” networks which allow them to set up port forwarding manually when it doesn’t work automatically you should really rethink your design.

In general you see that clients make use of a central server / service (over https on the default https port) rather than peer to peer connections and then the you don’t need to assign dns names to find your users. Your users will find you (or rather your servers)

which makes your question and intended solution a path you simply shouldn’t take.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.