No one can hear me scream

[1and1]

What I want in a domain:

  • Domain name for web site
  • “Vanity” e-mail address

1&1 was the cheapest domain registration service I could find ($5.99/year, including private registration). The web is rife with complaints about their customer service (most notably, attempting to cancel an account), but I don’t plan to give up my domain, and I don’t use any of their services. I haven’t been a customer for that long, either. Buyer beware.

Their most basic service package includes web and e-mail hosting. I don’t care about the web hosting because I want to run the web site at home. Running a web site at home is simple enough. These instructions are specific for 1&1, but the concepts are applicable to any DNS provider.

Option #1: Configure the 1&1 domain to have its DNS delegated to FreeDNS or some other dynamic DNS provider. There are a few free dynamic DNS services listed at FreeDNS.com that will provide DNS for domains and subdomains. These services generally require some kind of client to be run at home that periodically updates their servers with a new IP address whenever it changes.

I’ve used both afraid.org and No-IP with my 1&1 domain; they both work fine. FreeDNS is very fully-featured, but the flexibility means it is necessarily slightly more complex to set up.

Once you’ve delegated away DNS for your domain, you can have vanity e-mail by setting up your DNS service to resolve your domain’s MX record to your home mail server; you use your ISP’s SMTP server to send e-mail, and you directly receive your e-mail on your home mail server.

The problem with such a 1&1 setup is that delegating away DNS for your domain also means foregoing the included e-mail hosting service. This bothered me. My web site is not really critical; in fact, its connectivity is completely dependent on my home ISP. However, I really don’t want my e-mail to bounce should my mail server be disconnected. So we move on to:

Option #2: Configure the 1&1 domain to be managed by 1&1’s DNS servers (default configuration). However, instead of hosting the domain’s web site with them, statically configure the domain name to resolve to your ISP-assigned dynamic IP address. Leave e-mail for the domain to be managed by 1&1. This is a supported configuration, and we now have reliably-hosted e-mail that we can retrieve with POP or IMAP.

However, there is now the task of making sure your changing IP address stays up to date in 1&1’s DNS service. 1&1 does not provide explicit support for dynamic DNS (e.g., no convenient update URLs like FreeDNS, and no background daemon like No-IP).

I used LiveHTTPHeaders to capture a trace of HTTP and HTTPS traffic while I manually navigated the 1&1 control panel. Armed with a trace of such network traffic, I wrote an automated client to masquerade as a web browser to automatically update the IP address associated with a 1&1 domain:

  • Every 15 minutes or so, figure out your ISP-assigned IP address. This will most likely have to be a custom screen-scraper for your home router’s web interface (I’m not cool enough to run a Linux or FreeBSD router/firewall). Compare the current IP address with what was obtained last time. If it is the same, do nothing. If it has changed:
  • Update 1&1 with the new IP address, using this update1and1 perl script; the script depends on libwww-curl-perl and needs to be customized with a 1&1 customer ID and password.
[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]
Posted in Computers on Wed Apr 5, 2006 at 11:17 pm by Rob | 1 Comment