---
name: "mydns.conf"
section: "5"
platform: "linux"
package: "mydns-mysql"
version: "1:1.1.0-7etch1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/mydns.conf"
---

# mydns.conf(5)

mydns(8) configuration file.

## NAME

mydns.conf - [**mydns**(8)](/mydns/8.md) configuration file.

## DESCRIPTION

**mydns.conf** is read by [**mydns**(8)](/mydns/8.md) 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)](/mydns/8.md) 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)](/mydns/8.md) 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

*/etc/mydns.conf*

The default location of the configuration file.

## SEE ALSO

[**mydns**(8)](/mydns/8.md)
