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