13.2. Turning On Debugging
Name server debugging can be started either
from the command line or with control messages. If you need to see
the startup information to diagnose your current problem,
you'll have to use the command-line option. If you want to
start debugging on a name server that is already running or if you
want to turn off debugging, you'll have to use controls. The
name server writes its debugging output to
named.run. BIND 4 name
servers create
named.run in
/usr/tmp (or
/var/tmp), and
BIND 8 and 9 name servers create it in the name server's
working directory.
13.2.1. Debugging Command-Line Option
When
troubleshooting, you sometimes need to see the sortlist, know which
interface a file descriptor is bound to, or find out where in the
initialization stage the name server was when it exited (if the
syslog error message wasn't clear enough).
To see this kind of debugging information, you'll have to start
debugging with a command-line option; by the time you send a control
message, it will be too late. The command-line option for debugging
is
-d level. When you use the command-line
option to turn on debugging, a BIND 4 name server will not go into
the background as it does normally; you'll have to add the
& at the end of your command line to get your shell prompt back.
Here's how to start a BIND 4 name server at debugging level 1:
# /etc/named -d 1 &
BIND 8 and 9 name servers go into the background even when you
specify
-d, so there's no need for the
&.
13.2.2. Changing the Debugging Level with Control Messages
If you don't need
to see the name server's initialization, start your name server
without the debugging command-line option. You can later turn
debugging on and off by using
ndc to send the
appropriate control message to the name server process. Here, we set
debugging to level 3, then turn debugging off:
# ndc trace 3
# ndc notrace
And, as you might expect, if you turn on debugging from the command
line, you can still use
ndc to change the name
server's debug level.
BIND 9.1.0's rndc doesn't implement
the trace or notrace
arguments yet (nor does the 9.1.0 named ), but a
future version will. So if you're running BIND 9, use the
-d command-line option.
| | |
13. Reading BIND Debugging Output | | 13.3. Reading Debugging Output |