Chinet -- Public Access UNIX since 1982


DNSMan - Usage Guide
refresh db

Add
Zone
Slave
Zone
Reverse
Zone
Edit / Delete
Zone
Edit
Config
Usage Guide

Usage Guide for version 0.67


Contents:




Program Information

DNSMan is a web-based dns zone manager that runs on any unix platform with a CGI-capable webserver (such as Apache), BIND 8/9, and perl installed. It allows for the creation, modification, and delete of forward and reverse zones.


Edit Configuration Menu:

The Configuration menu allows you to set the defaults that will be filled in when creating and modifying zones. They can be overridden during the creation/modification process. Required fields are indicated in bold text. Later fields in bold denote distinct sections.

Refresh method:
killall should be fine on most platforms, use pid-file for platforms like OpenBSD that don't support killall. Solaris users should use pid-file as well, on Solaris killall will kill ALL processes.

Always show Master dialog, Timeouts dialog, and Nameserver dialog:
When set to no, will hide the corresponding dialog text boxes when creating a zone. The default values (from Edit Configuration) will be automatically inserted.

Auto-refresh named:
This will cause DNSMan to automatically send a SIGHUP to named every time you modify or create a record. There's no probably no reason not to use this as it maintains the named memory cache.

Auto-update serial:
If yes, DNSMan will increment the serial number of the record every time you modify a record. If the serial is of the format YYYYMMDDRR where RR is the revision number, the serial will be updated to reflect the current date and revision 01, or if the record has already been edited today the revision will be incremented by 1. If the serial doesn't fit the afore-mentioned format or the serial is greater than that fitting the current date, the serial will just be incremented by 1.
This is generally a good thing since slave nameservers are notified of updates each time the serial increases.
Note: Having this on will automatically update the serial when reverse zones that have forward mappings are $INCLUDEd in a forward record and when adding single records to a zone. It will set the default when editing records to updating but can be checked off.


Appearance:
Set the size of the edit box here. The default size is 80 columns, 24 rows.

Secondary Updating:
Secondary updating allows you to create records on your secondary servers at the same time that you create records on the master server.

Using DNSMan to do Secondary Updating:
To configure secondary updating on the master server, set Secondary Updating to yes, fill in the master server's ip, and the values for the slave server. The web directory is the directory off your http root, i.e. dnsman/ if dnsman is at http://myhost/dnsman

Setting up the secondary servers requires a copy of DNSMan (master and secondaries should have the same version installed) to be running on the secondaries. You need to go thru Edit Configuration on the secondary servers, but setting Secondary Updating to yes is not required.

When you finish creating a zone on the master server, there will be a link entitled "Update to Secondary" that will send the changes to the secondary when clicked.

Using AutoDNS to do Secondary Updating:
AutoDNS is a program that uses PGP/GPG signed emails to add domains on remote servers. DNSMan can generate AutoDNS emails to send to specified addresses following the creation of zones. This is a good choice if you feel more secure using PGP signed emails than the DNSMan method of updating secondary servers, need to add domains to a server that doesn't have DNSMan installed, or need to update a server under another person's control. Please note that PGP has not been tested, the AutoDNS program itself only works with GPG, however PGP may work fine in DNSMan.

The target email values correspond to the address where add requests will be sent, the PGP key id to name or email address for the user sending the emails, the PGP key password to the passphrase to unlock the key, and the keyring location to the directory where the public and private keys are stored. The PGP version determines which PGP implementation to use, only GPG has been tested (as it is the only version used by the AutoDNS program) but other versions should work.

For more information, see the file INSTALL.SECURITY that is included with DNSMan.

Security Features
.htaccess Access Restrictions:
The old ip access restrictions are deprecated. The features listed here replace the old functionality.
Access restrictions are implemented using the .htaccess file located in the directory where DNSMan is installed. .htaccess allows you to restrict access so that only users who come from the specified hosts or have a valid username/password pairs to access the program. (For more info see:
http://www.apacheweek.com/features/userauth )

By username/password:
The interface is fairly self explanatory. Type in a username and repeat the desired password twice and click Allow User Access. That user with be added to your htpasswd file (DNSMan will read this from .htaccess, it can use old htpasswd files or it uses .htpasswd by default). At this point, you will no longer be able to access the files in the DNSMan directory without a valid username and password.

To remove a username from the list, select it and click Remove User Access. To change the password, select the username from the list and enter the new password twice and click Modify User Password. By IP/hostname:
You can allow connections from specified hosts, so that they will be able to access the page without entering a username and password. Hosts can be entered by IP or DNS hostname. If you use the DNS hostname, the reverse DNS entry for the host must match the hostname you enter. Hosts that are not listed will not be able to gain access unless they have a username and password, so be sure not to add some sort of access for yourself first.

About .htaccess:
.htaccess acts as the control for both of these features. If you lock yourself out, either modify or delete the .htaccess file in your DNSMan directory. DNSMan will automatically delete the .htaccess file when all username and host entries have been removed. This will result in an unprotected system, so please be aware of this. It will create a .htaccess file when you create a username or host entry if necessary. The location of the username file is stored on the AuthUserFile line in .htaccess, if you have an existing file, make sure it has the correct permissions if you want DNSMan to use it.


Creation of forward zones

Use Add Zone to create forward zones.

Required Fields
Required fields are domain, and ip address of main host (indicated in bold). If the record filename box is not filled in, the filename will generated from the name of the domain.

IP Address
The ip address of main host sets the address of main host for domain.com.

Internal/External Views
Bind 9 supports the concept of views, where you can have the nameserver return different results based on the ip address of the client. This can be used to have different information for an internal network. To use views, set Named version to Bind 9 in the config menu and configure at least one view in named.conf. When you go to create a zone, there will be an option to Assign to view. Selecting Default View will place the zone outside of the views and give it whatever properties are the default.

Auto CNAMEs
If you leave any of the www, ftp, mail, or smtp targets blank, they will be filled in as CNAME records pointing to the main entry of domain.com. Filling in ip addresses for these hosts will override the CNAME's or the default behavior may be overridden in the Zone Creations Defaults section of Edit Configuration.

Extra Hosts
Additional hosts can be created by filling in Extra Name and IP Address/Hostname.

Executing commands on record creation:
If you fill in this box in the Edit Config menu, you will have the option to execute a system command after creating the zone. This can be used to send emails, run scripts for activating web sites, etc. It is best to specify the full path to the command because the path in the webserver may not include all the intended directories. DNSMan recognizes several codes that will automatically be substituted if they appear in the text box (the values come from the corresponding zone creation fields).
DOMAIN substitutes the domain name, IPADDRESS substitutes the main address for the domain, and FILENAME substitutes the full path to the zone record file.
DNSMan will execute and and print its results on the same screen as the zone create results page.
Future versions of DNSMan will support a pseudo-chroot environment. Commands will not be executable when chroot is enabled.

Creating the record
To generate a new record from these settings, click on Create. It will bring up a page where you can preview and modify the new record.

NO changes will be written until you click Write In Stone on the preview page. After clicking, the record will be written and a status message will be displayed. If Auto-refresh named is not on, you will want to refresh the database manually in order to have named pick up the changes.

Secondary Updating
If you have Secondary Updating on, you will be given the option to send the record to your secondary servers by clicking on Update To Secondary. The results of the Secondary Update will appear in a new window. You will need to refresh the database on the secondary (if automatic updating is not turned on) before the record will appear.


Creation of slave zones

Slave Zone is used to create a zone that pulls it's information from a master server.

By default, creating a slave zone will add an entry to named.conf that will trigger an AXFR (zone transfer) request to the master server. AXFR's contact the master server and download a copy of the dns record to the slave server. For this reason, DNSMan does not create a zone file for slave zones. After the initial transfer, the master and slave will communicate periodically and send updated copies of the zone file to the slave.

"Slurping" from the master
In some cases it may not be possible to do a zone transfer, because the server does not allow or support AXFR. One alternative is to use the slurp feature built into DNSMan which will query the master server and attempt to construct a copy of the zonefile. To enable this, set Query master and generate zonefile to "yes" in the Master server information of the Edit Configuration page. One caveat: if, after the initial creation of the zonefile, AXFR is unavailabe, the zonefile will not be updated. Other alternatives like rsync or scp may be more secure and appropriate.


Creation of reverse zones

Use add a new reverse zone to create reverse zones.

The reverse zone creator allows you to create PTR records for your ip addresses. It also can create the forward A records that correspond to the reverse records.

Required fields are Start IP, Stop IP (last number to create a record for, often 255), HOST, and DOMAIN.

Leaving the record filename blank will make it default to IP3.IP2.IP1.in-addr.arpa, based on a start IP of IP1.IP2.IP3.IP4. The target of the PTR records can be changed using Format of hostname. Leaving it blank will create records that point to HOST-IP1-IP2-IP3-IP4.DOMAIN where each of those values will be filled in with the corresponding value.

You can reorder this however you like to get your desired hostnames. For example, for a start ip of 10.20.30.1, HOST foo, DOMAIN bar, and format IP3.IP4.HOST.DOMAIN, the records will point to 30.1.foo.bar, 30.2.foo.bar, etc. If using custom formatting, make sure to include IP4 or otherwise all the PTR's will point to only one A record!

Corresponding forward records: You can create A records that correspond to your new reverse entries by specifying a Corresponding forward dns file. This file can then be included in an existing zone (my recommendation) or in a separate zone file. If you choose separate zone, you will need to add the SOA and named.conf entries yourself.

All of this may be a bit confusing so here is an example:
You are creating reverse records for the 1.2.3.0 class C network (255 addresses). You choose to use the default format. Your HOST is webservers and DOMAIN is isp.net. You choose a corresponding forward file called webservers-isp.net and then set add forward file to domain using $INCLUDE to "yes", and leave name of domain file blank for default (isp.net). This will produce a reverse file full of PTR records that point to webservers-1.2.3.1.isp.net and a forward file full of A records that take webservers-1.2.3.6.isp.net, etc. and point them to 1.2.3.6, or whatever the appropriate 4th octet may be. A single line reading
$INCLUDE /etc/namedb/mstr/webserver-isp.net.dns (or similar name) will be added to the end of the isp.net file. This will add all the A records in webservers-isp.net to the records already in isp.net

Clicking on Create will bring you to preview screen where you can view and modify the reverse and forward records before you write them to disk. When you are satisfied with the records, click Put It In Reverse and the records will be written and a status page will come up. If Auto-refresh named is not on, you will need to refresh the database in order to have named pick up the changes.

If you have Secondary Updating on, you will be given the option to send the record to your secondary servers by clicking on Update To Secondary which will also display a status page. Refresh the database on the secondary as well.


Modification and deletion of zones

Use Modify Records to modify or delete zones.

Selecting the domain:
To make changes to a record, either select the domain from the pulldown menu or enter in the domain name in the text box next for Enter Domain Name (the text box will be used if both are selected). The way that the text box works is that when you click on a button, if there is only one domain in named.conf that contains the pattern you enter, the page for that button will be brought up. If more than one domain matches, the matching domains will be listed and clicking on one will bring up the page for the button you originally. What this basically does is make the Enter Doman text box into a search function.

Editing/Viewing a Record:
Clicking edit will opens the record in a text window where it can be edited. When you are done, click Do the Math and the changes will be written to disk. You will see a copy of the new record. If you check Update Serial, the serial number will be automatically updated. If Auto-refresh is enabled, the record will be reloaded, otherwise you need to refresh named manually.

If you click View instead of Edit, a read only copy of the record will be printed on the screen.

Editing/Viewing named config file:
Clicking Edit named.conf will open your named configuration in an edit window. You can make changes here and click Make It So to rewrite the config file. The new version of the config file will be displayed. Clicking View named.conf will also display a read-only version of the config file.

List Domains:
List Domains will list all the domains in named.conf that contain the pattern entered in the Enter Domain Name box. Clicking on the domain will bring up an Edit box for that domain.

Deleting Records/Zones
To delete a record or zone, select the domain name as shown above. Clicking on Delete Zone will print the contents of the record along with it's named.conf config file entry. Clicking "Kill It" will permanently remove the record file and its config file entry.

Adding Single Records
First, select/enter the domain of the record you want to add to and click Add Hosts. In the text boxes, enter the hosts you want to add. To add a host, all the boxes on that row need to be filled in. When you have filled in all the hosts you want added, click Add Some Hosts. You will see a status report telling you how many hosts were added and the updated dns file will be displayed.

Refreshing the database

The database can be refreshed by clicking "refresh db" at the top of an page or Reload named now after modifying a record. This will load new changes you have made into named's cache. You should generally do this after every record addition.

This can now be automatically done by setting auto-refresh named to yes in the configuration menu.
Add
Zone
Slave
Zone
Reverse
Zone
Edit / Delete
Zone
Edit
Config
Usage Guide