NAME

DESCRIPTION

mydns.conf is read by mydns(8) on startup. The default location of
this file is /etc/mydns.conf.
A mydns.conf might look something like this:
# /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.

DATABASEINFORMATION

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.

GENERALOPTIONS

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.

CACHEOPTIONS

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? (notrecommended)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.