Name your home machines using Tomato
Update (February 2009): thanks to an email I have just received asking how the mechanism described below is better than just assigning host names in Tomato “normally”, I have discovered that this whole post was rather pointless. There is already a way to assign host names in Tomato: click on “Basic” then on “Static DHCP”, and enter your IP addresses and corresponding host names there. I had thought, from its name, that the “Static DHCP” entries were only relevant when machines were booting (when they use DHCP to ask for their host name), but I was wrong: the host names are also returned by the Tomato DNS server for both forward and reverse DNS requests. So while this post is still useful reading if you want to understand better why you might want to use host names for your home machines, the actual mechanism described below is much more trouble than is actually necessary.
I am enjoying my first weeks of using the Tomato Firmware. I purchased a Linksys WRT54GL wireless router because of its admirable support for third-party firmware like Tomato, which replaces the traditional Linksys setup screens with an alterative system with many more configuration options. I can also connect directly to Tomato over SSH and use it as a very small Linux system! This opens endless possibilities for writing fancy firewall rules and running small embedded applications right at the border of my home network.
The Tomato firmware uses a small DNS server named dnsmasq to answer the steady stream of domain name requests from my home computers. It converts domain names that I type, like rhodesmill.org or google.com, into the low-level IP addresses with which computers identify each other.
But I also like using hostnames for the machines sitting right in my home, even though they do not have “real names” out on the Internet. I recommend placing local hostnames inside of a top-level domain that is local to your own network. Choose a suffix that differs from all of the top-level domains that exist out on the Internet — avoid .com, .net, or .uk, for example, in favor of something like .home or .myhouse instead. How, I wondered, could I add extra host names to dnsmasq?
Posted in Computing | 1 Comment »