NOTE: This website is obsolete. Nakahara Informatics, Inc. is no longer operational. This website has been preserved for historical interest, essentially as it appeared at the time of the last update (October 22, 2008), and the software available on this website may be used for free. However, there is no warranty of any kind, and these apps no longer work on modern OS X systems. Therefore, this may not be useful, except to historians and tinkerers resurrecting legacy systems.

iGet Tutorial: DNS & Dynamic DNS

This tutorial is designed to cover the basic elements involved in setting up dynamic DNS service with for your home or office network.

DNS Basics

As described in our Networking Basics tutorial, when a network application like Safari or iGet needs to make a connection, it needs the IP address of the remote computer. Normally, this process starts with the hostname, such as "www.nakahara-informatics.com".

The software the looks up the numeric IP address that corresponds to the hostname.

DNS lookup diagram
A visual example of the basic DNS lookup process.

Normally, the IP address which a given hostname points to changes only infrequently. For example, "www.nakahara-informatics.com" changes only if our company make a major network change. In that case, our systems adminstrator would update the DNS records for nakahara-informatics.com. Otherwise, "www.nakahara-informatics.com" does't change, which is why it's pointed the same IP address for years.

But for residential and small business customers, their public IP address (assigned by their ISP) frequently changes. This doesn't matter when making connections from that location—browsing the web, downloading at iTunes, etc. all continue to work.

But this situation does make it hard to reliably connect to that location, because you never know when the IP address might change. You might be able to connect to your home Mac from work in the morning, but then find that you can't after lunch, due to an IP address change.

Dynamic DNS

Enter the dynamic DNS services (many of which are free). They neatly solve this problem, by constantly updating their own DNS servers with the latest information about what IP address a particular hostname points to.

When you sign up with one of these services, you get your own hostname(s). You can usually choose from a variety of names, but you end up with something like "crazyhorse.example.net"

You then install a small client program on your Mac, which sends updates to your dynamic DNS service whenever your Mac's IP address changes. This can be set up if your Mac has a public IP address, or even if it's behind a router, firewall, or Airport base station.

DNS update sent to DNS server
The dynamic DNS client software updates the DNS record when your Mac's IP address changes.

The next time some software somewhere looks up the numeric IP address that corresponds to the hostname, it gets the new information, and connects to the new IP address.

DNS lookup after the IP address has changed
DNS lookup after the IP address has been updated.

That is the basic principle by which dynamic DNS solves the changing-IP-address problem inherent to most residential Internet service. It is not quite as good as having a real static IP address (one which doesn't change), but it works.

Detailed Walkthrough

We will now walk though the set-up process with a real world iGet user.

Lilia wants to be able to access her files back at home when she's out. She wants that process to be easy, secure, and reasonably fast even on the slow connections some of her friends have, so (naturally, heh heh) she uses iGet.

However, her cable Internet provider offers only dynamic IP address, so she decides to set up a free dynamic DNS account.

After searching Google, she sees plenty of dynamic DNS providers. She chooses no-ip.com because they seemed fine, offer free accounts for personal use, and have a client for the Mac that seems simple to use.

1. Setting up a hostname to use with dynamic DNS

First, she visits their web site at no-ip.com to create her account. After setting it up, and receiving the confirmation email they send, she logs into her new account.

They have a ton of optional upgrades and various services, but she only wants to do one thing: set up a single free hostname that will always point to her Mac, even if her home IP address changes.

She finds the Add Host section of their web application, and uses it to create a hostname called "skiingisfun.no-ip.org" (she can't think of anything more clever, and she's in a hurry).

She adds the hostname and exits her browser.

2. Setting up the client software

Next, she downloads and installs their free Mac dynamic DNS client software. After installing it, she enters her email address and password to her new no-ip.com account, so that her software can log into her account there as necessary to update the DNS records for her new hostname, "skiingisfun.no-ip.org".

On the "Settings" tab, she leaves everything at the default settings.

Settings
The no-ip.com client software.

On the "Hosts" tab, she makes sure the hostname she just created is checked in the list. This means the client will update that hostname with the IP address of her Mac.

Enabling the host in no-ip.com's client app
Enabling the new host.

Finally, she visits the third pane in the client, to update the settings for the "daemon", or backround program. This will keep running in the background, updating the IP address for her hostname, without having to leave the client program open She sets it to start automatically when her Mac boots up, so that her hostname always works.

That's it!

Using dynamic DNS with iGet

The next time she is at a friend's house and needs to grab some files off of her Mac, she fires up iGet. She enters her new hostname into iGet's New Connection window and hits Connect:

iGet connecting to new hostname

As described above, this causes iGet to look up the address which "skiingisfun.no-ip.org" points to. This in turn causes a request to be sent to the DNS server, which has her Mac's latest address, and so iGet proceeds to connect to that IP address, and... boom! She's in, and can grab her latest Garage Band files for her friends to listen to.

iGet logged in to new hostname

Things to note

  • In many cases, for various reasons, you cannot reliably test whether or not the dynamic DNS is working from the Mac it's supposed to be pointing to. You may need to test from a Mac outside your local network.
  • As of this writing (late 2006), no-ip.com's client software is not Universal Binary. Lame. Other providers may have Intel-native software if that bothers you.
  • Many, many iGet users use dynamic DNS, and most of them also use port-forwarding. In this case, if Lilia had many Macs, and was using an Airport base station or router, port forwarding would let her connect with iGet to "skiingisfun.no-ip.org:1111" to connect to her first home Mac, "skiingisfun.no-ip.org:2222" to her second Mac, and so on. Port forwarding is common and useful enough to iGet users that we have a whole Port Forwarding tutorial that you may wish to check out.
  • Stay in school, say no to drugs, and fight the power.