WHAT IS DNS?
DNS is the method by which your request to view <say> http://www.yahoo.com using your browser is initially setup. When you make a request through your browser to make a connection to yahoo.com, your browser and computer initiate a service request that goes to a DNS (DOMAIN NAME SERVER) associated with your Internet Service Provider (ISP). This DNS system maintains current tables of every registered domain (including yahoo.com) in the world. In the normal case, the DNS receives your <www.yahoo.com> request, the DNS responds back to your computer with the then current IP address of your desired destination (www.yahoo.com). A DNS offers many special features such as the ability to furnish directions to sub-domains <such as service.yahoo.com or inside.yahoo.com or even just yahoo.com>. A DNS can also provide proper destination addresses for mail servers and backup mail servers. Also, DNS can also be used to simply redirect an access to one HOST NAME (such as test.domain.com) to some other HOST NAME such as <maindomain.com>.
As an example, suppose you want to setup a domain name <john.com>
and a second domain <jack.com>. Then you would like to have a
mail server <mail.john.com>
residing at your home site that could act as a regular mail server where people can send email in and then the recipients can use mail.john.com as a
POP/IMAP mail server address and locally or remotely retrieve mail from the mail server. A user could also add a jack.com mail service on the same machine using the same mail server software. Suppose also that you have a website at http://www.yourwebsite.com and you wish to access the site by the “alias” of being able to enter http://john.com or perhaps http://website.john.com or maybe http://www.john.com. Note: There is no practical difference between the subdomain <www> and for instance <support> excepting as defined by an A Record on the DNS system. Both are serviced to their destination simply by the definition of the DNS server's A Record. Examples of this follow.
WHAT IS DDNS AND HOW DOES IT WORK?
Most home users have an IP address that can change hour to hour and
this complicates building a home website and making it accessible to everyone
internet. A service called DYNAMIC DNS allows users anywhere on the Internet to “find” your website(s) and/or mail server(s) with their constantly
changing IP address. The function of a DNS is to provide a FIXED name for your website to "home to" with a fixed address for remote users on the internet to use to “find” your “Dynamically Changing” IP address. The way this is done is for YOUR remote computers to forward a new IP address to the DDNS (Dynamic Domain Name Server) whenever your assigned (by your local Internet Service Provider) IP address changes.
The DDNS server system can accommodate multiple HOST NAMES for a
single website if necessary. You might have some combination of the
following Address records (called A Records):
www.john.com can point to your main website.
john.com could also point to your main website or to some other place depending on your A Record setup.
camera.john.com could point to your internet camera.
mail.john.com could point to your mail server.
mail2.john.com could point to your backup or secondary mail server.
george.john.com could point to your friend George’s webpage on his own site.
website.john.com could point to http://www.yourwebsite.com
yahoo.john.com could point to http://www.yahoo.com
The arrangement is very flexible and allows many variations. In a real sense, DNS is like a TELEPHONE BOOK for the Internet. DNS does not SEND you anyplace You furnish DNS with a NAME (such as www.john.com) DNS returns to you the IP address (analogus to a telephone number) of your specified domain name or subdomain so YOUR computer knows the IP address to which to direct its service request.
The DDNS server system also supports MX records. These can
be used for pointing incoming mail to your domains (such as john.com) to
mail server. Note that the DESTINATION ADDRESS of an MX record MUST be a domain name and NOT simply an IP address. (The “why not”
appears to be part of an effort to prevent spam by increasing traceability of email.)
Examples of actual A records for our example using the dyndns.org formats
CURRENT IP ADDRESS OFFLINE URL (***)
www.john.com 126.96.36.199(*) www.johnsrealwebsite.com
john.com 188.8.131.52(*) www.johnsrealwebsite.com
camera.john.com 184.108.40.206(*) (blank)
mail.john.com 220.127.116.11(*) (blank)
mail2.john.com 18.104.22.168(**) (blank)
george.john.com (blank) george.geocities.com
website.john.com (blank) www.yourwebsite.com
yahoo.john.com (blank) www.yahoo.com
Note: (*) above denotes a DYNAMIC IP address which is changed under control of a DDNS client on your computer system and (**) above denotes a FIXED or static IP address which is only changed under your manual control by a visit to the dyndns.org s, see below. (***) Represents some remote URL (or local A-Record or C-Name that the DNS is providing the "alias" host name for.
In this example, the 22.214.171.124 IP addresses represent John’s home computer IP address. This would be updated periodically by a DDNS CLIENT (more on this later) running on John’s home computer or perhaps updated as a feature in John’s home firewall/router (such as NexLand or Zyxel and others). The 126.96.36.199 IP represents the IP address of John’s camera server which may be remote from John’s home computer and have an entirely different ISP and IP address. It might also be the same as the IP address as for <john.com> if the camera server was located behind the same firewall and router at John’s house. The mail.john.com mail server is obviously located also at John’s house since it shares the IP address with other HOSTs located at John’s house. The mail server mail2.john.com has an entirely different IP address and so is likely located remotely from John’s home and perhaps is his backup email server in case of failure of his primary email server mail.john.com.
The OFFLINE URL is a backup feature in case you want to direct your HOST to some URL address instead of a fixed or dynamic IP address. You can put any URL you wish in the field and IF you check the “Is Offline” box in the A Record setup, the particular A Record address will be directed to your OFFLINE URL. If your offline URL is not available, your internet browser or other client will give you an error message (404 not found or similar).
The STATIC IP ADDRESS above in mail2.john.com (**) represents a mail server that does not have a “real name” or “host name” assigned to it. The address is assumed to be static (fixed at all times in the future) and so you will not have your DDNS CLIENT program update this particular A Record.
MX RECORDS (eMail director files)
Incoming eMail to a domain arrives with its own distinctive protocol and port identity. An email request is handled separately from other service requests because of some special needs and features of email processing. For instance, you might want a backup mail server in case your primary mail server went down. You might also want to have multiple mail servers to share the load in case you had a large volume of email. MX RECORDS provide part of the solution for these needs.
The format of an MX Record might be as follows:
john.com 5 mail.john.com
john.com 20 mail2.john.com
The above would indicate that incoming mail to john.com would be first offered to the mail server at mail.john.com and if that server does not respond immediately it would be offered to the alternative server at mail2.john.com. The 5 and 20 represent PREFERENCE NUMBERS. These numbers have no meaning except that lower numbers have preference over larger numbers in sending email traffic to a particular server.
If you wish to disable one server so the other takes all of the email
traffic, you simply remove one of the MX Records and the remaining MX Record
will direct all email traffic to your remaining mail server.
UPDATING THE “A RECORD” IP ADDRESSES
In the above example, some of the IP addresses (for www.john.com,
http://john.com, http://camera.john.com, and mail.john.com must be kept
up to date
with the current IP address whenever the local IP address changes at John’s house. This is done by a DDNS CLIENT program. The mail2.john.com
IP address is “fixed” and is NOT to be updated by the DDNS CLIENT programs. In our case, we will require a client program in the computer serving
http://john.com and another in the separate computer serving <camera.john.com>. Note that even though the mail server at John’s house may be a
different machine from the machine hosting the http://john.com website, a single client program running in ONE of the computers is all that is required
since the mail server and the webserver share the same internet connection and IP address. You COULD also run a separate client program in each
machine to service “its own” DDNS hostnames if you wanted to do so.
DDNS CLIENT PROGRAMS
DDNS Client Programs are very simple in concept and generally in
practice. Basically, what these programs do is to keep track of any
changes in your
ISP’s assigned IP address for your connection, then when the IP address changes, send the necessary updates to ALL of your DDNS HOSTNAMES
that need it. Note: Your DDNS client program MUST (for dyndns.org) send an individual update for each and every separate HOSTNAME on
dyndns.org that needs the particular IP address update serviced by your particular client. In other words, if you have ten hostnames with endings of
<john.com> on the dyndns.org DNS server, and you only update 3 of them with your DDNS Client program, the other 7 will remain with whatever IP
address you manually input. In the alternative, you can have one DDNS client in one computer responsible for updating 3 DDNS IPs and another client
in another computer responsible for updating another 5 DDNS IPs and leave 2 DDNS IP entries either static or manual change only.
SPECIFIC PROBLEMS ENCOUNTERED IN SETTING UP
1) I did not understand that a single update from a DDNS CLIENT program running on my computer would ONLY update the specific “A Record” pointed to. I expected it to update all A Records with <say> john.com as the domain name. This was NOT correct. 2) I discovered that the DDNS Client in my NexLand 800 Turbo firewall/router would update the dyndns.org “dynamic DNS domain names” but would NOT update any of the “custom DNS domain names”. This is a “fault or a feature” of the 800 Turbo unit depending on how you look at things. There was no workaround available at dyndns.org to assign some sort of "alias" so that a "dynamic DNS host name" could be updated and then used as the destination host name by several A-Name records. The remaining option was to use a software client instead of the 800 Turbo DDNS update feature to update multiple A-names on the dyndns.org custom website. 3) I expected that MX records could have an IP address in the DATA field. At first, I was able to input an IP address for my backup mail server which had a fixed address and things seemed to work for MOST email. However, some ISPs will not forward mail to mail servers which have an IP address in the MX record’s data field instead of the required hostname such as mail.john.com. Adding an A Record with mail.john.com and putting mail.john.com in the MX Record’s DATA field fixed the problem. dyndns.org now prevents putting an IP address into the MX record under any circumstances. 4) I had to open port 110 in my firewall so my mail server could receive mail. Depending on your mail server and if you wish to use other services such as SSL mail, IMAP mail and other services, it may be necessary to open other ports in your firewall. Open as few as possible to get the job done to maintain maximum security. 5) My ISP did not allow the use of port 25 for outgoing SMTP mail delivery by my mail server directly to the internet. I used instead the SMTP RELAY SERVER feature of my Merak mail server to “just mail” outgoing email with the proper return addresses via the existing SMTP mail server at my ISP. This is working 100% OK with no problems. I was glad that the original information I had (from the dyndns.org FAQ site) that there was no way to send out email via an internal mail server if port 25 was blocked by the ISP proved incorrect. I am told that some ISPs also prohibit the kind of email relaying used by Merak, but I have no other information on this. 6) It may "seem" intuititively obvious that you should be able to put the HOSTNAME used in another dyndns.org address record (A-Record) into the OFFLINE URL in an A Record used for a pointer to your MAIL SERVER (such as mail.john.com) but IT DOES NOT WORK. You must have your Dynamic DNS Client update this A record so it will have the correct IP Address. HOWEVER, You CAN put a host name (such as mailserver.othersite.com) into the OFFLINE URL entry IF this host name is not a part of the dyndns.org DNS system. (I have asked dyndns.org to consider changing this.) 7) Conversely to #6, it is OK to use a URL in the OFFLINE URL window for "A Records OTHER than those associated with MX records. You CAN use another dyndns.org A Record entry in the OFFLINE URL windows if the A Record is NOT associated with an MX record. 8) The latency time between when you update an entry on the dyndns.org DNS server (or any other such DNS server) and when the change takes effect on the Internet is highly variable. Be prepared to be slightly confused at first when some of your changes take effect quite quickly while others can take hours.
If you have corrections, comments, suggestions for additions, please email Joe Mehaffey
Back to Joe and Jack's GPS Information Website