The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Saturday, November 25, 2006

Dynamic DNS

Bunny has BellSouth as a DSL provider. They give her a dynamic IP address. A dynamic IP address makes it difficult for her to get back to her computer when she's at her office.

I know Wlofie uses DynDNS and he's used it for several years with no problems. So I figure I'd check it out and see if it could be used.

Looking around, it seems their clients assume the computer in question has the public IP address. Which in Bunny's case, isn't the case. Her DSL router has the public IP address.

Not to worry though—there's a Linux system at her house as well. But the Linux client isn't officially supported. Okay, but it appears to work anyway. But it's a Perl based client and call me a computer language bigot (“you computer language bigot!” thanks) but the idea of running a daemon written in Perl just doesn't sit well with me.

Besides, it too requires the computer in question to have the public IP address. Oh sure, you could configure the Linux client to use their CheckIP server, but when I tested it, I get the private IP address, not the public IP address (but see below for an update).

Great CheckIP server there, guys.

So I figure I'll roll my own. It doesn't look that hard actually. Have a simple client program connect to a DNS server I control. The server side can grab the public IP address from the actual connection, and if the appropriate bits are sent across the wire, the server will then update the IP address in the appropriate zone file and that's that.

And I'm definitely overengineering the program.

But then again, in college I was told by a professor to stop the overkill on my programs.

Update on Monday, November 27th, 2006

Seems I made a mistake when I tested the CheckIP page. It works fine unless you use a web proxy, which I do.


Obligatory Picture

[It's the most wonderful time of the year!]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site:, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2021 by Sean Conner. All Rights Reserved.