home | help
PDNSD-CTL(8)							    PDNSD-CTL(8)

NAME
     pdnsd-ctl - controls pdnsd

SYNOPSIS
     pdnsd-ctl [-c cachedir] [-q] command [arguments]

DESCRIPTION
     pdnsd-ctl	controls pdnsd, a proxy dns server with permanent caching.  Note
     that the status control socket must be enabled (by specifying an option  on
     the  pdnsd  command  line	or in the configuration file) before you can use
     pdnsd-ctl.

     -c cachedir
	    Set the cache directory to	cachedir  (must  match	pdnsd  setting).
	    This  is  only  necessary  if the directory differs from the default
	    specified at compile time.

     -q     Be quiet unless output is specified by the command or something goes
	    wrong.

COMMANDS
     help   [no arguments]

	    Print a command summary.

     version [no arguments]

	    Print version and license info.

     status [no arguments]

	    Print a description of pdnsd's cache status, thread status and  con-
	    figuration.   Also shows which remote name servers are assumed to be
	    available.

     server (index|label) (up|down|retest) [dns1[,dns2[,...]]]

	    Set the status of the servers with the given index or label to up or
	    down, or force a retest. The index is assigned in the order of defi-
	    nition in pdnsd.conf starting with 0. Use the status command to view
	    the indexes. You can specify all instead of an index to perform  the
	    action for all servers registered with pdnsd.

	    An	optional  third argument can be given consisting of a list of IP
	    addresses separated by commas or white-space characters.  This  list
	    will  replace  the	addresses  of name servers used by pdnsd for the
	    given server section. This feature is useful for run-time configura-
	    tion of pdnsd with dynamic DNS data in scripts called by ppp or DHCP
	    clients. The last argument may also be an empty string, which causes
	    existing IP addresses to be removed  and  the  corresponding  server
	    section to become inactive.

     record name (delete|invalidate)

	    Delete  or	invalidate the records of the given domain name if it is
	    in the cache.  Invalidation means that the	records  are  marked  as
	    timed  out,  and  will  be	reloaded  if possible. For local records
	    (i.e., records that were given in the config file using  a	rr  sec-
	    tion,  records  read from a hosts-style file and records added using
	    pdnsd-ctl), invalidation has no effect. Deletion will work, though.

     source fn owner [ttl] [(on|off)] [noauth]

	    Load a hosts-style file. Works like using the pdnsd source	configu-
	    ration  section.   Owner  and ttl are used as in the source section.
	    ttl has a default of 900 (it does not need	to  be	specified).  The
	    next  to  last argument corresponds to the serve_aliases option, and
	    is off by default.	noauth is used to make the domains  non-authori-
	    tative  (this  is similar to setting authrec=off in the config file,
	    please consult the pdnsd.conf(5) man page for what that means).   fn
	    is the name of the file, which must be readable by pdnsd.

     add    a addr name [ttl] [noauth]

     add    aaaa addr name [ttl] [noauth]

     add    ptr host name [ttl] [noauth]

     add    cname host name [ttl] [noauth]

     add    mx host name pref [ttl] [noauth]

	    Add  a record of the given type to the pdnsd cache, replacing exist-
	    ing records for the same name and type. The 2nd argument corresponds
	    to the value of the option in the rr section that is named like  the
	    first  argument.  The  addr  argument may be a list of IP addresses,
	    separated by commas or white space.  The ttl is  optional,	the  de-
	    fault  is  900  seconds.  noauth is used to make the domains non-au-
	    thoritative (this is similar to setting authrec=off  in  the  config
	    file,  please  consult  the  pdnsd.conf(5)	man  page  for what that
	    means).  If you want no other record than the  newly  added  in  the
	    cache, do pdnsd-ctl record name delete before adding records.

     neg    name [type] [ttl]

	    Add  a negatively cached record to pdnsd's cache, replacing existing
	    records for the same name and type. If no type is given,  the  whole
	    domain  is	cached negatively. For negatively cached records, errors
	    are immediately returned on a query, without querying other  servers
	    first.  The ttl is optional, the default is 900 seconds.

     config filename

	    Reload pdnsd's configuration file.
	    The  config file must be owned by the uid that pdnsd had when it was
	    started, and be readable by pdnsd's run_as uid.  If no file name  is
	    specified,	the config file used at start-up is reloaded.  Note that
	    some configuration changes, like the port or IP address  pdnsd  lis-
	    tens  on, cannot be made this way and you will receive an error mes-
	    sage.  In these cases, you will have to restart pdnsd instead.

     include filename

	    Parse an include file.
	    The include file may contain the same type of sections as  a  config
	    file,  expect for global and server sections, which are not allowed.
	    This command can be used to add data to the cache without  reconfig-
	    uring pdnsd.

     eval   string

	    Parse a string as if part of an include file.
	    The  string should hold one or more complete configuration sections,
	    but no global and server sections, which are not allowed.  If multi-
	    ple strings are given, they will be joined using newline  chars  and
	    parsed together.

     empty-cache [[+|-]name ...]

	    Delete all entries in the cache matching include/exclude rules.
	    If no arguments are provided, the cache is completely emptied, free-
	    ing  all  existing	entries.   Note  that  this  also  removes local
	    records, as defined by the config file.  To restore  local	records,
	    run "pdnsd-ctl config" immediately afterwards.
	    If	one or more arguments are provided, these are interpreted as in-
	    clude/exclude names. If an argument starts with a '+' the name is to
	    be included. If an argument starts with a '-' it is to be  excluded.
	    If an argument does not begin with '+' or '-', a '+' is assumed.  If
	    the  domain  name  of  a cache entry ends in one of the names in the
	    list, the first match will determine what happens. If  the	matching
	    name is to be included, the cache entry is deleted, otherwise it re-
	    mains.   If  there	are  no  matches,  the	default action is not to
	    delete.

     dump   [name]

	    Print information stored in the cache about name.	If  name  begins
	    with  a  dot and is not the root domain, information about the names
	    in the cache ending in name (including name without the leading dot)
	    will be printed.  If name is not specified,  information  about  all
	    the names in the cache will be printed.

     list-rrtypes [no arguments]

	    List  available  rr  types	for the neg command. Note that those are
	    only used for the neg command, not for add!

BUGS
     If you pipe the output of dump command through an	application  that  reads
     only  part  of  the  output  and  then blocks (such as more or less), pdnsd
     threads trying to add new entries to the cache will be suspended until  the
     pipe is closed.  It is preferable to capture the output in a file in such a
     case.
     Report any remaining bugs to the authors.

AUTHORS
     Thomas Moestl <tmoestl@gmx.net>
     Paul  A.  Rombouts  <p.a.rombouts@home.nl>  (for  versions  1.1.8b1-par and
     later)

     Last revised: 04 Sep 2008 by Paul A. Rombouts.

SEE ALSO
     pdnsd(8), pdnsd.conf(5)

pdnsd 1.2.9a-par		    Sep 2008			    PDNSD-CTL(8)

home | help