summaryrefslogtreecommitdiff
path: root/content/blog/2022/ddns.md
blob: 73d9aade5e598dbf52b50eb77286b220e4169402 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
+++
title = "Dynamic DNS"
author = ["Michał Sapka"]
date = 2022-05-13T22:26:00+02:00
categories = ["blog"]
draft = false
weight = 3001
abstract = "DDNS is a DNS for folks with non-static IP. Here I try to choose the best for me."
aliases = ["/2022/ddns/", "/articles/ddns/"]
+++

I am one of the unlucky ones without static IP address.
I would get one from my ISP, but this would require me to upgrade to a business contract.
And to do such upgrade, I would need a company - which I do not own nor have I any plans to own in the near future.
Luckily, I can still have a domain.
There is a group of services under the umbrella term Dynamic DNS.

[DDNS on Arch Wiki](https://wiki.archlinux.org/title/Dynamic_DNS)

Basically, I need to point my domain to their name server and keep them up to date with changes of my IP.
The DDNS server acts as a middle-man when using a normal domain.
In most cases, I just need to fetch a given URL periodically ad the service will treat this as current IP set.


## Self hosting vs 3rd party {#self-hosting-vs-3rd-party}

There are ready-made packages I could install on any VPS, but debugging DNS is not something I would like to do.
Therefore, I will go with 3rd party.

I looked through the interwebs for providers and found lots of them.
Unfortunately, most of them are dead, so the choice is much less difficult.


## Requirements {#requirements}

After a short analysis, I came up with few requirements:

| Max number of domains               | 3          |
|-------------------------------------|------------|
| Max number of subdomains per domain | 20         |
| Expected uptime                     | 95.5       |
| Location                            | Europe/USA |
| MX Records                          | YES        |
| TTL                                 | 10min      |


## Instant rejects {#instant-rejects}

I instantly rejected some providers, since they will now work for my use case:

| Service              | Reason?                              |
|----------------------|--------------------------------------|
| activedns.co.za      | South Africa only                    |
| bcu.cc               | Site does not open                   |
| ddns.nu              | Site does not open                   |
| dhcp.io              | Domain for sale                      |
| dhs.org              | Site does not open                   |
| dns.widge.net        | Site does not open                   |
| dnsdynamic.org       | Some random site under the address   |
| dnsmadeeasy.com      | It's namecheap now                   |
| dnspark.com          | It's namecheap now                   |
| dtdns.com            | Broken site                          |
| dyn.ee               | Domain for sale                      |
| dyn.ro               | Domain for sale (I think)            |
| dynamicdomain.net    | Site reads like poor phising attempt |
| dyndsl.com           | Domain for sale                      |
| domain-dns.com       | Not accepting new zones              |
| dyndnsservices.com   | Offers self-host only                |
| dynfree.com          | Broken site                          |
| dynup.net            | Broken site                          |
| hldns.com            | No longer offers DDNS                |
| hn.org               | Site does not work                   |
| homepc.org           | Site does not work                   |
| hub.turnkeylinux.org | Site does not work                   |
| microtech.co.gg      | Site does not work                   |
| minidns.net          | Site does not work                   |
| myonlineportal.net   | Only 10 domains per account          |
| myserver.org         | Broken site                          |
| nettica.com          | Domain for sale                      |
| nicolas.cx           | No sign-up via web                   |
| nubem.com            | Site does not work                   |
| ods.org              | Domain for sale                      |
| powerdns.com         | Self hosted solution                 |
| prout.be             | Self hosted solution                 |
| spdns.de             | No english site                      |
| system-ns.com        | No longer offers DDNS                |
| tzo.com              | Site does not work                   |
| whyi.org             | Site does not work                   |
| worldwidedns.net     | Does not support enough zones        |
| xname.org            | Site does not work                   |
| yi.org               | Site does not work                   |

\## The potential ones

After removing most positions from list, I dig a big deeper:

| Service            | Price        | Uptime    | Location    |
|--------------------|--------------|-----------|-------------|
|                    | per year     |           |             |
| changeip.com       | $6           | 99.9% (1) | USA         |
| dhis.org           | Donation     | ?         | ?           |
| dns2go.com         | lots$        | ?         | ?           |
| dnsexit.com        | FREE for TLD | 100%      | Distributed |
| duckdns.org        | FREE         | ?         | ?           |
| duiadns.net        | $11          | ?         | ?           |
| dynaccess.de       | 22EUR        | ?         | Germany     |
| dynamip.com        | $48          | ?         | ?           |
| dyndns.berlin      | FREE         | ?         | Germany     |
| dyndns.com         | $55          | ?         | ?           |
| dyndns.dk          | FREE         | ?         | ?           |
| dynip.com          | lots$        | ?         | ?           |
| dyns.cx            | Donation     | ?         | ?           |
| dynu.com           | FREE         | 100% (2)  | Distributed |
| easydns.com        | FREE         | 100%      | ?           |
| freedns.afraid.org | $60          | ~99.3%(3) | ?           |
| noip.com           | $24.99       | 100% (2)  | ?           |
| planetdns.net      | $299.95      | ?         | ?           |
| staticcling.org    | FREE         | ?         | ?           |
| thatip.com         | $48          | ?         | ?           |
| thebbs.org         | FREE         | ?         | ?           |
| totaluptime.com    | $1188(SIC!)  | ?         | ?           |
| zonomi.com         | lots$        | ?         | ?           |

-   [(1) whtop.com](<https://www.whtop.com/review/changeip.com>)
-   [(2) comparingtech.com](<https://www.comparitech.com/net-admin/dynamic-dns-providers/>)
-   [(3) dnsperf.com](<https://www.dnsperf.com/dns-provider/afraid-org>)

Notes:

-   "?" - I couldn't find data, but also I wasn't looking very hard
-   "lots$" - some providers have a complicated pricing and at first glance it was obvious, that it will be expensive.

    As we see, some working providers are crazy expensive. They add extra features, but still - crazy expensive.


## Conclusion {#conclusion}

DDNS is a strange market. It's mostly dead. But when the service is still available, it seems to be run from someone's basement. There are companies in the space, don't get me wrong - but most of it looks like hacker culture byproduct. And this makes sense, since the primary use case for DDNS is someone without static IP - ergo, an individual and not a company.

The sad aspect of this is lack of any SLAs in most cases.

The happy aspect of this is that you can get a lot for very little.


## Decision {#decision}

Looking at the data, I have decided to go with dynu.com as it has 100% uptime, and it's free.


## Setting up dynu.com on Synology {#setting-up-dynu-dot-com-on-synology}

First, create a dedicated IP update password on dynu.com. It's optional, but highly recommended.

Then, in Synology Control Panel open External Access, then click on "DDNS" tab. Click "Customize Provider" and set query URL to

```nil
https://api.dynu.com/nic/update?myip=__MYIP__&username=__USERNAME__&password=__PASSWORD__&hostname__HOSTNAME__&myipv6=no
```

Now, add a subdomain. Note, that it would be best to MD5 the password.