mydns.conf(5)

NAME
mydns.conf - mydns(8) configuration file.

DESCRIPTION
mydns.conf is read by mydns(8) on startup. The default location of this file is /usr/pkg/etc/mydns.conf.

A mydns.conf might look something like this:

    # /usr/pkg/etc/mydns.conf
    # Configuration file for the MyDNS name daemon
    db-host = dbserver.example.com
    db-user = mydnsuser
    db-password = Gr8DNS!

Each line in the file may contain only one configuration variable. All allowable configuration variables are described in this man page. The syntax for a configuration line is `option [= value]'. All configuration variables have default values, which are used if the variable is omitted from the mydns.conf. These defaults are listed in parentheses after the variable syntax.

All text following a hash mark (`#') and empty lines are ignored. If you need to specify an actual hash mark in a option value, escape it by prefixing it with a backslash (`\') character.

The mydns(8) program has a convenient command-line option that will output all current configuration variables in mydns.conf format. If you are creating a mydns.conf file for the first time, this is a great way to create a template that you can customize. See mydns(8) for details.

DATABASE INFORMATION
The following configuration variables tell MyDNS about your database server.

db-host = hostname (`localhost')
    Connect to the database server located at hostname.

db-user = username
    Use username when authenticating with the database server.

db-password = password
    Use password when authenticating with the database server.

database = name (`mydns')
    Read resource record information from the database called name. The specified dbuser must have SELECT privileges on the specified database.

GENERAL OPTIONS
The following configuration variables control the general behavior of the name daemon.

user = username (`nobody')
    Run the name daemon with the permissions of user username.

group = groupname (`nogroup')
    Run the name daemon with the permissions of group groupname.

listen = address (`*')
    The name daemon should listen on address. If address is *, listen on all addresses. This must be an IP address in numbers-and-dots format, or *. Multiple addresses may be specified, either separated by commas, or listed on separate listen lines, or both. If a port number other than port 53 is desired, append `:port' to the address.

no-listen = address (`*')
    The name daemon should NOT listen on address, even if it was specified by listen. This must be an IP address in numbers-and-dots format, or *. Multiple addresses may be specified, either separated by commas, or listed on separate listen lines, or both. If a port number other than port 53 is desired, append `:port' to the address.

CACHE OPTIONS
The following configuration variables affect the cache used internally by the name daemon.

zone-cache-size = number (`4096')
    The zone data cache will not contain more than number entries. The average entry in the cache is about 128 bytes. If number is 0, the zone data cache will not be used.

zone-cache-expire = seconds (`60')
    Entries expire from the zone data cache once they are seconds old. If seconds is 0, the zone data cache will not be used. If the TTL for any RR in the zone is less than the cache expire time, the TTL will be honored.

reply-cache-size = number (`1024')
    The reply cache will not contain more than number entries. The average entry in the cache is about 128 bytes. If number is 0, the reply cache will not be used.

reply-cache-expire = seconds (`30')
    Entries expire from the reply cache once they are seconds old. If seconds is 0, the reply cache will not be used.

ESOTERICA
The following configuration variables affect the name daemon also, but most users will not need to use them.

log = facility (`LOG_DAEMON')
    The name daemon should log via syslog facility facility. facility may be LOG_DAEMON or LOG_LOCAL0 through LOG_LOCAL7. If facility is stderr, program output will go to stderr only.

pidfile = filename (`/var/run/named.pid')
    Create a PID file for the name daemon called filename.

timeout = seconds (`120')
    Incoming queries time out if a reply could not be sent after seconds have elapsed.

multicpu = cpucount (`1')
    Run with multiple processes to support cpucount number of processors.

allow-axfr = bool (`no')
    Should DNS-based zone transfers be allowed?

allow-tcp = bool (`no')
    Should TCP requests be allowed? (not recommended)

allow-update = bool (`no')
    Should DNS-based zone updates (RFC 2136) be allowed?

ignore-minimum = bool (`no')
    Should MyDNS ignore the minimum TTL for zones?

soa-table = name (`soa')
    The name of the table containing SOA records.

rr-table = name (`rr')
    The name of the table containing resource record data.

soa-where = string
    An extra WHERE clause to append to queries selecting records from the `soa' table.

rr-where = string
    An extra WHERE clause to append to queries selecting records from the `rr' table.

recursive = address
    If this option is specified, address is the address of a DNS server that accepts recursive queries. If MyDNS receives a query where recursion is desired, and the zone is not local, MyDNS will forward the query to the server at address and return the result to the client.

SECURITY
The mydns.conf file should be readable only by the root user (uid=0) since it typically contains a username and password allowing access to your database.

FILES
/usr/pkg/etc/mydns.conf
    The default location of the configuration file.

SEE ALSO
mydns(8)