Dynamic DNS explained
A name that keeps pointing at your house even though the address underneath it keeps moving.
The problem it solves
You want to reach something at home from outside: a camera, a file server, a game server. You need an address to connect to, and yours is dynamic, so it will change eventually and everything pointing at it will break at a moment you did not choose.
Dynamic DNS fixes that with a layer of indirection. You get a hostname, something like home.example.net, and a small piece of software keeps that name pointing at whatever your address currently is.
Setting it up
- Check your router first. Most consumer routers have dynamic DNS built in, often under Advanced or WAN settings, with a list of supported providers. If yours does, this is the least fragile option, because the router always knows the current address first-hand.
- Pick a provider. Several offer a free tier, usually with a subdomain of theirs and a requirement to confirm the account periodically. Paid tiers let you use your own domain.
- Enter the credentials in the router, or install the provider's small client on a machine that is always on if the router does not support it.
- Test from outside. Mobile data with Wi-Fi off, or ask someone else. Testing from inside your own network often fails for an unrelated reason, covered below.
Dynamic DNS gets a connection to your router. Getting it to a specific device inside still requires port forwarding, with all the caution that involves. The name solves "which address", not "which machine".
When it does not work
You are behind carrier-grade NAT
The big one, and worth checking before you set any of this up. If your router's WAN address is in 100.64 through 100.127, there is no inbound path to your house at all, and a hostname pointing at a shared provider gateway achieves nothing. See what carrier-grade NAT is for the four ways around it.
You are testing from inside
Many routers cannot loop a connection to their own public address back inside, a behavior called NAT hairpinning. Your setup can be perfect and still appear broken when tested from the sofa.
The update did not happen
If the address changed and the record did not follow, the client is not running, its credentials expired, or a free account lapsed for want of a confirmation click. Most providers show the last update time, which is the first thing to look at.
Something is caching the old answer
DNS records carry a time to live, and resolvers respect it. A short TTL is normal for dynamic DNS, but there can still be a gap between the address changing and everyone seeing the new one.
The alternative worth considering first
Dynamic DNS plus port forwarding is the traditional answer, and it means opening a permanent, unauthenticated path from the internet to a device in your house. For a lot of people the goal is simply "reach my files from my phone", and there is now a better shape for that.
A mesh VPN has each of your devices make an outgoing connection to a coordination service, then talk to each other over that. Outgoing connections always work, including through carrier-grade NAT and double NAT, so there is nothing to forward, nothing exposed to the internet, and no hostname to keep updated. Several are free at personal scale.
| Dynamic DNS and forwarding | Mesh VPN | |
|---|---|---|
| Works behind CGNAT | No | Yes |
| Exposed to the internet | Yes, by design | No |
| Anyone can connect | Yes, that may be the point | Only your devices |
| Good for a public game server | Yes | No |
| Good for reaching your own files | Workable | Better |
The honest summary: if you are publishing something for other people to reach, dynamic DNS is the right tool. If you are reaching your own devices, a mesh VPN is usually less work and much less exposure.