22 October 2007

Server on a dynamic address, spring’s here

Spring must be here, since I can dry clothes on the Hills Hoist in the back yard now — up to 3 rounds a day, exciting high-tech stuff. I think the sun gets up to about 700w/m2 in between clouds now.

Meanwhile, I have a server to set up which has to live on a dynamic ADSL address since the ISP won’t offer static addresses & changing ISPs right now is a bit of a trauma for several reasons. Later, we might get a second ADSL connection with a different ISP, then give the first line the flick when the second is going steadily.

This situation won’t last forever, but until then I’ll have to have a cron job polling the router to look for a changed address, then go & notify the name servers when that changes.

By using short (5 minute?) timeouts in the DNS records, I should be able to respond reasonably quickly even if a visitor is mid-session when a change happens, & the initial users will be aware that it’s a trial situation so won’t be too fussy.

The script shouldn’t be too difficult, since all it will have to do is a lynx -source & gawk through the results for the IP address, then ssh to a user script which reprocesses the zone file & does an rndc reload on the results.

Will need a fallback process of some sort to detect the address even if the router stops responding as expected. I could do that at the DNS end with a very simple PHP script but would rather something a little more autonomous. Hmmm. It’s more expensive than I prefer, but printf %s $(echo $SSH_CLIENT) should do it.

1 comment:

Anonymous said...

Or, you could do what I do with some client sites, where I have a dyndns account running which the box checks and updates every minute.

I then have a cname entry in my DNS for the relevant subdomain at my end with a low TTL and, with a bit of fardnarkling, it's all (as they say in Tasmania) apples.

Steve Walsh