Question: Currently i am using "no-ip" for a .org domain, this resolves to my own, dynamic IP address and finally to an Apache server on Debian. I got the domain from google domains, then used no-ip as a dynamic DNS service. 

I have been scouring google to find out how to do it, but it's a pain because all the free DNS services under the sun are top to bottom, 10 pages deep into the results I find <http://gnudip2.sourceforge.net/> this little project, which has some age to it by the looks of things.

Is this what I need to look into or is there a newer thing, or is it simply not possible?

Thanks for your time.

Answer: 
Depending on your domain provider, you might be able to cut out needing to use a separate service for dynamic DNS 

GNU DIP looks like a dynamic DNS *server*. You need a *client*. This is a tool for getting updates from *clients* to update a nameserver. 

You can use your current domain provider as a dynamic DNS provider with no middleman. 

I'm currently using [ddclient](https://ddclient.net) - it will work with [google domains](https://support.google.com/domains/answer/6147083?hl=en) under the "Synthetic records" option on the google domains side. 

You should then be able to use ddclient with the appropriate configuration,

Something like 

```
ssl=yes

protocol=googledomains

login=generated_username

password=generated_password

your_resource.your_domain.tld

```

in your ddclient.conf will work. Its possible you might need a backport, depending on the version of debian, though I'm certain the alternate dyndms2 configuration provided as an example will work if there's no explicit support for ddclient.
All of those services consist of a traditional DNS server that just happens to have an API for updating the records. There is no requirement for special software or special projects. It's a regular domain like what you can buy for websites.

There is, however, a requirement to host the DNS service *itself* on a static IP address, and of course you must actually own a domain name – so it is not something that you can achieve for free by simply installing something on the dynamic Debian server itself. (In other words, you can self-host the DNS zone, but there's no way to "cut out" the Internet's domain name system entirely.)

However, if you *do* own a domain name, as well as a second server with static IP address somewhere else, you can build your own "no-ip"-like DNS service by:

1. on the server with static address: installing a DNS server (such as PowerDNS, Knot, or BIND) and configuring it to host a zone for your domain (or just a subdomain);
2. delegating the domain or subdomain to that new DNS server (for subdomains it's done by adding NS records under the parent domain);
3. figuring out the update capabilities in your DNS server software – e.g. if you use BIND 9, then it supports the "RFC 2136" dynamic update protocol, and if you use PowerDNS, then you can update records through a SQL database;
4. on the server with dynamic address: setting up a cronjob to send the appropriate update message to the DNS server.