DNRD(8)

NAME
dnrd - proxy name server

SYNOPSIS

dnrd
    [-a localaddress|--address=localaddress] [-c (off|[low:]high)|--cache=(off|[low:]high)] [-d|--debug] [-h|--help] [-k|--kill] [-m (off|hosts)|--master=(off|hosts)] [-s ipaddr(:domain)|--server=ipaddr(:domain)] [-u userid|--uid=userid] [-v|--version]

DESCRIPTION
This manual page documents version 1.5 of dnrd . dnrd is a proxying nameserver. It forwards DNS queries to the appropriate nameserver, but can also act as the primary nameserver for a few machines. Proxying is configured on the command line using the -s option. By default, dnrd will act as the primary nameserver for hosts found in /etc/hosts.

OPTIONS

-a

--address
    Bind only to the interface with the specified address. This is a security feature.

-c (off|[low:]high)

--cache=(off|[low:]high)
    This option can be used to either turn off caching of DNS responses, or to change the high and low watermarks. The high water mark is the number of cached DNS responses that will be kept before we start dropping entries. The low water mark is the number of entries to keep around after we've started dropping entries. By default, caching is on, with low and high watermarks of 800 and 1000 respectively.

-d

--debug
    This turns on debugging. The dnrd process will run in the current console and print out debugging information. If the option is given twice, it will also dump out the raw packet contents.

-h

--help
    Prints out usage information

-k

--kill
    Kills the currently running dnrd process and immediately returns.

-m (off|hosts)

--master=(off|hosts)
    dnrd can act as the primary name server for a number of hosts. By default, it will read in /etc/dnrd/master to determine how this is done. If that file doesn't exist, it will act as the primary server for the hosts found in /etc/hosts. This option allows you to override this default behavior. Setting it to off turns off all primary server functionality. Setting it to hosts causes dnrd to act as the primary server for hosts in /etc/hosts regardless of whether it could find /etc/dnrd/master.

-s ipaddr(:domain)

--server=ipaddr(:domain)
    This option is used to tell dnrd where to forward DNS queries. If multiple -s options are given with no domain names, then dnrd will treat these as redundant DNS servers, and will switch between them whenever the current one stops responding.

    The domain option allows dnrd to determine which DNS server should get the query based on the domain name in the query. This is useful when you have an internet connection and a vpn connection to work, for instance. In this case, all the -s options should have a domain defined, except for the last one, which will act as the "default" name server.

-u userid

--userid=userid
    By default, dnrd switches to uid 65535 after starting up. This is a security feature. If dnrd is ever compromised by a buffer-overflow attack, the attacker will have gained no useful privileges. The default uid can be overridden using this option. userid can either be a name or a number.

-v

--version
    Prints out the version number

FILES

/etc/dnrd/master

This file is used to configure dnrd as a primary nameserver.

/etc/hosts

By default, dnrd will act as a primary nameserver for hosts found in this file.

/var/run/dnrd.pid

The currently-running dnrd process' pid is placed into this file. It is needed to allow new dnrd processes to find and kill the currently running process.

AUTHOR

The original version of dnrd was written by Brad Garcia garsh@home.com. Other contributors are listed in the HISTORY file included with the source code.