NAME
lwresd — lightweight resolver daemon
SYNOPSIS
lwresd
[-C
config-file]
[-d
debuglevel]
[-fgs]
[-i
pid-file]
[-n
#cpus]
[-P
query-port#]
[-p
port#]
[-t
directory]
[-u
user-id]
DESCRIPTION
lwresd
is the daemon providing name lookup services to clients that use
the BIND 9 lightweight resolver library.
It is essentially a stripped-down, caching-only name server that
answers queries using the BIND 9 lightweight resolver protocol
rather than the DNS protocol.
lwresd
listens for resolver queries on a UDP port on the IPv4 loopback
interface, 127.0.0.1.
This means that
lwresd
can only be used by processes running on the local machine.
By default, UDP port number 921 is used for lightweight resolver
requests and responses.
Incoming lightweight resolver requests are decoded by
lwresd
which then resolves them using the DNS protocol.
When the DNS lookup completes,
lwresd
encodes the answers from the name servers in the lightweight
resolver format and returns them to the client that made the original
request.
If
/etc/resolv.conf
contains any
nameserver
entries,
lwresd
sends recursive DNS queries to those servers. This
is similar to the use of forwarders in a caching name
server. If no
nameserver
entries are present, or if forwarding fails,
lwresd
resolves the queries autonomously starting at the
root name servers, using a compiled-in list of root
servers hints.
Options
- -C config-file
This option is used to use
config-file
as the configuration file instead of the default,
/etc/resolv.conf.
- -d debuglevel
This option is used to
set the daemon's debug level to
debuglevel.
Debugging traces from
lwresd
become more verbose as the debug level increases.
- -f
This option is used to run
lwresd
in the foreground.
- -g
This option is used to run
lwresd
in the foreground and force all logging to
stderr.
- -i pid-file
This option is used to write the daemon's process id to
pid-file
instead of the default pathname.
- -n #cpus
This option is used to create
#cpus
worker threads to take advantage of multiple CPUs.
If no option is given,
lwresd
will try to determine the number of CPUs present and create
one thread per CPU. If
lwresd
is unable to determine the number of CPUs, a single worker thread
is created.
- -P query-port#
This option is used to send DNS lookups to port number
query-port#
when querying name servers.
This provides a way of testing the lightweight resolver daemon with a
name server that listens for queries on a non-standard port number.
- -p port#
This option is used to listen for lightweight resolver queries on the
loopback interface using UDP port
port#
instead of the default port number, 921.
- -s
This option is used to write memory usage statistics to
stdout
on exit.
This option is only of interest to BIND 9 developers and may be
removed or changed in a future release.
- -t directory
This option tells
lwresd
to
chroot()
to
directory
immediately after reading its configuration file.
- -u user-id
This option is used to run
lwresd
as
user-id,
which is a user name or numeric id that must be present in the
password file.
The lightweight resolver daemon will change its
user-id
after it has
carried out any privileged operations, such as writing the process-id
file or binding a socket to a privileged port (typically any port
less than 1024).
Notes
lwresd
is a daemon for lightweight resolvers, not a lightweight daemon
for resolvers.
FILES
- /etc/lwresd.conf
Default configuration file
- /var/run/lwresd.pid
Default process-id file