pdnsd [-h] [-V] [-s] [-d] [-g] [-t] [-p file] [-vn] [-mxx] [-c file] [-4] [-6] [-a]
This man page is an extract of the documentation of pdnsd. For complete, current documentation, refer to the HTML (or plain text) documentation (which you can find in the doc/ subdirectory of the source or in a standard documentation directory, typically /usr/share/doc/pdnsd/ if you are using a binary package).
pdnsd is a IPv6 capable proxy domain name server (DNS) which saves the contents of its DNS cache to the disk on exit.
Additionally, "no" can be prepended to the --status, --daemon, --debug and --tcp options (e.g. --notcp) to reverse their effect.
pdnsd is usually run from a startup script. For pdnsd to work, You need to:-
For this, put the following line in your /etc/resolv.conf
where X can be any number. (I use 3). Comment out all other
entries. You should put the same value in the server_ip= line in
global section of /etc/pdnsd.conf.
If you want to use pdnsd as the DNS server for a small local network, you should use the IP address or name of the interface connected to this network instead of 127.0.0.X.
To tell pdnsd where to get DNS information from, add the following lines in /etc/pdnsd.conf:-
Note the opening and closing braces. Add more such server sections for each set of DNS servers you want pdnsd to query. Of course the configuration options shown here are just examples. More examples can be found in /etc/pdnsd.conf.sample or the pdnsd.conf in the documentation directory. See the pdnsd.conf(5) man page for all the possible options and their exact meaning.
If you use a dial up connection, remember that ppp scripts usually replace /etc/resolv.conf when connection with the ISP is established. You need to configure ppp (or whatever you use to establish a connection) so that /etc/resolv.conf is not replaced every time a connection is established. Read the documentation for the scripts run when your network comes up.
If you use pppconfig, specify `none' in the `nameservers' option in the `advanced' tab. If you use multiple ISPs, you should do this for each connection/account.
If you use multiple ISPs, you should tell pdnsd which DNS servers have become available by calling pdnsd-ctl, the pdnsd control utility, in a script (e.g. /etc/ppp/ip-up when you use pppd) that is run when the connection is established. If the addresses of the DNS servers are obtained through some type of dynamic configuration protocol (e.g. pppd with the usepeerdns option or a DHCP client), you can pass the DNS server addresses as an extra argument to pdnsd-ctl to configure pdnsd at run time. See the pdnsd-ctl(8) man page for details.
/etc/pdnsd.conf is the pdnsd configuration file. The file format and configuration options are described in the pdnsd.conf(5) man page. You can find examples of almost all options in /etc/pdnsd.conf.sample.
/var/cache/pdnsd/pdnsd.status is the status control socket, which must be enabled before you can use pdnsd-ctl.
/etc/init.d/pdnsd (the name and location of the start-up script may be different depending on your distribution.)
/etc/defaults/pdnsd contains additional parameters or options which may be passed to pdnsd at boot time. This saves the hassle of fiddling with initscripts (not available on all distributions).
The verbosity option
presently does not seem to have much effect on the amount of debug output.
Report any remaining bugs to the authors.
pdnsd should comply with RFCs 1034 and 1035. As of version 1.0.0, RFC compliance has been improved and pdnsd is now believed (or hoped?) to be fully RFC compatible. It completely follows RFC 2181 (except for one minor issue in the FreeBSD port, see the documentation).
It does NOT support the following features, of which most are marked optional, experimental or obsolete in these RFCs:
The following record types, that are extensions to the original DNS standard, are supported if given as options at compile time. (if you do not need them, you do not need to compile support for them into pdnsd and save cache and executable space):
pdnsd-ctl(8), pdnsd.conf(5), pppconfig(8), resolv.conf(5)
More documentation is available in the doc/ subdirectory of the source, or in /usr/share/doc/pdnsd/ if you are using a binary package.
pdnsd was originally written by Thomas Moestl, <firstname.lastname@example.org>, and was extensively revised by Paul Rombouts <email@example.com> (for versions 1.1.8b1-par and later).
Several others have contributed to pdnsd; see files in the source or /usr/share/doc/pdnsd/ directory.
This man page was written by Mahesh T. Pai <firstname.lastname@example.org> using the documents in /usr/share/docs/pdnsd/ directory for Debian, but can be used on other distributions too.
Last revised: 22 Jul 2007 by Paul Rombouts.
This man page is a part of the pdnsd package, and may be distributed in original or modified form under terms of the GNU General Public License, as published by the Free Software Foundation; either version 3, or (at your option) any later version.
You can find a copy of the GNU GPL in the file COPYING in the source or the /usr/share/common-licenses/ directory if you are using a Debian system.