This is a very quick overview of what Dynamic DNS is for future project write-ups. I really am interested in the Internet of Things and understanding the basic concept of DNS is essential to making my projects accessible from the Internet.
Domain Name System (DNS) is a service heavily used on Intranets and the Internet to allow the IP address of a server to be resolved to a hostname. What this means is that every node on a network and in this instance servers, have an Internet Protocol (IP) address assigned to it. For IPv4 this is a 32 bit number separated in octets (every 8 bits) by periods (example, 192.168.1.1). To make a more human readable address for users to navigate to, a DNS server takes that IP address and converts it into a hostname. This hostname is usually in the format http://www.domain.extension for access from the Internet and name.domain.extension for within an Intranet.
If you have a standard Internet package with your Internet Service Provider (ISP), you receive a regional IP address that allows for incoming/outgoing traffic to the rest of the web. You can easily check your current regional IP address using sites such as whatismyipaddress.com . It’s important to note that I say your current IP address because your ISP can change that address at any time. This becomes very important when you have say, an Internet controlled RC car or smart irrigation system you’ve built and want access to it remotely (write-ups coming soon). You could possibly use your regional IP address to access your network from the outside, but as soon as your ISP changes this address, the connection is lost.
Enter Dynamic DNS service. For the consumer level, the solution to the ever changing regional IP address is to use an online service that keeps track of your IP and forwards a hostname to that current IP. There are several paid and free options to achieve this. I’ve been using Duck DNS for the past year without any issues. You can use up to 5 different domains for free. There is a client application you install on a computer on the network you wish to have your hostname redirect to which keeps track of your regional IP and sends that information back to Duck DNS. Creating or destroying domains is dead simple and the changes are fairly instant. I found this especially useful for creating temporary domains for file transfers or other temporary access.
Once the Dynamic DNS service is set up, port forwarding on you router needs to be set up in order for HTTP requests coming from the web to reach its intended local IP address. Port 80 is used for TCP/HTTP communication between clients and servers for the web. A web server running on your local network will be listening on this port for requests. In order for outside requests to reach that server, all traffic that is requesting port 80, must be directed to the web server’s local IP address. This can be achieved by using port-forwarding on your router. Setting up port forwarding on your router will vary slightly from vendor to vendor, but here’s a decent overview.