DNS/DHCP Database Management User's Guide

The Domain Name System (DNS) server is used for resolving Internet host names into Internet Protocol (IP) addresses and vice versa. The Dynamic Host Configuration Protocol (DHCP) server is used to assign IP addresses to booting hosts based on their Media Access Control (MAC) addresses. This document describes the software developed to manage the data needed by both the DNS and DHCP servers at the Computer Graphics Laboratory.

Some of the information in the database are related to computers deployed on connected records. This information must come from the managers of the computers. Other information is relevant to the correct operation of the DNS and DHCP servers. For the purposes of this document, the computer managers are referred to as users and the server maintainers are referred to as administrators. Note that administrators are also users, since they typically also maintain some computers.

Overview

The data needed by both the DNS and DHCP servers are stored together in a single database. Typically, database modification is accomplished via the web interface. Every ten minutes, host plato.cgl.ucsf.edu checks whether the database has been updated; if so, the configuration files for both servers are regenerated and the servers restarted. So modifications to the database should appear in the servers no more than ten minutes later. The reason for checking every ten minutes rather than regenerate immediately is to avoid multiple restarts of servers when several changes are made.

Data Organization

DNS and DHCP data include host names, IP addresses, MAC addresses, version numbers and other server parameters. For management purposes, there are also bookkeeping items, e.g., for authentication and authorization. Most of the bookkeeping items are managed by administrators. However, users can manage the following:
Group
Research group.
Contact
Person responsible for DNS and DHCP information from a research group.
Zone
Part or all of a DNS domain, e.g., compbio.ucsf.edu.
Host
Computer within a zone. Information includes host name, IP address, MAC address, mail forwarding host and group.
Alias
Alternate name for host within zone. Information includes alias name, canonical (true) host name and group.

Group

The main bookkeeping item of interest is the group. All host and alias entries are identified with a research group, and may only be updated or removed by persons associated with their group. Users are associated with one or more groups when they login to the password-protected web site hosting the database management web interface.

A group is identified by the name of the principal investigator and consists of a list of contacts.

Contact

It is occasionally important for the server administrators to contact the manager of particular hosts, e.g., to determine whether a computer is still in use after a long period of inactivity. The information for each contact person of a group consists of the person's name, phone number, electronic mail address and physical location.

Zone

In DNS parlance, a zone is the part of an Internet domain that is handled by a single server. In our environment, all zones are full domains, i.e., there is no subdomain delegation. The logical entities that populate a zone are hosts and aliases.

Host

A host corresponds to a network interface on a computer. The information associated with a host include its name, IP address (assigned automatically), MAC address, mail exchange server (where electronic mail for the host will be delivered), and the group to which the host belongs. A multi-homed computer (one with multiple network interfaces) is represented as two hosts with the same host name.

Alias

An alias is an alternate for a host. An alias may be useful in cases where the a logical name rather than an actual name is desirable, e.g., ftp.cgl.ucsf.edu is easier to remember than plato.cgl.ucsf.edu. The data associated with an alias are the alias name and the canonical (true) host name.

Web Interface

Currently, the only user interface for modifying the DNS/DHCP database is via the web at https://www.rbvi.ucsf.edu/cgi-bin/secure/dns_dhcp_registration.py.

The web interface is implemented using plain HTML pages and CGI scripts. So there is no need to have either Java or Javascript enabled in the user browser. All required data are entered using standard text fields or selection lists. All data validation is performed by CGI scripts and errors are reported as HTML pages. To correct data entry errors, use the Back button to return to the submission page.

Suggestions and Bug Reports

Suggestions and bug reports should be sent to conrad@cgl.ucsf.edu.

Last updated July 27, 2010