9. DNS Update Robot

A simple way to avoid the manual maintenance of the DNS information would be to use a robot, which can update the information remotely. This robot could be controlled by email or even through a web interface though the latter is something which could be studied in the future.

An example of this is the robot used by the ampr.org domain, which manages the update of host names and IP addresses via email.

An message is sent to the robot's email address, sending commands in a specific format.

Based on the ampr.org domain DNS robot I have written something a little more sophisticated, which allows the following commands:

  1. Add an IP address, MX host, Name server, Text record or new CNAME

        name ADD A 1.2.3.4
        name ADD CNAME another-name
        name ADD MX priority mx-host
        name ADD NS name.server
        name ADD TXT "some text"
    


  2. Delete the same data

        name DEL A 1.2.3.4
        name DEL CNAME another-name
        name DEL MX priority mx-host
        name DEL NS name.server
        name DEL TXT "some text"
    


  3. Show the stored information

        name INFO
        name ?
    




After making any changes the robot confirms its actions sending a message to the sender of the original message with the results of its actions.

The format as used in the ampr.org domain won't work with a wireless group for various reasons:

  1. Each wireless group is managed independently - one robot is needed by domain or group.

  2. It will probably be necessary to assign a password to the node's administrator to enable him to modify data only from his node.

  3. A global password would be required allowing global data to be modified, limiting access to a group of people who control the domain/group.

  4. An ideal situation would be to feed this robot from an application which assign new IP address ranges and which generates the new data required for the DNS.



As the robot now exists, anyone who is interested in using it should send me an email to . Currently once the data is stored the zone file used by the name server is updated and the name server is then instructed to update it's configuration. The robot is written in perl and requires little more than a couple of scripts to put in action.