If in our house we have a NAS server with different services such as FTP server, SSH server or VPN server, in order to remotely access these services from the Internet we need to know the public IP address of our connection, otherwise we will not be able to access the different services . Generally, Internet providers provide dynamic IP addresses to their clients, in this way, every time we restart the router or every so often, the public IP address assigned to our router changes. In order to always be able to connect remotely, without the need to know the public IP address of our connection, we have dynamic DNS services or also known as DDNS. Today we are going to show you one of the best free DDNS services that you can use, Duck DNS.
What is dynamic DNS and what is it for?
The dynamic DNS service is a functionality that allows us to avoid the problems of having dynamic public IP addresses, this functionality allows us to create a domain that “points” to our public IP address. On the user side, we have to correctly configure the DDNS client to send the IP address update to the service hosting the domain. The client can make use of the DDNS service that incorporates the firmware of the routers, or he can use software installed on his computer and even on the NAS server he has, in addition, many of these services are compatible with Docker in case you have virtualization of containers.
DDNS services are designed to convert our public IP into a certain domain, we must bear in mind that IP addresses are difficult to remember, in addition, if our operator has dynamic IP addressing we have a serious problem, because the IP changes when restarting the router or after a certain time, so we need this type of service to always find where our servers are. Instead of putting the IP address in the SSH, FTP or VPN clients, we will only need to indicate the configured domain, such as “redeszone.no-ip.org” or any other, in this way, this domain will point directly to our address IP.
Currently there are a large number of DDNS (dynamic DNS) services such as Dyn, formerly known as DynDNS, but this service became paid and we do not have any type of free version with limitations. Another very popular one is No-IP, but the free version is quite annoying as having to be once a month confirming that the domain is still valid, otherwise it will be deleted.
What Duck DNS offers us
Duck DNS is a completely free DDNS service forever, this means that we do not have to use any type of free account and limited to certain characteristics to use its services, all we have to do is register in the service to be able to register the Duck DNS host that we want, such as “redeszone.duckdns.org” or whatever we choose. We currently have several forms of registration, through OAuth2 with Twitter, with our GitHub account and also through our Google account, so registration is really easy.
Another very important aspect of this DDNS service is that it is compatible with any operating system , this will allow us to install it on Windows, Linux or macOS devices, and its operation is really simple, since it allows us to configure the service as a repetitive task of the operating system, so that from time to time an order is executed and automatically updates the public IP address. This service is also compatible with most routers on the market and even NAS servers, since you simply need to make a request via HTTP or HTTPS with the following syntax:
Of course, in this URL, the only thing that we will have to enter will be the domain chosen by us and the token that provides us with the service. If we do not enter an IP address, it will automatically detect it and put it without doing anything (this only works for IPv4 networks, it does not work for IPv6 networks). In the case that we have several domains, we can update all of them simultaneously by putting the domain separated by commas.
It also supports the following syntax, in case your router’s DDNS client doesn’t support complex GET requests:
This will allow us to have a greater compatibility. Another very noteworthy aspect is that we can access the installation tab where the DuckDNS team has created different tutorials to be able to use their service with different operating systems and routers, in this way, we can choose our operating system or router that we are using, and proceed with the start-up on our device. A very important detail is that DuckDNS natively supports any DynDNS client, in this way, if our router supports the DynDNS service, we will make sure that DuckDNS also works correctly.
How to create a Dynamic DNS host with this service
Creating a new host or domain on DuckDNS is really easy. The first thing to do is access the official website and log in through Twitter, GitGub or Google. Once we log in, we can see our user account. It will indicate that the type of account is free, it will also assign us a token to internally differentiate ourselves from other users, and it will even indicate when the token that we have to use has been generated. Finally, it also informs us when the account was created in Duck DNS.
Once we are in the main menu, we must put a subdomain where it says ” sub domain “, this will be the subdomain that we are going to use, we can put what we want. Once we put the subdomain, click on ” Add domain ” that we have in green, and it will take us just below:
We can use the newly created domain to update the public IPv4 address, to configure an IPv6 address, and we can also delete the domain we just created by clicking on the “Delete domain” button. If we want to update the IP address manually via the web, we will simply have to fill in the IP part and click on “Update IP” and the domain will automatically redirect us.
Once it is created, we can integrate it with the operating system that we want. The most important thing is to use the subdomain created and the token, these two parameters are essential to correctly update the IP address. We must also indicate that there is a Docker container that will allow us to configure the DDNS client on our computer, be it Windows, Linux or macOS, ideal in case we have virtualization of different containers and we want to add one more easily and quickly.